/* Tagged PDFs offer page. The object is one real page shown twice: as it was posted, and as we delivered it,
   with the tags drawn over it in reading order. The pixels are the same file; only the structure differs. */
.tp { padding: var(--wp-12) 0 var(--wp-16); }
.tp :where(h1, h2, h3) { text-wrap: wrap; }
.tp-top { display: grid; gap: var(--wp-12); grid-template-columns: minmax(0, 1fr); align-items: start; }
.tp-kicker { font: 500 var(--wp-text-cite)/1.3 var(--wp-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--wp-muted); margin: 0 0 var(--wp-3); }
.tp h1 { font-family: var(--wp-font-display); font-weight: 600; font-size: clamp(2.25rem, 4.6vw, 4rem); line-height: 1; letter-spacing: -.015em; margin: 0 0 var(--wp-6); max-width: 14ch; }
.tp-lede { font-size: var(--wp-text-lede); line-height: 1.5; max-width: 34rem; margin: 0 0 var(--wp-6); }
.tp-actions { display: flex; flex-wrap: wrap; gap: var(--wp-3) var(--wp-6); align-items: center; margin: 0 0 var(--wp-8); }
.tp-actions a { min-height: 48px; display: inline-flex; align-items: center; }
.tp-facts { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 0; max-width: 34rem; border-top: var(--wp-rule-strong) solid var(--wp-ink); }
.tp-facts div { padding: var(--wp-3) var(--wp-4) var(--wp-3) 0; border-bottom: var(--wp-rule) solid var(--wp-hair); }
.tp-facts dt { font: 500 var(--wp-text-cite)/1.3 var(--wp-font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--wp-muted); }
.tp-facts dd { margin: var(--wp-1) 0 0; font-weight: 600; font-size: 1.125rem; }

