/*
 * Tradiency Phase B visual-system foundation.
 *
 * This source file is opt-in. Consuming templates call
 * tradiency_enqueue_visual_system_style() before get_header(); the homepage
 * is the first consumer. Keep page composition in page-owned stylesheets.
 */

/* Foundation tokens */
:root {
    --td-vs-night-ledger: #080b0e;
    --td-vs-carbon: #11161b;
    --td-vs-steel: #1a222a;
    --td-vs-steel-soft: #202a32;
    --td-vs-document: #eff2f1;
    --td-vs-document-ink: #11161b;
    --td-vs-slate: #98a4ae;
    --td-vs-slate-strong: #bac3ca;
    --td-vs-permission: #c7a05b;
    --td-vs-permission-ink: #100d08;
    --td-vs-context: #6f8ea4;
    --td-vs-line: #2b363e;
    --td-vs-line-strong: #43515b;
    --td-vs-line-soft: rgba(152, 164, 174, 0.16);
    --td-vs-grid-line: rgba(152, 164, 174, 0.075);

    --td-vs-font-sans: "IBM Plex Sans", "Inter", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, sans-serif;
    --td-vs-font-mono: "IBM Plex Mono", "SFMono-Regular", Consolas, "Liberation Mono", monospace;

    --td-vs-space-1: 0.5rem;
    --td-vs-space-2: 1rem;
    --td-vs-space-3: 1.5rem;
    --td-vs-space-4: 2rem;
    --td-vs-space-5: 3rem;
    --td-vs-space-6: 4rem;
    --td-vs-space-7: 6rem;

    --td-vs-radius-sm: 0.25rem;
    --td-vs-radius-md: 0.5rem;
    --td-vs-radius-lg: 0.75rem;
    --td-vs-border: 1px solid var(--td-vs-line);
    --td-vs-shadow-surface: 0 1rem 2.5rem rgba(0, 0, 0, 0.2);
    --td-vs-shadow-overlay: 0 1.5rem 4rem rgba(0, 0, 0, 0.3);
    --td-vs-focus:
        0 0 0 2px var(--td-vs-night-ledger),
        0 0 0 5px var(--td-vs-document),
        0 0 0 7px var(--td-vs-permission);
    --td-vs-motion-fast: 180ms cubic-bezier(0.2, 0.75, 0.2, 1);
    --td-vs-container: 78rem;
}

/* Opt-in root and layout primitives */
.td-vs-root {
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
}

.td-vs-root,
.td-vs-root *,
.td-vs-root *::before,
.td-vs-root *::after {
    box-sizing: border-box;
}

.td-vs-container {
    width: min(var(--td-vs-container), calc(100% - clamp(1.5rem, 5vw, 4rem)));
    margin-inline: auto;
}

.td-vs-section {
    padding-block: var(--td-vs-section-space, clamp(4rem, 8vw, 6rem));
}

.td-vs-section--compact,
.td-section--compact {
    --td-vs-section-space: clamp(2.5rem, 5vw, 3.5rem);
}

.td-vs-section--standard,
.td-section--standard {
    --td-vs-section-space: clamp(4rem, 8vw, 6rem);
}

.td-vs-section--feature,
.td-section--feature {
    --td-vs-section-space: clamp(5rem, 10vw, 8rem);
}

.td-vs-section--hero {
    padding-block: clamp(5rem, 10vw, 8rem) clamp(4rem, 8vw, 6rem);
}

.td-vs-section--dense {
    --td-vs-section-space: clamp(3rem, 6vw, 4.5rem);
}

.td-vs-section--diagram {
    background: var(--td-vs-night-ledger);
}

.td-vs-section--curriculum {
    background: var(--td-vs-carbon);
}

.td-vs-section--split {
    display: grid;
    grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.1fr);
    gap: clamp(2rem, 5vw, 5rem);
    align-items: start;
}

.td-vs-section--dark {
    background: var(--td-vs-night-ledger);
    color: var(--td-vs-document);
}

.td-vs-section--final {
    padding-block: clamp(3.5rem, 7vw, 5rem);
    border-block: var(--td-vs-border);
    background: var(--td-vs-carbon);
}

.td-vs-grid {
    display: grid;
    gap: var(--td-vs-grid-gap, var(--td-vs-space-3));
}

.td-vs-grid--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.td-vs-grid--3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.td-vs-grid--asymmetric {
    grid-template-columns: minmax(0, 1.2fr) minmax(18rem, 0.8fr);
}

.td-vs-stack {
    display: flex;
    flex-direction: column;
    gap: var(--td-vs-stack-gap, var(--td-vs-space-3));
}

.td-vs-cluster {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: var(--td-vs-cluster-gap, var(--td-vs-space-2));
}

.td-vs-reading-shell {
    width: min(100%, 72ch);
    margin-inline: auto;
}

