/* One document language for the homepage excerpt and the full Assessment record. */
.assessment-readout { --record-pad: clamp(1.25rem, 3.6vw, 3rem); overflow: hidden; border: var(--line-document) solid var(--rule-strong); border-top: var(--line-boundary) solid var(--institutional); border-radius: 2px; background: var(--surface); box-shadow: 0 12px 40px rgb(8 12 10 / 5%); }
.readout-header { display: flex; align-items: start; justify-content: space-between; gap: 2rem; margin-inline: var(--record-pad); padding-block: 1.5rem; border-bottom: var(--line-document) solid var(--rule-soft); }
.readout-kicker { margin: 0; max-width: 21rem; color: var(--ink-strong); font-size: .875rem; font-weight: 600; line-height: 1.5; }
.readout-kicker span { padding-left: .4rem; color: var(--ink-subtle); font-weight: 400; white-space: nowrap; }
.readout-disclosure { display: grid; gap: .3rem; max-width: 18rem; margin: 0; font-size: .8125rem; line-height: 1.5; color: var(--ink-muted); }
.readout-disclosure strong { display: flex; align-items: center; gap: .5rem; color: var(--ink-strong); font-weight: 500; }
.readout-disclosure strong::before { content: ''; height: .45rem; width: .45rem; border: 1px solid currentColor; border-radius: 50%; }
.readout-conclusion { padding: 1.5rem var(--record-pad) 1.75rem; }
.readout-question { display: flex; align-items: baseline; gap: 1.25rem; margin-bottom: 2rem; color: var(--ink-muted); }
.readout-question span { flex-shrink: 0; font-size: .8125rem; }
.readout-question p { margin: 0; font-size: .9375rem; }
.readout-label { margin: 0 0 .65rem; color: var(--ink-muted); font-size: .8125rem; font-weight: 500; line-height: 1.5; }
.readout-verdict { max-width: none; margin: 0 0 .75rem; color: var(--ink-strong); font-size: clamp(1.875rem, 3.4vw, 2.75rem); font-weight: 600; line-height: 1.12; letter-spacing: -.03em; text-wrap: balance; }
.readout-basis { max-width: 62ch; margin: 0; color: var(--ink-muted); font-size: 1rem; }
.record-map { margin: 0 var(--record-pad); padding-block: 1.35rem 1rem; border-block: var(--line-document) solid var(--rule-soft); }
.record-map figcaption { display: flex; justify-content: space-between; gap: 1rem; }
.record-map figcaption > span { color: var(--ink-subtle); font-weight: 400; }
.record-map-stage { position: relative; height: 15rem; margin-top: .5rem; }
.record-paths { position: absolute; top: .5rem; left: 0; width: 100%; height: 12rem; overflow: visible; }
.record-paths--portrait { display: none; }
.record-paths path, .record-paths circle, .record-paths rect { vector-effect: non-scaling-stroke; }
.record-route { fill: none; stroke: var(--rule-strong); stroke-width: var(--line-path); }
.record-route--unknown { stroke: var(--unknown-border); stroke-dasharray: 3 5; }
.record-route--hold { stroke: var(--hold-border); }
.record-control { fill: none; stroke: var(--ink-strong); stroke-width: var(--line-boundary); }
.record-origin { fill: var(--ink-strong); }
.record-request { fill: var(--hold-border); stroke: var(--surface); stroke-width: 2; }
.record-invoice { position: absolute; top: 3.4rem; left: 0; width: 21%; display: grid; gap: .15rem; }
.record-invoice > span:first-child { color: var(--ink-strong); font-size: .875rem; }
.record-invoice strong { color: var(--ink-strong); font-size: clamp(1.75rem, 3vw, 2.25rem); line-height: 1.2; font-weight: 500; letter-spacing: -.035em; font-variant-numeric: tabular-nums; }
.record-invoice > span:last-child { font-size: .8125rem; color: var(--ink-muted); }
.record-route-label { position: absolute; left: 35%; display: grid; gap: .2rem; font-size: .875rem; line-height: 1.4; }
.record-route-label strong { font-weight: 500; }
.record-route-label span { color: var(--ink-muted); font-size: .8125rem; }
.record-original { top: 3.15rem; }
.record-backup { top: 6.4rem; }
.record-unknown, .record-hold { position: absolute; font-size: .8125rem; font-weight: 600; letter-spacing: .025em; line-height: 1.5; }
.record-unknown { top: 3.15rem; left: 80%; color: var(--unknown-ink); }
.record-hold { top: 7.9rem; right: 32%; color: var(--hold-ink); }
.record-boundary { position: absolute; top: 12.15rem; left: 72.5%; transform: translateX(-50%); width: 12rem; text-align: center; font-size: .8125rem; font-weight: 500; line-height: 1.5; }
.record-map-note { max-width: none; margin: 0; color: var(--ink-muted); font-size: .8125rem; line-height: 1.55; }
.readout-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 2rem; margin: 0; padding: 1.5rem var(--record-pad); }
.readout-scope dt { margin-bottom: .5rem; font-size: .8125rem; font-weight: 600; }
.readout-scope dd { margin: 0; color: var(--ink-muted); font-size: .9375rem; line-height: 1.6; }
.readout-detail { margin: 0 var(--record-pad); padding-block: 1.5rem; border-top: var(--line-document) solid var(--rule-soft); }
.readout-detail h4 { margin: 0 0 .25rem; color: var(--ink-strong); font-size: 1rem; font-weight: 600; }
.readout-reference-note { color: var(--ink-muted); font-size: .8125rem; }
.readout-detail dl { display: grid; grid-template-columns: 1fr 1fr; gap: 1.5rem 2.5rem; margin: 1.5rem 0 0; }
.readout-observation dt { display: flex; justify-content: space-between; gap: .5rem; padding-top: .75rem; border-top: var(--line-document) solid var(--rule-soft); font-size: .8125rem; }
.readout-observation dt span { font-weight: 600; }
.readout-observation code { color: var(--ink-subtle); font-size: .8125rem; }
.readout-observation dd { margin: .75rem 0 0; font-size: .9375rem; line-height: 1.6; }
.readout-observation dd > strong { display: block; margin-bottom: .4rem; font-weight: 500; }
.readout-observation dd p { margin: 0; color: var(--ink-muted); }
.readout-next-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 1.25rem 2rem; margin-inline: var(--record-pad); padding-block: 1.5rem; border-top: var(--line-document) solid var(--rule-strong); }
.readout-next strong { display: block; margin-bottom: .45rem; color: var(--ink-strong); font-size: .8125rem; font-weight: 600; }
.readout-next p { margin: 0; font-size: .9375rem; line-height: 1.6; color: var(--ink-muted); }
.readout-next:first-child p { color: var(--ink-strong); font-size: 1.0625rem; font-weight: 500; }
.readout-reassessment { grid-column: 1 / -1; }
.readout-reassessment p { max-width: 85ch; }
.readout-footer { padding: 1.25rem var(--record-pad); border-top: var(--line-document) solid var(--rule-soft); background: var(--surface-quiet); }
.readout-footer p { max-width: 100%; margin: 0; font-size: .8125rem; line-height: 1.6; color: var(--ink-muted); }
.readout-footer p + p { margin-top: .6rem; }
.readout-footer strong { color: var(--ink-strong); }
.assessment-readout--preview { --record-pad: clamp(1.25rem, 3vw, 2rem); }
.assessment-readout--preview .readout-verdict { font-size: clamp(1.875rem, 3vw, 2.375rem); }
.assessment-readout--preview .record-map-stage { height: 13.75rem; }
.assessment-readout--preview .readout-conclusion { padding-block: 1.5rem; }
.preview-body { display: grid; grid-template-columns: 1.1fr 1fr; gap: 2.5rem; padding: 1.75rem var(--record-pad); }
.preview-body .readout-conclusion { padding: 0; }
.preview-basis { padding-left: 2rem; border-left: var(--line-document) solid var(--rule-soft); }
.preview-basis > p:not(.readout-label) { margin: 0 0 1.25rem; color: var(--ink-muted); font-size: .9375rem; line-height: 1.6; }
.preview-basis .readout-scope { display: block; padding: 0; }
.preview-basis .readout-scope dt { font-variant-numeric: tabular-nums; }
.preview-basis > p.preview-limit { margin: 1.25rem 0 0; font-size: .8125rem; }
.assessment-readout-section { scroll-margin-top: calc(var(--header-height) + 1.25rem); }
@media (max-width: 47.99rem) {
  .preview-body { grid-template-columns: 1fr; gap: 1.5rem; padding-block: 1.5rem; }
  .preview-basis { border-left: 0; border-top: var(--line-document) solid var(--rule-soft); padding: 1.5rem 0 0; }
  .readout-header { display: grid; gap: 1rem; padding-block: 1.25rem; }
  .readout-disclosure { max-width: none; }
  .readout-question { display: grid; gap: .3rem; }
  .readout-verdict { max-width: 16ch; }
  .readout-scope, .readout-detail dl, .readout-next-grid { grid-template-columns: 1fr; gap: 1.25rem; }
  .record-map figcaption { display: grid; gap: .2rem; }
  .record-map-stage, .assessment-readout--preview .record-map-stage { height: 28.75rem; margin-top: 1rem; }
  .record-invoice { top: 0; width: 100%; text-align: center; }
  .record-invoice strong { font-size: 2rem; }
  .record-paths--wide { display: none; }
  .record-paths--portrait { display: block; top: 5.5rem; height: 22rem; }
  .record-route-label { top: 10.3rem; width: 47%; text-align: center; font-size: .8125rem; }
  .record-route-label span { font-size: .8125rem; }
  .record-original { left: 0; }
  .record-backup { left: auto; right: 0; }
  .record-route-label strong, .record-route-label span { width: fit-content; max-width: 100%; margin-inline: auto; padding: .1rem .25rem; background: var(--surface); }
  .record-unknown { top: 25.65rem; left: 0; padding: .1rem .3rem; background: var(--surface); }
  .record-hold { top: 15.9rem; right: 5%; padding: .1rem .3rem; background: var(--surface); }
  .record-boundary { top: 21.15rem; left: auto; right: 0; transform: none; width: 74%; text-align: right; }
}
@media (forced-colors: active) {
  .record-route, .record-control { stroke: CanvasText; }
  .record-request, .record-origin { fill: CanvasText; }
  .record-unknown, .record-hold { color: CanvasText; }
}

.assessment-process-heading { margin: 3rem 0 1.5rem; }
.assessment-process-heading h3 { margin: .75rem 0 0; }