/* The pair: the posted page sits behind, the delivered page in front, offset down and right */
.tp-pair { margin: 0; }
.tp-sheets { display: grid; grid-template-columns: minmax(0, 1fr); max-width: 34rem; padding: 0 var(--wp-6) 0 0; }
.tp-sheet { grid-area: 1 / 1; min-width: 0; position: relative; }
.tp-sheet--after { z-index: 1; }
.tp-sheet--before { margin-right: var(--wp-8); }
.tp-sheet--before .tp-page { filter: saturate(.6); }
.tp-sheet--after { margin: var(--wp-12) 0 0 var(--wp-8); }
.tp-sheet-label { display: flex; flex-wrap: wrap; gap: 0 var(--wp-2); align-items: baseline; margin: 0; padding: var(--wp-2) var(--wp-3); font: 500 .75rem/1.3 var(--wp-font-mono); letter-spacing: .04em; text-transform: uppercase; background: var(--wp-ink); color: var(--oa-paper); }
.tp-sheet-label span { font-weight: 600; color: var(--oa-blue); }
.tp-sheet--before .tp-sheet-label { background: var(--wp-panel); color: var(--wp-muted); border: var(--wp-rule-strong) solid var(--wp-ink); border-bottom: 0; }
.tp-sheet--before .tp-sheet-label span { color: var(--wp-ink); }
.tp-page { position: relative; background: #fff; border: var(--wp-rule-strong) solid var(--wp-ink); }
.tp-sheet--after .tp-page { box-shadow: 10px 10px 0 var(--wp-cited); }
.tp-page img { display: block; width: 100%; height: auto; }
.tp-tags { position: absolute; inset: 0; }
/* structure boxes: header cells ink, data cells blue, cells tagged as the wrong kind rust; labels sit inside each box */
.tp-t { position: absolute; border: 2px solid var(--oa-blue-deep); background: rgb(45 79 147 / .08); }
.tp-t b { position: absolute; top: 3px; left: 3px; background: var(--oa-blue-deep); color: var(--oa-paper); font: 500 clamp(.5625rem, .45rem + .35vw, .75rem)/1.1 var(--wp-font-mono); letter-spacing: .02em; padding: 2px 4px; max-width: calc(100% - 6px); }
.tp-t--h { border-color: var(--wp-ink); background: rgb(21 21 24 / .06); }
.tp-t--h b { background: var(--wp-ink); }
.tp-t--x { border: 2.5px solid var(--wp-rust); background: repeating-linear-gradient(135deg, rgb(154 59 22 / .16) 0 3px, rgb(154 59 22 / .04) 3px 9px); }
.tp-t--x b { background: var(--wp-rust); top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; white-space: normal; width: max-content; max-width: 80%; }
.tp-gc, .tp-gr { position: absolute; display: block; background: rgb(45 79 147 / .35); }
.tp-gc { top: 0; bottom: 0; width: 1px; }
.tp-gr { left: 0; right: 0; height: 1px; }
.tp-key { display: flex; flex-wrap: wrap; gap: var(--wp-2) var(--wp-6); margin: var(--wp-4) 0 0; font-size: var(--wp-text-meta); color: var(--wp-muted); }
.tp-key span { display: inline-flex; align-items: center; gap: var(--wp-2); }
.tp-key span::before { content: ""; width: 1.25rem; height: .875rem; border: 2px solid var(--oa-blue-deep); background: rgb(45 79 147 / .08); }
.tp-key .tp-key-h::before { border-color: var(--wp-ink); background: rgb(21 21 24 / .06); }
.tp-key .tp-key-x::before { border: 2.5px solid var(--wp-rust); background: repeating-linear-gradient(135deg, rgb(154 59 22 / .16) 0 3px, rgb(154 59 22 / .04) 3px 9px); }
.tp-pair figcaption { margin-top: var(--wp-6); font-size: var(--wp-text-meta); line-height: 1.5; color: var(--wp-muted); max-width: 30rem; }
.tp-pair figcaption a { color: var(--wp-ink); display: inline-block; padding: 13px 0; margin: -13px 0; }

/* Sections */
.tp-section { margin-top: var(--wp-16); scroll-margin-top: var(--wp-6); }
.tp-section h2 { font-family: var(--wp-font-display); font-weight: 600; font-size: var(--wp-text-title); line-height: 1.04; border-top: var(--wp-rule-strong) solid var(--wp-ink); padding-top: var(--wp-6); margin: 0 0 var(--wp-6); scroll-margin-top: var(--wp-6); }
.tp h3 { font-family: var(--wp-font-body); font-weight: 600; font-size: var(--wp-text-h3); line-height: 1.3; margin: 0 0 var(--wp-3); }
.tp p, .tp li { max-width: var(--wp-measure); }
.tp ul, .tp ol { padding-left: 1.25rem; }
.tp li + li { margin-top: var(--wp-2); }
.tp-small { font-size: 1rem; line-height: 1.55; color: var(--wp-muted); }
.tp-split { display: grid; gap: var(--wp-8); grid-template-columns: minmax(0, 1fr); }
.tp-not { background: var(--wp-panel); border: var(--wp-rule-strong) solid var(--wp-ink); padding: var(--wp-6); align-self: start; }
.tp-not ul { margin-top: 0; }
.tp-not p:last-child { margin-bottom: 0; }

/* The example: what a screen reader can find, before and after, as two ledgers */
.tp-source { font-size: var(--wp-text-body); line-height: 1.6; }
.tp-source a { overflow-wrap: anywhere; }
.tp-two-pages { display: grid; gap: var(--wp-8); grid-template-columns: minmax(0, 1fr); margin: var(--wp-8) 0 0; }
.tp-shot { margin: 0; }
.tp-shot figcaption { display: flex; flex-wrap: wrap; gap: 0 var(--wp-2); align-items: baseline; padding: var(--wp-2) var(--wp-3); font: 500 .75rem/1.3 var(--wp-font-mono); letter-spacing: .04em; text-transform: uppercase; background: var(--wp-panel); color: var(--wp-muted); border: var(--wp-rule-strong) solid var(--wp-ink); border-bottom: 0; }
.tp-shot figcaption span { color: var(--wp-ink); font-weight: 600; }
.tp-shot--after figcaption { background: var(--wp-ink); color: var(--oa-paper); }
.tp-shot--after figcaption span { color: var(--oa-blue); }
.tp-shot--after .tp-page { box-shadow: 10px 10px 0 var(--wp-cited); }
.tp-compare { display: grid; gap: var(--wp-8); grid-template-columns: minmax(0, 1fr); align-items: start; margin: var(--wp-8) 0; }
.tp-col { border: var(--wp-rule-strong) solid var(--wp-ink); background: var(--wp-paper); padding-bottom: var(--wp-1); }
.tp-col h3 { font: 500 var(--wp-text-cite)/1.3 var(--wp-font-mono); letter-spacing: .06em; text-transform: uppercase; margin: 0 0 var(--wp-1); padding: var(--wp-3) var(--wp-4); background: var(--wp-panel); border-bottom: var(--wp-rule) solid var(--wp-hair); }
.tp-col--after h3 { background: var(--wp-ink); color: var(--oa-paper); }
.tp-reads { margin: 0; }
.tp-reads div { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--wp-1); padding: var(--wp-3) var(--wp-4); border-top: var(--wp-rule) solid var(--wp-hair); }
.tp-reads div:first-child { border-top: 0; }
.tp-reads dt { font-size: var(--wp-text-meta); color: var(--wp-muted); }
.tp-reads dd { margin: 0; font-weight: 600; font-size: var(--wp-text-body); line-height: 1.45; }
.tp-col--before dd { color: var(--wp-rust); }
.tp-col--after { box-shadow: 8px 8px 0 var(--wp-cited); }
.tp-judgement { border-left: 6px solid var(--oa-blue-deep); background: var(--wp-panel); padding: var(--wp-6); max-width: 48rem; }
.tp-judgement p { margin: 0; }
.tp .tp-proof { list-style: none; padding: 0; margin: var(--wp-8) 0; display: grid; gap: 0; grid-template-columns: minmax(0, 1fr); border-top: var(--wp-rule-strong) solid var(--wp-ink); }
.tp-proof li { margin: 0; padding: var(--wp-4) 0; border-bottom: var(--wp-rule) solid var(--wp-hair); display: grid; grid-template-columns: 3.5rem minmax(0, 1fr); gap: var(--wp-3); align-items: baseline; }
.tp .tp-proof li + li { margin-top: 0; }
.tp-proof b { font-family: var(--wp-font-body); font-weight: 600; font-size: var(--wp-text-price); line-height: 1; font-variant-numeric: lining-nums tabular-nums; }
.tp .tp-files { list-style: none; padding: 0; margin: 0; max-width: 48rem; }
.tp-files li { border-top: var(--wp-rule) solid var(--wp-hair); padding: var(--wp-3) 0; margin: 0; }
.tp .tp-files li + li { margin-top: 0; }
.tp-files a { font-weight: 600; display: inline-block; padding: 12px 0; margin: -12px 0; }
.tp-files span { display: block; color: var(--wp-muted); font-size: var(--wp-text-meta); }