.td-vs-section-head {
    display: grid;
    grid-template-columns: minmax(0, 1.1fr) minmax(16rem, 0.7fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: end;
    margin-block-end: clamp(1.75rem, 4vw, 3rem);
}

.td-vs-section-head > * {
    min-width: 0;
}

.td-vs-section-head h2,
.td-vs-section-head h3,
.td-vs-section-head h4 {
    max-width: 18ch;
    margin: 0;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: clamp(1.8rem, 4vw, 3.25rem);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.03;
    text-wrap: balance;
}

.td-vs-section-head > p {
    max-width: 42ch;
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 1rem;
    line-height: 1.65;
    text-wrap: pretty;
}

/* Shared content and surface primitives */
.td-vs-kicker {
    margin: 0 0 0.65rem;
    color: var(--td-vs-slate-strong);
    font-family: var(--td-vs-font-mono);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    line-height: 1.35;
    text-transform: uppercase;
}

.td-vs-caption {
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 0.8125rem;
    line-height: 1.55;
}

.td-vs-surface,
.td-vs-card {
    min-width: 0;
    border: var(--td-vs-border);
    border-radius: var(--td-vs-radius-lg);
    background: var(--td-vs-carbon);
    color: var(--td-vs-document);
    box-shadow: var(--td-vs-shadow-surface);
}

.td-vs-surface--document {
    border-color: #c8d0d4;
    background: var(--td-vs-document);
    color: var(--td-vs-document-ink);
}

.td-vs-surface--console,
.td-vs-surface--dark {
    background: var(--td-vs-night-ledger);
}

.td-vs-data-row {
    display: grid;
    grid-template-columns: minmax(7rem, 0.4fr) minmax(0, 1fr);
    gap: var(--td-vs-space-2);
    padding-block: var(--td-vs-space-2);
    border-block-end: 1px solid var(--td-vs-line-soft);
}

.td-vs-status {
    display: inline-flex;
    align-items: center;
    min-height: 1.75rem;
    width: fit-content;
    max-width: 100%;
    padding: 0.28rem 0.48rem;
    border: 1px solid var(--td-vs-line-strong);
    border-radius: var(--td-vs-radius-sm);
    background: transparent;
    color: var(--td-vs-slate-strong);
    font-family: var(--td-vs-font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    line-height: 1.25;
    text-transform: uppercase;
}

.td-vs-status--representative {
    border-color: var(--td-vs-context);
    color: #bfd0db;
}

.td-vs-status--development {
    border-style: dashed;
    color: var(--td-vs-document);
}

.td-vs-status--sanitized,
.td-vs-status--verified {
    border-color: var(--td-vs-permission);
    color: #e2c58d;
}

.td-vs-divider {
    width: 100%;
    height: 1px;
    border: 0;
    background: var(--td-vs-line);
}

.td-vs-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    max-width: 100%;
    padding: 0.78rem 1.1rem;
    border: 1px solid transparent;
    border-radius: var(--td-vs-radius-md);
    color: inherit;
    font-family: var(--td-vs-font-sans);
    font-size: 0.9375rem;
    font-weight: 650;
    line-height: 1.2;
    text-align: center;
    text-decoration: none;
    transition:
        background-color var(--td-vs-motion-fast),
        border-color var(--td-vs-motion-fast),
        color var(--td-vs-motion-fast),
        transform var(--td-vs-motion-fast);
}

.td-vs-button--primary {
    border-color: var(--td-vs-permission);
    background: var(--td-vs-permission);
    color: var(--td-vs-permission-ink);
}

.td-vs-button--primary:hover {
    border-color: #ddbd7e;
    background: #ddbd7e;
    color: var(--td-vs-permission-ink);
}

.td-vs-button--secondary {
    border-color: var(--td-vs-line-strong);
    background: transparent;
    color: var(--td-vs-document);
}

.td-vs-button--secondary:hover {
    border-color: var(--td-vs-slate-strong);
    background: var(--td-vs-steel);
    color: var(--td-vs-document);
}

.td-vs-button:focus-visible,
.td-recovery-block a:focus-visible {
    outline: 0;
    box-shadow: var(--td-vs-focus);
}

/* Decision Console */
.td-decision-console {
    position: relative;
    padding: clamp(1rem, 3vw, 1.75rem);
    overflow: hidden;
    border-block-start: 3px solid var(--td-vs-permission);
    background-image: linear-gradient(var(--td-vs-grid-line) 1px, transparent 1px);
    background-size: 100% 2.5rem;
}

.td-decision-console::after {
    content: "TD / DECISION RECORD";
    position: absolute;
    inset: auto 1rem 0.65rem auto;
    color: rgba(152, 164, 174, 0.28);
    font-family: var(--td-vs-font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.08em;
    pointer-events: none;
}

.td-decision-console__header {
    position: relative;
    display: flex;
    gap: var(--td-vs-space-2);
    align-items: flex-start;
    justify-content: space-between;
    padding-block-end: var(--td-vs-space-3);
    border-block-end: 1px solid var(--td-vs-line);
}

.td-decision-console__title {
    margin: 0;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: clamp(1.45rem, 3vw, 2.25rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.08;
}

.td-decision-console__rows {
    margin: 0;
}

.td-decision-console__row {
    --td-vs-row-accent: var(--td-vs-line-strong);
    display: grid;
    grid-template-columns: minmax(8rem, 0.36fr) minmax(0, 1fr);
    gap: var(--td-vs-space-3);
    min-width: 0;
    padding: 1rem 0 1rem 0.75rem;
    border-block-end: 1px solid var(--td-vs-line-soft);
    border-inline-start: 2px solid var(--td-vs-row-accent);
}

.td-decision-console__row:first-child {
    --td-vs-row-accent: var(--td-vs-context);
}

.td-decision-console__row:last-child {
    --td-vs-row-accent: var(--td-vs-permission);
}

.td-decision-console__row dt,
.td-decision-console__row dd {
    min-width: 0;
    margin: 0;
}

.td-decision-console__row dt {
    display: flex;
    gap: 0.65rem;
    align-items: baseline;
}

.td-decision-console__row dd {
    display: grid;
    grid-template-columns: minmax(7rem, 0.32fr) minmax(0, 1fr);
    gap: var(--td-vs-space-2);
    align-items: baseline;
}

.td-decision-console__code,
.td-decision-console__state {
    font-family: var(--td-vs-font-mono);
}

.td-decision-console__code {
    color: var(--td-vs-row-accent);
    font-size: 0.6875rem;
    font-weight: 700;
}

.td-decision-console__stage {
    color: var(--td-vs-document);
    font-size: 0.9375rem;
    font-weight: 650;
}

.td-decision-console__state {
    color: var(--td-vs-slate-strong);
    font-size: 0.75rem;
    font-weight: 600;
    letter-spacing: 0.03em;
    text-transform: uppercase;
}

.td-decision-console__summary {
    display: block;
    color: var(--td-vs-slate-strong);
    font-size: 0.9375rem;
    line-height: 1.55;
}

.td-decision-console__detail {
    min-width: 0;
}

.td-decision-console__evidence {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem;
    margin: 0.65rem 0 0;
    padding: 0;
    list-style: none;
}

.td-decision-console__evidence li {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 0.35rem;
    min-width: 0;
    padding: 0.35rem 0.45rem;
    border: 1px solid var(--td-vs-line);
    border-radius: var(--td-vs-radius-sm);
    background: var(--td-vs-night-ledger);
    font-family: var(--td-vs-font-mono);
    font-size: 0.625rem;
    line-height: 1.35;
}

.td-decision-console__evidence li span {
    color: var(--td-vs-slate);
    text-transform: uppercase;
}

.td-decision-console__evidence li strong {
    color: var(--td-vs-document);
    font-weight: 600;
}

.td-decision-console__outcome {
    display: grid;
    grid-template-columns: minmax(8rem, 0.36fr) minmax(0, 1fr);
    gap: var(--td-vs-space-3);
    padding: var(--td-vs-space-3);
    border: 1px solid var(--td-vs-permission);
    border-block-start-width: 3px;
    background: var(--td-vs-carbon);
}

.td-decision-console__outcome span,
.td-decision-console__review span {
    color: var(--td-vs-slate-strong);
    font-family: var(--td-vs-font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.td-decision-console__outcome strong {
    display: block;
    color: #e2c58d;
    font-size: clamp(1rem, 2vw, 1.25rem);
    font-weight: 650;
}

.td-decision-console__outcome p {
    margin: 0.35rem 0 0;
    color: var(--td-vs-slate-strong);
    font-size: 0.8125rem;
    line-height: 1.45;
}

.td-decision-console__review {
    display: grid;
    grid-template-columns: minmax(8rem, 0.36fr) minmax(0, 1fr);
    gap: var(--td-vs-space-3);
    margin-block: var(--td-vs-space-2);
    padding: var(--td-vs-space-2) var(--td-vs-space-3);
    border-inline-start: 2px solid var(--td-vs-context);
    background: rgba(111, 142, 164, 0.08);
}

.td-decision-console__review p {
    margin: 0;
    color: var(--td-vs-document);
    font-size: 0.9375rem;
    line-height: 1.55;
}

.td-decision-console__review ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.4rem 1rem;
    margin: 0.6rem 0 0;
    padding: 0;
    list-style: none;
}

.td-decision-console__review li {
    position: relative;
    padding-inline-start: 0.8rem;
    color: var(--td-vs-slate-strong);
    font-family: var(--td-vs-font-mono);
    font-size: 0.6875rem;
    line-height: 1.4;
}

.td-decision-console__review li::before {
    content: "";
    position: absolute;
    inset: 0.45em auto auto 0;
    width: 0.35rem;
    height: 0.35rem;
    border: 1px solid var(--td-vs-context);
    border-radius: 50%;
}

/* Permission Gate docket */
.td-permission-docket {
    margin: 0;
    padding: clamp(1.25rem, 4vw, 2.5rem);
    border-radius: var(--td-vs-radius-sm);
    box-shadow: var(--td-vs-shadow-overlay);
}

.td-permission-docket__caption {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, 0.55fr);
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: end;
    margin-block-end: var(--td-vs-space-4);
    padding-block-end: var(--td-vs-space-3);
    border-block-end: 1px solid var(--td-vs-line);
}

.td-permission-docket__caption .td-vs-kicker,
.td-permission-docket__caption h2,
.td-permission-docket__caption h3,
.td-permission-docket__caption h4 {
    grid-column: 1;
}

.td-permission-docket__caption h2,
.td-permission-docket__caption h3,
.td-permission-docket__caption h4 {
    margin: -0.2rem 0 0;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: clamp(1.75rem, 4vw, 3rem);
    font-weight: 600;
    letter-spacing: -0.035em;
    line-height: 1.04;
}

.td-permission-docket__caption > p:last-child {
    grid-column: 2;
    grid-row: 1 / span 2;
    align-self: end;
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 1rem;
    line-height: 1.65;
}

.td-permission-docket__stages {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.td-permission-stage {
    --td-vs-stage-accent: var(--td-vs-line-strong);
    position: relative;
    min-width: 0;
    padding: 1rem;
    border-block-start: 3px solid var(--td-vs-stage-accent);
    border-inline-end: 1px solid var(--td-vs-line);
    background: var(--td-vs-carbon);
}

.td-permission-stage:first-child {
    --td-vs-stage-accent: var(--td-vs-context);
    border-inline-start: 1px solid var(--td-vs-line);
}

.td-permission-stage:last-child {
    --td-vs-stage-accent: var(--td-vs-permission);
}

.td-permission-stage__header {
    display: flex;
    gap: 0.65rem;
    align-items: baseline;
    margin-block-end: 0.9rem;
}

.td-permission-stage__code {
    color: var(--td-vs-slate-strong);
    font-family: var(--td-vs-font-mono);
    font-size: 0.6875rem;
    font-weight: 700;
}

.td-permission-stage h3 {
    margin: 0;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.2;
}

.td-permission-stage__question {
    min-height: 7.5em;
    margin: 0 0 1rem;
    color: var(--td-vs-document);
    font-size: 0.875rem;
    line-height: 1.5;
}

.td-permission-stage__details {
    display: grid;
    gap: 0.8rem;
    margin: 0;
}

.td-permission-stage__details div {
    padding-block-start: 0.65rem;
    border-block-start: 1px solid var(--td-vs-line-soft);
}

.td-permission-stage__details dt {
    margin: 0 0 0.25rem;
    color: var(--td-vs-slate);
    font-family: var(--td-vs-font-mono);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.td-permission-stage__details dd {
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 0.8125rem;
    line-height: 1.5;
}

.td-permission-docket__review {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) minmax(15rem, 0.55fr);
    gap: var(--td-vs-space-3);
    align-items: start;
    width: calc(100% - clamp(0rem, 8vw, 6rem));
    margin: var(--td-vs-space-3) 0 0 auto;
    padding: var(--td-vs-space-3);
    border: 1px solid var(--td-vs-context);
    border-inline-start-width: 3px;
    background: rgba(111, 142, 164, 0.075);
}

.td-permission-docket__review-index {
    display: grid;
    place-items: center;
    width: 2rem;
    height: 2rem;
    border: 1px solid var(--td-vs-context);
    border-radius: var(--td-vs-radius-sm);
    color: #bfd0db;
    font-family: var(--td-vs-font-mono);
    font-size: 0.75rem;
    font-weight: 700;
}

.td-permission-docket__review h3 {
    margin: 0 0 0.4rem;
    color: var(--td-vs-document);
    font-size: 1.2rem;
    font-weight: 650;
}

.td-permission-docket__review p:not(.td-vs-kicker) {
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 0.9375rem;
    line-height: 1.55;
}

.td-permission-docket__review dl {
    display: grid;
    gap: 0.7rem;
    margin: 0;
}

.td-permission-docket__review dl div {
    padding-block-end: 0.65rem;
    border-block-end: 1px solid var(--td-vs-line-soft);
}

.td-permission-docket__review dt {
    margin: 0 0 0.2rem;
    color: var(--td-vs-slate);
    font-family: var(--td-vs-font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.td-permission-docket__review dd {
    margin: 0;
    color: var(--td-vs-document);
    font-size: 0.8125rem;
    line-height: 1.45;
}

/* Representative market map */
.td-market-map--research {
    display: grid;
    grid-template-columns: minmax(16rem, 0.7fr) minmax(0, 1.3fr);
    gap: clamp(1.5rem, 4vw, 3rem);
    min-height: 0;
    padding: clamp(1rem, 3vw, 2rem);
    overflow: hidden;
    border-radius: var(--td-vs-radius-lg);
    background: var(--td-vs-carbon);
}

.td-market-map--research::before,
.td-market-map--research::after {
    content: none;
}

.td-market-map--research figcaption {
    align-self: center;
}

.td-market-map--research figcaption h2,
.td-market-map--research figcaption h3,
.td-market-map--research figcaption h4 {
    margin: 0 0 0.75rem;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: clamp(1.35rem, 3vw, 2.15rem);
    font-weight: 600;
    line-height: 1.1;
}

.td-market-map--research figcaption > p:last-child {
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.td-market-map--research__plot {
    position: relative;
    min-height: 18rem;
    overflow: hidden;
    border: 1px solid var(--td-vs-line);
    border-radius: var(--td-vs-radius-md);
    background-color: var(--td-vs-night-ledger);
    background-image:
        linear-gradient(var(--td-vs-grid-line) 1px, transparent 1px),
        linear-gradient(90deg, var(--td-vs-grid-line) 1px, transparent 1px);
    background-size: 100% 2rem, 2rem 100%;
}

.td-market-map--research__plot span {
    position: absolute;
    display: block;
}

.td-market-map--research__band {
    inset-inline: 10%;
    border: 1px solid rgba(111, 142, 164, 0.42);
    background: rgba(111, 142, 164, 0.1);
}

.td-market-map--research__band--prior {
    inset-block: 18% auto;
    height: 19%;
}

.td-market-map--research__band--current {
    inset-block: 55% auto;
    height: 23%;
    border-color: var(--td-vs-line-strong);
    background: rgba(152, 164, 174, 0.07);
}

.td-market-map--research__reference {
    inset-inline: 7%;
    inset-block-start: 49%;
    height: 2px;
    background: var(--td-vs-context);
}

.td-market-map--research__event {
    inset-block: 8%;
    inset-inline-end: 22%;
    width: 1px;
    background: repeating-linear-gradient(
        to bottom,
        var(--td-vs-slate) 0 0.4rem,
        transparent 0.4rem 0.8rem
    );
}

.td-market-map--research__observation {
    width: 0.65rem;
    height: 0.65rem;
    border: 2px solid var(--td-vs-document);
    border-radius: 50%;
    background: var(--td-vs-night-ledger);
}

.td-market-map--research__observation--one {
    inset: 31% auto auto 34%;
}

.td-market-map--research__observation--two {
    inset: 66% 31% auto auto;
}

.td-market-map--research__legend {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    border: 1px solid var(--td-vs-line);
}

.td-market-map--research__legend div {
    min-width: 0;
    padding: 0.85rem;
    border-inline-end: 1px solid var(--td-vs-line);
}

.td-market-map--research__legend div:last-child {
    border-inline-end: 0;
}

.td-market-map--research__legend dt {
    margin: 0 0 0.25rem;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-mono);
    font-size: 0.6875rem;
    font-weight: 600;
    text-transform: uppercase;
}

.td-market-map--research__legend dd {
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 0.75rem;
    line-height: 1.4;
}

/* Curriculum artifact grid */
.td-curriculum-grid__items {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--td-vs-line);
    border-radius: var(--td-vs-radius-md);
    background: var(--td-vs-line);
}

.td-curriculum-card {
    min-width: 0;
    padding: 1rem;
    background: var(--td-vs-carbon);
}

.td-curriculum-card__header {
    display: flex;
    gap: 0.75rem;
    align-items: center;
    justify-content: space-between;
    margin-block-end: 0.8rem;
}

.td-curriculum-card__index,
.td-proof-card__index {
    color: var(--td-vs-context);
    font-family: var(--td-vs-font-mono);
    font-size: 0.6875rem;
    font-weight: 700;
}

.td-curriculum-card__motif {
    position: relative;
    height: 6.5rem;
    margin-block-end: 1rem;
    overflow: hidden;
    border: 1px solid var(--td-vs-line);
    background-color: var(--td-vs-night-ledger);
    background-image: linear-gradient(var(--td-vs-grid-line) 1px, transparent 1px);
    background-size: 100% 1.3rem;
}

.td-curriculum-card__motif span {
    position: absolute;
    display: block;
    background: var(--td-vs-line-strong);
}

.td-curriculum-card__motif span:nth-child(1) {
    inset: 22% 12% auto;
    height: 1px;
}

.td-curriculum-card__motif span:nth-child(2) {
    inset: 44% 22% auto 12%;
    height: 1px;
}

.td-curriculum-card__motif span:nth-child(3) {
    inset: 66% 12% auto 32%;
    height: 1px;
}

.td-curriculum-card__motif span:nth-child(4) {
    inset: 18% 18% 18% auto;
    width: 1px;
    background: var(--td-vs-context);
}

.td-curriculum-card__motif--auction span:nth-child(2),
.td-curriculum-card__motif--market-profile span:nth-child(2),
.td-curriculum-card__motif--volume-profile span:nth-child(2) {
    height: 1.1rem;
    border: 1px solid var(--td-vs-context);
    background: rgba(111, 142, 164, 0.1);
}

.td-curriculum-card__motif--market-profile span:nth-child(1) {
    inset-inline-end: 38%;
}

.td-curriculum-card__motif--market-profile span:nth-child(3) {
    inset-inline-end: 26%;
}

.td-curriculum-card__motif--volume-profile span:nth-child(1) {
    inset-inline-end: 52%;
    height: 0.45rem;
}

.td-curriculum-card__motif--volume-profile span:nth-child(2) {
    inset-inline-end: 20%;
}

.td-curriculum-card__motif--volume-profile span:nth-child(3) {
    inset-inline-end: 42%;
    height: 0.45rem;
}

.td-curriculum-card__motif--vwap span:nth-child(2) {
    inset-inline-end: 10%;
    height: 2px;
    background: var(--td-vs-context);
    transform: rotate(-7deg);
}

.td-curriculum-card__motif--order-flow span:nth-child(1),
.td-curriculum-card__motif--order-flow span:nth-child(2),
.td-curriculum-card__motif--order-flow span:nth-child(3) {
    width: 0.5rem;
    height: 0.5rem;
    border-radius: 50%;
    background: var(--td-vs-context);
}

.td-curriculum-card__motif--order-flow span:nth-child(1) {
    inset: 30% auto auto 24%;
}

.td-curriculum-card__motif--order-flow span:nth-child(2) {
    inset: 52% auto auto 48%;
}

.td-curriculum-card__motif--order-flow span:nth-child(3) {
    inset: 38% auto auto 70%;
}

.td-curriculum-card__motif--event-risk span:nth-child(4),
.td-curriculum-card__motif--risk span:nth-child(4) {
    background: var(--td-vs-permission);
}

.td-curriculum-card__motif--risk span:nth-child(2) {
    inset: 30% 35%;
    height: auto;
    border: 1px solid var(--td-vs-permission);
    background: transparent;
}

.td-curriculum-card__motif--execution span:nth-child(2) {
    inset: 29% 32%;
    height: auto;
    border: 2px solid var(--td-vs-permission);
    border-radius: 50%;
    background: transparent;
}

.td-curriculum-card__motif--review span:nth-child(1),
.td-curriculum-card__motif--review span:nth-child(2),
.td-curriculum-card__motif--review span:nth-child(3) {
    inset-inline: 18%;
}

.td-curriculum-card__motif--review span:nth-child(4) {
    inset: auto 18% 16% auto;
    width: 0.65rem;
    height: 0.65rem;
    border-inline-end: 2px solid var(--td-vs-context);
    border-block-end: 2px solid var(--td-vs-context);
    background: transparent;
    transform: rotate(45deg);
}

.td-curriculum-card h3 {
    margin: 0 0 0.55rem;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.2;
}

.td-curriculum-card > p {
    min-height: 6.2em;
    margin: 0 0 1rem;
    color: var(--td-vs-slate-strong);
    font-size: 0.875rem;
    line-height: 1.55;
}

.td-curriculum-card dl {
    display: grid;
    gap: 0.65rem;
    margin: 0;
    padding-block-start: 0.7rem;
    border-block-start: 1px solid var(--td-vs-line-soft);
}

.td-curriculum-card dl div + div {
    padding-block-start: 0.65rem;
    border-block-start: 1px solid var(--td-vs-line-soft);
}

.td-curriculum-card dt {
    margin: 0 0 0.2rem;
    color: var(--td-vs-slate);
    font-family: var(--td-vs-font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.td-curriculum-card dd {
    margin: 0;
    color: var(--td-vs-document);
    font-size: 0.8125rem;
    line-height: 1.45;
}

/* Risk Ticket */
.td-risk-ticket--educational {
    display: block;
    padding: clamp(1rem, 3vw, 1.75rem);
    overflow: hidden;
    border-radius: var(--td-vs-radius-md);
    background: var(--td-vs-carbon);
}

.td-risk-ticket--educational::before {
    content: none;
}

.td-risk-ticket--educational__header {
    display: flex;
    gap: var(--td-vs-space-2);
    align-items: flex-start;
    justify-content: space-between;
    margin-block-end: var(--td-vs-space-2);
    padding-block-end: var(--td-vs-space-2);
    border-block-end: 1px solid var(--td-vs-line);
}

.td-risk-ticket--educational__header h2,
.td-risk-ticket--educational__header h3,
.td-risk-ticket--educational__header h4 {
    margin: 0;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: clamp(1.35rem, 3vw, 2rem);
    font-weight: 600;
}

.td-risk-ticket--educational__fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1px;
    margin: 0 0 var(--td-vs-space-2);
    border: 1px solid var(--td-vs-line);
    background: var(--td-vs-line);
}

.td-risk-ticket--educational__fields div {
    min-width: 0;
    padding: 0.85rem;
    background: var(--td-vs-night-ledger);
}

.td-risk-ticket--educational__fields dt {
    margin: 0 0 0.3rem;
    color: var(--td-vs-slate);
    font-family: var(--td-vs-font-mono);
    font-size: 0.625rem;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.td-risk-ticket--educational__fields dd {
    margin: 0;
    color: var(--td-vs-document);
    font-size: 0.875rem;
    line-height: 1.5;
}

.td-risk-ticket--educational__permission {
    grid-column: 1 / -1;
    border-block-start: 2px solid var(--td-vs-permission);
}

.td-risk-ticket--educational__permission dd {
    color: #e2c58d;
    font-weight: 650;
}

/* Review loop */
.td-review-loop {
    margin: 0;
    padding: clamp(1rem, 3vw, 2rem);
    border-radius: var(--td-vs-radius-md);
}

.td-review-loop figcaption {
    max-width: 54rem;
    margin-block-end: var(--td-vs-space-3);
}

.td-review-loop figcaption h2,
.td-review-loop figcaption h3,
.td-review-loop figcaption h4 {
    margin: 0 0 0.6rem;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: clamp(1.35rem, 3vw, 2.15rem);
    font-weight: 600;
    letter-spacing: -0.025em;
    line-height: 1.1;
}

.td-review-loop figcaption > p:last-child {
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.td-review-loop__steps {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 0;
    margin: 0;
    padding: 0;
    border: 1px solid var(--td-vs-line);
    list-style: none;
}

.td-review-loop__steps li {
    position: relative;
    min-width: 0;
    padding: 1rem;
    border-inline-end: 1px solid var(--td-vs-line);
    background: var(--td-vs-night-ledger);
}

.td-review-loop__steps li:last-child {
    border-inline-end: 0;
}

.td-review-loop__steps li::after {
    content: "";
    position: absolute;
    z-index: 1;
    inset: 1.35rem -0.3rem auto auto;
    width: 0.6rem;
    height: 0.6rem;
    border-block-start: 1px solid var(--td-vs-context);
    border-inline-end: 1px solid var(--td-vs-context);
    background: var(--td-vs-night-ledger);
    transform: rotate(45deg);
}

.td-review-loop__steps li:last-child::after {
    content: none;
}

.td-review-loop__code {
    display: block;
    margin-block-end: 0.8rem;
    color: var(--td-vs-context);
    font-family: var(--td-vs-font-mono);
    font-size: 0.6875rem;
    font-weight: 700;
}

.td-review-loop__steps h4 {
    margin: 0 0 0.45rem;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: 0.9375rem;
    font-weight: 650;
}

.td-review-loop__steps p {
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 0.8125rem;
    line-height: 1.5;
}

.td-review-loop__return {
    width: fit-content;
    max-width: 100%;
    margin: var(--td-vs-space-2) 0 0 auto;
    padding: 0.6rem 0.8rem;
    border-inline-start: 2px solid var(--td-vs-context);
    color: var(--td-vs-slate-strong);
    font-family: var(--td-vs-font-mono);
    font-size: 0.75rem;
    line-height: 1.4;
}

/* Product-proof panels */
.td-proof-panels__grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: var(--td-vs-space-2);
}

.td-proof-panel {
    grid-column: span 2;
    min-width: 0;
    padding: 1rem;
    border: var(--td-vs-border);
    border-radius: var(--td-vs-radius-md);
    background: var(--td-vs-carbon);
}

.td-proof-panel:nth-child(-n + 2) {
    grid-column: span 3;
}

.td-proof-panel > header {
    display: grid;
    gap: 0.7rem;
    margin-block-end: 0.9rem;
}

.td-proof-panel h3 {
    margin: 0;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: 1.1rem;
    font-weight: 650;
}

.td-proof-panel__frame {
    position: relative;
    aspect-ratio: 16 / 9;
    min-height: 9rem;
    margin-block-end: 1rem;
    overflow: hidden;
    border: 1px solid var(--td-vs-line);
    background: var(--td-vs-night-ledger);
}

.td-proof-panel__frame::before {
    content: "";
    position: absolute;
    inset: 0 0 auto;
    height: 1.75rem;
    border-block-end: 1px solid var(--td-vs-line);
    background:
        radial-gradient(circle at 0.75rem 50%, var(--td-vs-context) 0 0.17rem, transparent 0.18rem),
        radial-gradient(circle at 1.4rem 50%, var(--td-vs-line-strong) 0 0.17rem, transparent 0.18rem);
}

.td-proof-panel__frame span {
    position: absolute;
    display: block;
    border: 1px solid var(--td-vs-line);
    background: var(--td-vs-carbon);
}

.td-proof-panel__frame span:nth-child(1) {
    inset: 2.4rem auto 0.7rem 0.7rem;
    width: 24%;
}

.td-proof-panel__frame span:nth-child(2) {
    inset: 2.4rem 0.7rem auto 30%;
    height: 22%;
}

.td-proof-panel__frame span:nth-child(3) {
    inset: 48% 0.7rem 0.7rem 30%;
}

.td-proof-panel__frame span:nth-child(4) {
    inset: 3rem auto auto 1.25rem;
    width: calc(24% - 1.1rem);
    height: 0.4rem;
    border: 0;
    background: var(--td-vs-context);
}

.td-proof-panel__frame span:nth-child(5) {
    inset: auto 1.25rem 1.25rem auto;
    width: 20%;
    height: 0.4rem;
    border: 0;
    background: var(--td-vs-permission);
}

.td-proof-panel--journal .td-proof-panel__frame span:nth-child(3),
.td-proof-panel--review .td-proof-panel__frame span:nth-child(3) {
    background-image: linear-gradient(var(--td-vs-grid-line) 1px, transparent 1px);
    background-size: 100% 1.25rem;
}

.td-proof-panel--permission .td-proof-panel__frame span:nth-child(1),
.td-proof-panel--risk .td-proof-panel__frame span:nth-child(1) {
    width: calc(50% - 1rem);
}

.td-proof-panel--permission .td-proof-panel__frame span:nth-child(2),
.td-proof-panel--risk .td-proof-panel__frame span:nth-child(2) {
    inset-inline-start: 52%;
}

.td-proof-panel--permission .td-proof-panel__frame span:nth-child(3),
.td-proof-panel--risk .td-proof-panel__frame span:nth-child(3) {
    inset-inline-start: 52%;
}

.td-proof-panel > p {
    margin: 0 0 0.9rem;
    color: var(--td-vs-slate-strong);
    font-size: 0.875rem;
    line-height: 1.55;
}

.td-proof-panel ul {
    display: grid;
    gap: 0.45rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.td-proof-panel li {
    padding-block-start: 0.45rem;
    border-block-start: 1px solid var(--td-vs-line-soft);
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-mono);
    font-size: 0.6875rem;
    line-height: 1.4;
}

/* Compliance-safe proof cards */
.td-process-proof__grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 1px;
    overflow: hidden;
    border: 1px solid var(--td-vs-line);
    border-radius: var(--td-vs-radius-md);
    background: var(--td-vs-line);
}

.td-proof-card {
    min-width: 0;
    padding: 1rem;
    background: var(--td-vs-carbon);
}

.td-proof-card header {
    display: flex;
    gap: 0.75rem;
    align-items: baseline;
    margin-block-end: 1rem;
}

.td-proof-card header p {
    margin: 0;
    color: var(--td-vs-slate);
    font-family: var(--td-vs-font-mono);
    font-size: 0.625rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.td-proof-card h3 {
    margin: 0 0 0.55rem;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.25;
}

.td-proof-card > p {
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 0.8125rem;
    line-height: 1.55;
}

/* For / Not For */
.td-qualification__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: var(--td-vs-space-2);
}

.td-qualification__panel {
    min-width: 0;
    padding: clamp(1rem, 3vw, 1.75rem);
    border: var(--td-vs-border);
    border-block-start: 3px solid var(--td-vs-context);
    border-radius: var(--td-vs-radius-md);
    background: var(--td-vs-carbon);
}

.td-qualification__panel--not-for {
    border-block-start-color: var(--td-vs-line-strong);
    background: var(--td-vs-night-ledger);
}

.td-qualification__panel h3 {
    margin: 0 0 1rem;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: clamp(1.25rem, 3vw, 1.8rem);
    font-weight: 600;
}

.td-qualification__panel ul {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    border-block-start: 1px solid var(--td-vs-line);
    list-style: none;
}

.td-qualification__panel li {
    position: relative;
    padding: 0.8rem 0 0.8rem 1.2rem;
    border-block-end: 1px solid var(--td-vs-line-soft);
    color: var(--td-vs-slate-strong);
    font-size: 0.9375rem;
    line-height: 1.5;
}

.td-qualification__panel li::before {
    content: "";
    position: absolute;
    inset: 1.2rem auto auto 0;
    width: 0.45rem;
    height: 0.45rem;
    border: 1px solid var(--td-vs-context);
    border-radius: 50%;
}

.td-qualification__panel--not-for li::before {
    border-radius: 0;
    border-color: var(--td-vs-line-strong);
}

/* CTA and recovery primitives */
.td-cta-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: clamp(1.5rem, 4vw, 4rem);
    align-items: end;
    padding: clamp(1.25rem, 4vw, 2.5rem);
    border: 1px solid var(--td-vs-line-strong);
    border-block-start: 3px solid var(--td-vs-permission);
    border-radius: var(--td-vs-radius-md);
    background: var(--td-vs-carbon);
    color: var(--td-vs-document);
}

.td-cta-block__copy {
    max-width: 48rem;
}

.td-cta-block h2,
.td-cta-block h3,
.td-cta-block h4 {
    max-width: 22ch;
    margin: 0 0 0.65rem;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: clamp(1.55rem, 3vw, 2.5rem);
    font-weight: 600;
    letter-spacing: -0.03em;
    line-height: 1.08;
}

.td-cta-block__copy > p:last-child {
    max-width: 58ch;
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 0.9375rem;
    line-height: 1.6;
}

.td-cta-block__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 0.75rem;
    justify-content: flex-end;
}

.td-recovery-block {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(16rem, auto);
    gap: clamp(1.5rem, 4vw, 3rem);
    align-items: center;
    padding: clamp(1rem, 3vw, 1.75rem);
    border: var(--td-vs-border);
    border-radius: var(--td-vs-radius-md);
    background: var(--td-vs-night-ledger);
    color: var(--td-vs-document);
}

.td-recovery-block h2,
.td-recovery-block h3,
.td-recovery-block h4 {
    margin: 0 0 0.5rem;
    color: var(--td-vs-document);
    font-family: var(--td-vs-font-sans);
    font-size: clamp(1.2rem, 2.5vw, 1.65rem);
    font-weight: 600;
}

.td-recovery-block > div > p:last-child {
    margin: 0;
    color: var(--td-vs-slate-strong);
    font-size: 0.875rem;
    line-height: 1.55;
}

.td-recovery-block ul {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem 1rem;
    justify-content: flex-end;
    margin: 0;
    padding: 0;
    list-style: none;
}

.td-recovery-block a {
    display: inline-flex;
    align-items: center;
    min-height: 44px;
    color: var(--td-vs-document);
    font-size: 0.875rem;
    font-weight: 600;
    text-decoration: underline;
    text-decoration-color: var(--td-vs-context);
    text-decoration-thickness: 1px;
    text-underline-offset: 0.25em;
}

.td-recovery-block a:hover {
    color: #bfd0db;
}

/* Responsive component behavior */
@media (max-width: 72rem) {
    .td-permission-docket__stages,
    .td-review-loop__steps {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .td-permission-stage:nth-child(3),
    .td-review-loop__steps li:nth-child(3) {
        border-inline-end: 0;
    }

    .td-permission-stage:nth-child(n + 4),
    .td-review-loop__steps li:nth-child(n + 4) {
        border-block-start-width: 1px;
    }

    .td-permission-stage:nth-child(4),
    .td-review-loop__steps li:nth-child(4) {
        border-inline-start: 1px solid var(--td-vs-line);
    }

    .td-review-loop__steps li:nth-child(3)::after {
        content: none;
    }

    .td-curriculum-grid__items,
    .td-process-proof__grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 64rem) {
    .td-vs-section--split,
    .td-vs-grid--asymmetric,
    .td-market-map--research {
        grid-template-columns: 1fr;
    }

    .td-market-map--research__legend {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .td-market-map--research__legend div:nth-child(2) {
        border-inline-end: 0;
    }

    .td-market-map--research__legend div:nth-child(-n + 2) {
        border-block-end: 1px solid var(--td-vs-line);
    }

    .td-proof-panels__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .td-proof-panel,
    .td-proof-panel:nth-child(-n + 2) {
        grid-column: auto;
    }
}

@media (max-width: 48rem) {
    .td-vs-container {
        width: min(var(--td-vs-container), calc(100% - 1.5rem));
    }

    .td-vs-section-head,
    .td-permission-docket__caption,
    .td-cta-block,
    .td-recovery-block {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .td-permission-docket__caption .td-vs-kicker,
    .td-permission-docket__caption h2,
    .td-permission-docket__caption h3,
    .td-permission-docket__caption h4,
    .td-permission-docket__caption > p:last-child {
        grid-column: 1;
        grid-row: auto;
    }

    .td-vs-grid--2,
    .td-vs-grid--3,
    .td-qualification__grid,
    .td-proof-panels__grid {
        grid-template-columns: 1fr;
    }

    .td-decision-console__row,
    .td-decision-console__row dd,
    .td-decision-console__outcome,
    .td-decision-console__review {
        grid-template-columns: 1fr;
        gap: 0.55rem;
    }

    .td-decision-console__row {
        padding-inline-end: 0;
    }

    .td-permission-docket__stages,
    .td-review-loop__steps,
    .td-curriculum-grid__items,
    .td-process-proof__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .td-permission-stage:nth-child(odd),
    .td-review-loop__steps li:nth-child(odd) {
        border-inline-start: 1px solid var(--td-vs-line);
    }

    .td-permission-stage:nth-child(even),
    .td-review-loop__steps li:nth-child(even) {
        border-inline-end: 0;
    }

    .td-permission-stage:nth-child(3),
    .td-review-loop__steps li:nth-child(3) {
        border-inline-end: 1px solid var(--td-vs-line);
    }

    .td-review-loop__steps li:nth-child(odd)::after {
        content: "";
    }

    .td-review-loop__steps li:nth-child(even)::after {
        content: none;
    }

    .td-permission-stage__question {
        min-height: 0;
    }

    .td-permission-docket__review {
        grid-template-columns: auto minmax(0, 1fr);
        width: 100%;
    }

    .td-permission-docket__review dl {
        grid-column: 2;
    }

    .td-risk-ticket--educational__fields {
        grid-template-columns: 1fr;
    }

    .td-risk-ticket--educational__permission {
        grid-column: auto;
    }

    .td-cta-block__actions,
    .td-recovery-block ul {
        justify-content: flex-start;
    }
}

@media (max-width: 30rem) {
    .td-decision-console,
    .td-permission-docket,
    .td-market-map--research,
    .td-risk-ticket--educational,
    .td-review-loop,
    .td-cta-block,
    .td-recovery-block {
        padding: 1rem;
    }

    .td-decision-console__header,
    .td-risk-ticket--educational__header {
        flex-direction: column;
    }

    .td-permission-docket__stages,
    .td-review-loop__steps,
    .td-curriculum-grid__items,
    .td-process-proof__grid,
    .td-market-map--research__legend {
        grid-template-columns: 1fr;
    }

    .td-permission-stage,
    .td-permission-stage:nth-child(n),
    .td-review-loop__steps li,
    .td-review-loop__steps li:nth-child(n),
    .td-market-map--research__legend div {
        border-inline: 0;
        border-block-end: 1px solid var(--td-vs-line);
    }

    .td-permission-stage:first-child,
    .td-review-loop__steps li:first-child,
    .td-market-map--research__legend div:first-child {
        border-inline-start: 0;
    }

    .td-permission-stage:last-child,
    .td-review-loop__steps li:last-child,
    .td-market-map--research__legend div:last-child {
        border-block-end: 0;
    }

    .td-review-loop__steps li::after,
    .td-review-loop__steps li:nth-child(n)::after {
        content: none;
    }

    .td-permission-docket__review {
        grid-template-columns: 1fr;
    }

    .td-permission-docket__review dl {
        grid-column: auto;
    }

    .td-market-map--research__plot {
        min-height: 14rem;
    }

    .td-curriculum-card > p {
        min-height: 0;
    }

    .td-cta-block__actions,
    .td-cta-block__actions .td-vs-button {
        width: 100%;
    }
}

/* User preference and forced-color safeguards */
@media (prefers-reduced-motion: reduce) {
    .td-vs-button {
        transition: none;
    }
}

@media (prefers-contrast: more) {
    .td-vs-root {
        --td-vs-line: #697782;
        --td-vs-line-strong: #a8b2ba;
        --td-vs-line-soft: rgba(239, 242, 241, 0.38);
    }
}

@media (forced-colors: active) {
    .td-vs-surface,
    .td-vs-card,
    .td-permission-stage,
    .td-curriculum-card,
    .td-proof-panel,
    .td-proof-card,
    .td-qualification__panel,
    .td-cta-block,
    .td-recovery-block,
    .td-vs-button,
    .td-vs-status {
        border-color: CanvasText;
        background: Canvas;
        color: CanvasText;
        box-shadow: none;
    }

    .td-vs-button:focus-visible,
    .td-recovery-block a:focus-visible {
        outline: 3px solid Highlight;
        outline-offset: 3px;
        box-shadow: none;
    }
}