/* What you receive: the six checks as a numbered ledger */
.tp .tp-checks { list-style: none; padding: 0; counter-reset: c; display: grid; gap: 0; grid-template-columns: minmax(0, 1fr); border-top: var(--wp-rule-strong) solid var(--wp-ink); max-width: none; }
.tp-checks li { counter-increment: c; margin: 0; padding: var(--wp-4) 0 var(--wp-4) 2.25rem; border-bottom: var(--wp-rule) solid var(--wp-hair); position: relative; }
.tp .tp-checks li + li { margin-top: 0; }
.tp-checks li::before { content: counter(c); position: absolute; left: 0; top: var(--wp-4); font: 500 var(--wp-text-ledger)/1.6 var(--wp-font-mono); color: var(--wp-muted); }

/* Price: two record cards, direct first */
.tp-prices { display: grid; gap: var(--wp-6); grid-template-columns: minmax(0, 1fr); align-items: start; margin-bottom: var(--wp-8); }
.tp-price { border: var(--wp-rule-strong) solid var(--wp-ink); padding: var(--wp-6); background: var(--wp-panel); }
.tp-price:first-child { box-shadow: 10px 10px 0 var(--wp-cited); }
.tp-price h3 { font: 500 var(--wp-text-cite)/1.3 var(--wp-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--wp-muted); }
.tp .tp-amount { font-family: var(--wp-font-body); font-variant-numeric: lining-nums; letter-spacing: -.01em; font-weight: 600; font-size: clamp(2rem, 1.5rem + 2vw, 3rem); line-height: 1; margin: var(--wp-2) 0 var(--wp-4); }
.tp-amount span { font-family: var(--wp-font-body); font-weight: 400; font-size: var(--wp-text-body); }
.tp-price ul { margin: 0; border-top: var(--wp-rule) solid var(--wp-hair); padding-top: var(--wp-3); }
.tp-price-act { margin: var(--wp-4) 0 0; }
.tp-price-act a { min-height: 48px; display: inline-flex; align-items: center; }
.tp-provider { border-top: var(--wp-rule-strong) solid var(--wp-ink); padding-top: var(--wp-4); margin: 0 0 var(--wp-8); max-width: 56rem; scroll-margin-top: var(--wp-6); }
.tp-provider h3 { font: 500 var(--wp-text-cite)/1.3 var(--wp-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--wp-muted); }
.tp-pay { margin: 0; border-top: var(--wp-rule-strong) solid var(--wp-ink); max-width: 56rem; }
.tp-pay div { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--wp-1); padding: var(--wp-4) 0; border-bottom: var(--wp-rule) solid var(--wp-hair); }
.tp-pay dt { font-weight: 600; }
.tp-pay dd { margin: 0; max-width: var(--wp-measure); }

.tp .tp-steps { list-style: none; padding: 0; counter-reset: s; display: grid; gap: var(--wp-4); grid-template-columns: minmax(0, 1fr); }
.tp-steps li { counter-increment: s; margin: 0; border-top: var(--wp-rule-strong) solid var(--wp-ink); padding-top: var(--wp-3); }
.tp .tp-steps li + li { margin-top: 0; }
.tp-steps li::before { content: counter(s); display: block; font-family: var(--wp-font-display); font-weight: 600; font-size: var(--wp-text-price); line-height: 1; margin-bottom: var(--wp-2); }
.tp-steps b { display: block; }

.tp-two { display: grid; gap: var(--wp-8) var(--wp-12); grid-template-columns: minmax(0, 1fr); }

.tp-quote { background: var(--wp-ink); color: var(--oa-paper); padding: var(--wp-8) var(--wp-6); display: grid; gap: var(--wp-6); grid-template-columns: minmax(0, 1fr); }
.tp-quote h2 { border-top: 0; padding-top: 0; color: var(--oa-paper); }
.tp-quote p { margin: 0; }
.tp-quote a:not(.button) { color: var(--oa-paper); text-decoration-color: var(--oa-blue); }
.tp-quote .button { background: var(--oa-blue); border-color: var(--oa-blue); color: var(--oa-ground); width: 100%; justify-content: center; }
.tp-quote .button:hover { background: var(--oa-paper); border-color: var(--oa-paper); color: var(--oa-ground); }
.tp-quote .button:focus-visible, .tp-quote a:focus-visible { outline-color: var(--oa-blue); }
.tp-quote .tp-send { margin-bottom: var(--wp-4); }
.tp-how { font-size: 1rem; line-height: 1.55; color: var(--oa-muted); }

@container page (min-width: 56rem) {
  .tp { padding-top: var(--wp-16); }
  .tp-top { grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: var(--wp-16); }
  .tp-split { grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: var(--wp-12); }
  .tp-two-pages { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp-12); }
  .tp-compare { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp-12); }
  .tp-reads div { grid-template-columns: 11rem minmax(0, 1fr); gap: var(--wp-4); align-items: baseline; }
  .tp .tp-proof { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 var(--wp-8); }
  .tp .tp-checks { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 var(--wp-12); }
  .tp-prices { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--wp-12); }
  .tp-pay div { grid-template-columns: 14rem minmax(0, 1fr); gap: var(--wp-6); }
  .tp .tp-steps { grid-template-columns: repeat(5, minmax(0, 1fr)); gap: var(--wp-6); }
  .tp-two { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .tp-quote { grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr); gap: var(--wp-12); padding: var(--wp-12); align-items: center; }
}

/* The free tagged PDF ask: one route (an email with the five lines the desk needs) set as a slip, the same route block as the
   connector's directory listing. The slip shows the lines the email opens with, so a reader whose email app does not open can
   still write them. */
.fpa { background: var(--wp-panel); border: var(--wp-rule-strong) solid var(--wp-ink); border-left: 6px solid var(--oa-blue-deep); padding: var(--wp-6); max-width: 34rem; scroll-margin-top: var(--wp-8); }
.fpa .fpa-kicker { font: 500 var(--wp-text-cite)/1.3 var(--wp-font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--wp-muted); margin: 0 0 var(--wp-2); }
.fpa h2 { font-family: var(--wp-font-display); font-weight: 600; font-size: clamp(1.375rem, 1.1rem + 1vw, 1.625rem); line-height: 1.12; letter-spacing: -.005em; text-wrap: balance; margin: 0 0 var(--wp-3); padding: 0; border: 0; }
.fpa p { margin: 0 0 var(--wp-4); max-width: none; font-size: var(--wp-text-body); line-height: 1.55; }
.fpa .fpa-terms { list-style: none; padding: 0; margin: 0 0 var(--wp-6); border-top: var(--wp-rule) solid var(--wp-hair); font-size: var(--wp-text-ledger); line-height: 1.6; }
.fpa .fpa-terms li { margin: 0; padding: var(--wp-2) 0; border-bottom: var(--wp-rule) solid var(--wp-hair); max-width: none; }
.fpa .fpa-terms a { padding: 12px 0; }
.fpa .fpa-send { margin: 0 0 var(--wp-4); }
.fpa .fpa-send .button { width: 100%; justify-content: center; text-align: center; }
.fpa .fpa-how { font-size: var(--wp-text-meta); line-height: 1.5; color: var(--wp-muted); margin: 0 0 var(--wp-2); }
.fpa .fpa-slip { list-style: none; margin: 0; padding: var(--wp-2) var(--wp-4); background: var(--wp-paper); border: var(--wp-rule) dashed var(--wp-muted); font: 500 var(--wp-text-cite)/1.3 var(--wp-font-mono); color: var(--wp-ink); }
.fpa .fpa-slip li { display: flex; flex-wrap: wrap; gap: 0 var(--wp-2); align-items: baseline; margin: 0; padding: var(--wp-1) 0; max-width: none; }
.fpa .fpa-slip span { white-space: nowrap; }
.fpa .fpa-slip li::after { content: ""; flex: 1 1 3rem; min-width: 3rem; border-bottom: var(--wp-rule) solid var(--wp-hair); }
/* a phone under 384px or enlarged text: the longest line wraps inside the slip */
@container page (max-width: 23.99rem) { .fpa .fpa-slip span { white-space: normal; } }
.tp > .fpa { margin: var(--wp-16) 0 0; }
/* on this page the slip's conditions and its email note read at body size */
.tp > .fpa .fpa-terms, .tp > .fpa .fpa-how { font-size: 1rem; }
@container page (min-width: 56rem) {
  .tp > .fpa { max-width: none; display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr) minmax(0, 1fr); gap: var(--wp-8); align-items: start; padding: var(--wp-8); }
  .tp > .fpa .fpa-terms { margin: 0; }
}

/* generated by exhibit-dhs/overlay.py: page 15 table boxes, % of the cropped page */
.tp-b-title { left: 11.76%; top: 1.45%; width: 37.25%; height: 5.65%; }
.tp-b-head { left: 11.76%; top: 7.10%; width: 73.86%; height: 35.00%; }
.tp-b-comp { left: 11.76%; top: 42.10%; width: 17.65%; height: 56.61%; }
.tp-b-ans { left: 29.41%; top: 42.10%; width: 56.21%; height: 56.61%; }
.tp-b-ans-r1 { left: 29.41%; top: 42.10%; width: 56.21%; height: 4.84%; }
.tp-b-ans-wrong { left: 29.41%; top: 46.94%; width: 56.21%; height: 46.45%; }
.tp-b-ans-r10 { left: 29.41%; top: 93.39%; width: 56.21%; height: 5.32%; }
.tp-c1 { left: 9.30%; }
.tp-c2 { left: 19.04%; }
.tp-c3 { left: 30.81%; }
.tp-c4 { left: 42.88%; }
.tp-c5 { left: 53.34%; }
.tp-c6 { left: 62.79%; }
.tp-c7 { left: 71.95%; }
.tp-c8 { left: 81.10%; }
.tp-c9 { left: 90.70%; }
.tp-r1 { top: 8.55%; }
.tp-r2 { top: 18.09%; }
.tp-r3 { top: 29.20%; }
.tp-r4 { top: 40.46%; }
.tp-r5 { top: 51.28%; }
.tp-r6 { top: 61.25%; }
.tp-r7 { top: 70.37%; }
.tp-r8 { top: 80.34%; }
.tp-r9 { top: 90.60%; }
