/* The report carries the promise; its holder-entered fields remain legible. */
.professionals-review :is(h1, h2, h3) { text-wrap: balance; }
.professionals-opening { display: grid; grid-template-columns: 1fr 1.1fr; gap: 64px; padding-block: 24px 56px; align-items: start; }
.professionals-invitation h1 { font-size: 66px; line-height: 1.04; max-width: 14ch; }
.professionals-intro { font-size: 18px; line-height: 1.55; margin-block: 24px; max-width: 48ch; }
.professionals-small { font-size: 14px; color: var(--muted); margin-top: 16px; }
.professionals-unavailable { font-size: 15px; margin-top: 24px; }
.professionals-link { display: flex; align-items: center; min-height: 48px; font-size: 15px; margin-top: 12px; }
.professionals-proof { margin: 0; }
.professionals-proof figcaption { font-size: 14px; color: var(--muted); margin-bottom: 12px; }
.professionals-report { border: 1px solid var(--ink); }
.professionals-report > header { padding: 24px; background: var(--accent); color: var(--bg); }
.professionals-report h2 { font-size: 44px; line-height: 1.1; }
.professionals-report > header p { font-size: 14px; margin-top: 12px; }
.professionals-report-body { padding: 24px; }
.professionals-report-body > h3 { font-size: 32px; line-height: 1.15; }
.professionals-report-body > h3 + p { font-size: 14px; margin-top: 12px; }
.professionals-dates { font-size: 14px; margin-top: 20px; }
.professionals-amounts { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; padding-block: 20px; margin-top: 20px; border-block: 1px solid var(--field-rule); }
.professionals-amounts dt { font-size: 13px; }
.professionals-amounts dd { margin: 8px 0 0; font: 500 36px/1.1 var(--display); }
.professionals-report h4 { font: 400 14px/1.4 var(--body); margin-top: 24px; }
.professionals-split { margin-block: 16px 24px; }
.professionals-split > div { display: flex; justify-content: space-between; gap: 20px; font-size: 14px; padding-block: 8px; border-top: 1px solid var(--rule); }
.professionals-split dd { margin: 0; font-variant-numeric: tabular-nums; }
.professionals-review summary { font-size: 15px; min-height: 48px; padding-block: 14px; cursor: pointer; }
.professionals-note { border-block: 1px solid var(--field-rule); }
.professionals-note blockquote { margin: 16px 0 20px; font-size: 16px; }
.professionals-process { display: grid; grid-template-columns: 1fr 1.1fr; gap: 64px; padding-block: 48px; border-top: 1px solid var(--ink); }
.professionals-guide img { width: 100%; height: auto; }
.professionals-process h2, .professionals-coverage h2, .professionals-offer h2 { font-size: 44px; max-width: 22ch; }
.professionals-process ol { padding-left: 24px; margin-top: 28px; }
.professionals-process li { padding: 20px 0 20px 12px; border-top: 1px solid var(--field-rule); }
.professionals-process li::marker { font: 400 14px/1.4 var(--body); }
.professionals-process h3 { font-size: 28px; }
.professionals-process li p { margin-top: 12px; font-size: 16px; }
.professionals-coverage { padding-block: 48px; border-top: 1px solid var(--ink); }
.professionals-coverage .professionals-intro { max-width: 64ch; }
.professionals-scopes { margin-top: 28px; border-block: 1px solid var(--field-rule); }
.professionals-scopes > summary { font: 500 28px/1.3 var(--display); }
.professionals-body { display: grid; grid-template-columns: 1fr 2fr; gap: 64px; padding-block: 24px; border-top: 1px solid var(--rule); }
.professionals-body dt h3 { font-size: 32px; }
.professionals-body dt p { font-size: 14px; margin-top: 12px; }
.professionals-body dd { margin: 0; font-size: 16px; }
.professionals-offer { display: grid; grid-template-columns: 1fr 1.1fr; gap: 64px; padding-block: 48px; border-top: 1px solid var(--ink); margin-bottom: 32px; }
.professionals-price { font: 500 60px/1.1 var(--display); margin-top: 20px; }
.professionals-price span { display: block; font: 400 15px/1.4 var(--body); margin-block: 8px 16px; }
.professionals-offer > div:last-child > .button { margin-top: 24px; }
.professionals-terms, .professionals-ownership { margin-top: 24px; border-block: 1px solid var(--field-rule); }
.professionals-terms p, .professionals-ownership p { font-size: 15px; margin-block: 16px 20px; }
.marketing-page:has(.professionals-review) .public-nav a[aria-current] { border-bottom: 2px solid var(--accent); text-decoration: none; }
.marketing-page:has(.professionals-review) .public-nav a:hover { background: var(--surface); text-decoration: none; box-shadow: none; }
@media (max-width: 1000px) { .professionals-opening, .professionals-process, .professionals-offer, .professionals-body { gap: 32px; } .professionals-invitation h1 { font-size: 60px; } }
@media (max-width: 900px) {
  .marketing-page:has(.professionals-review) .public-header { position: relative; flex-wrap: wrap; }
  .marketing-page:has(.professionals-review) .public-header:has(.public-menu[open]) { background: var(--surface); border-bottom: 1px solid var(--ink); }
  .marketing-page:has(.professionals-review) .public-menu[open] { width: 100%; margin-left: 0; border-bottom: 0; padding-bottom: 12px; }
  .marketing-page:has(.professionals-review) .public-menu[open] > summary { position: absolute; top: 20px; right: 28px; }
  .marketing-page:has(.professionals-review) .public-menu[open] nav { position: static; margin-top: 20px; padding: 10px 0 24px; border-block: 1px solid var(--rule); background: transparent; gap: 0; }
  .marketing-page:has(.professionals-review) .public-menu nav > a:not(.button) { font: 400 18px/1.4 var(--body); padding-block: 12px; }
  .marketing-page:has(.professionals-review) .public-menu[open] .button { width: 100%; justify-self: stretch; margin-top: 16px; }
}
@media (max-width: 700px) {
  .professionals-opening, .professionals-process, .professionals-offer, .professionals-body { display: flex; flex-direction: column; gap: 28px; }
  .professionals-opening { padding-block: 28px 36px; }
  .professionals-invitation h1 { font-size: 48px; }
  .professionals-intro { font-size: 17px; margin-block: 20px; }
  .professionals-review .button { width: 100%; text-align: center; font-size: 14px; }
  .professionals-report h2 { font-size: 36px; }
  .professionals-report > header, .professionals-report-body { padding: 20px; }
  .professionals-report-body > h3 { font-size: 28px; }
  .professionals-process h2, .professionals-coverage h2, .professionals-offer h2 { font-size: 36px; }
  .professionals-process, .professionals-coverage, .professionals-offer { padding-block: 36px; }
  .professionals-price { font-size: 48px; }
}
/* Scope is visible before the same claim is traced through the workflow. */
.professionals-opening { gap: 72px; }
.professionals-invitation h1 { font-size: 60px; }
.professionals-report h2 { font-size: 32px; }
.professionals-report > header { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; padding: 18px 24px; }
.professionals-report > header p { margin: 0; }
.professionals-report-body > h3 { font-size: 28px; }
.professionals-report-body { padding: 20px 24px; }
.professionals-amounts { padding-block: 16px; margin-top: 16px; }
.professionals-coverage { padding-block: 32px; }
.professionals-coverage h2 { max-width: none; }
.professionals-coverage .professionals-intro { margin-block: 16px 24px; }
.professionals-scope-index { display: grid; grid-template-columns: 1fr 1fr; gap: 0 48px; align-items: start; }
.professionals-scope-index .professionals-body { display: block; border: 0; border-top: 1px solid var(--field-rule); margin: 0; padding: 0; }
.professionals-body > summary { font: 500 28px/1.3 var(--display); padding-block: 18px; }
.professionals-body summary small { font: 400 14px/1.4 var(--body); margin-left: 16px; }
.professionals-body > p { font-size: 15px; margin: 12px 0; }
.professionals-body[open] { padding-bottom: 20px; }
.professionals-process { display: block; }
.professionals-process-lead { display: grid; grid-template-columns: 1fr 2fr; gap: 48px; align-items: center; }
.professionals-process-lead img { width: 100%; height: auto; }
.professionals-process ol { padding: 0; list-style: none; }
.professionals-process .professionals-ledger > li { display: grid; grid-template-columns: 1fr 1.1fr; gap: 72px; padding: 24px 0; }
.professionals-ledger > li > div:first-child p { max-width: 48ch; }
.professionals-carried { background: var(--surface); padding: 20px 24px; align-self: start; }
.professionals-carried cite { font: 500 24px/1.2 var(--display); }
.professionals-process .professionals-carried p { font-size: 14px; }
.professionals-offer { background: var(--surface); padding: 40px; gap: 72px; border: 1px solid var(--field-rule); }
.professionals-free-offer h2 { font-size: 40px; }
.professionals-paid-offer h3 { font-size: 32px; }
.professionals-paid-offer .professionals-unavailable { margin-top: 12px; }
.professionals-price { font-size: 48px; }
.professionals-price span { display: inline; margin-left: 12px; }
.professionals-paid-offer > p:not(.professionals-small, .professionals-price, .professionals-unavailable) { margin-top: 20px; font-size: 16px; }
.professionals-review details[open] > summary { text-decoration: underline; text-underline-offset: 5px; }
@media (max-width: 1000px) { .professionals-opening, .professionals-process .professionals-ledger > li, .professionals-offer { gap: 32px; } }
@media (max-width: 700px) {
 .professionals-invitation h1 { font-size: 44px; }
 .professionals-invitation .professionals-intro { font-size: 16px; margin-block: 16px; }
 .professionals-report > header { padding: 16px; }
 .professionals-report h2 { font-size: 28px; }
 .professionals-report-body { padding: 20px 16px; }
 .professionals-scope-index { grid-template-columns: 1fr; }
 .professionals-body > summary { font-size: 26px; padding-block: 16px; }
 .professionals-process-lead { grid-template-columns: 100px 1fr; gap: 20px; align-items: start; }
 .professionals-process-lead h2 { font-size: 30px; }
 .professionals-process-lead .professionals-intro { font-size: 15px; margin-top: 12px; }
 .professionals-process .professionals-ledger > li { display: block; }
 .professionals-carried { margin-top: 20px; }
 .professionals-offer { padding: 24px 20px; gap: 32px; }
 .professionals-free-offer h2 { font-size: 32px; }
 .professionals-paid-offer { border-top: 1px solid var(--field-rule); padding-top: 24px; }
 .professionals-price { font-size: 44px; }
 .professionals-price span { margin-left: 8px; font-size: 14px; }
}

/* One selected reporting scope drives the sample and its downloads. */
.professionals-opening { grid-template-columns: 1fr 1.15fr; align-items: start; }
.professionals-picker { display: grid; grid-template-columns: 1fr 1fr; gap: 0 16px; margin-top: 28px; }
.professionals-picker a { display: grid; align-content: center; min-height: 68px; padding: 12px; border-bottom: 1px solid var(--field-rule); text-decoration: none; }
.professionals-picker a span { font: 500 26px/1.2 var(--display); }
.professionals-picker a small { font: 400 12px/1.4 var(--body); margin-top: 4px; }
.professionals-picker a[aria-current] { background: var(--accent); color: var(--bg); }
.professionals-picker a:hover { outline: 1px solid var(--accent); outline-offset: -1px; }
.professionals-now { margin-top: 24px; border-top: 1px solid var(--field-rule); }
.professionals-now .professionals-small { margin-top: 8px; }
.professionals-downloads { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; margin-top: 20px; }
.professionals-downloads .professionals-link { margin: 0; }
.professionals-proof > .professionals-small { margin-top: 8px; }
.professionals-proof > .professionals-scopes { margin-top: 20px; }
.professionals-proof > .professionals-scopes > summary { font: 500 24px/1.3 var(--display); }
.professionals-scopes > p { margin-block: 16px; font-size: 15px; }
.professionals-process { display: grid; grid-template-columns: 1fr 1.15fr; gap: 64px; }
.professionals-process-art img { width: 100%; height: auto; }
.professionals-process-art > p { max-width: 44ch; }
.professionals-process .professionals-thread { list-style: decimal; padding-left: 24px; }
.professionals-process .professionals-thread > li { border-top: 0; border-left: 1px solid var(--field-rule); padding: 0 0 24px 20px; }
.professionals-thread h3 { font-size: 28px; }
.professionals-thread li p { margin-top: 8px; }
.professionals-process h2 { font-size: 40px; }
.professionals-through > .professionals-intro { font-size: 16px; margin-top: 16px; }
.professionals-offer { background: transparent; border: 0; border-top: 1px solid var(--ink); padding: 40px 0; align-items: start; }
.professionals-paid-offer { background: var(--surface); padding: 28px; }
.professionals-paid-offer > .professionals-small, .professionals-paid-offer > p { font-size: 14px; }
.professionals-paid-offer .professionals-price { font-size: 44px; }
@media (max-width: 700px) {
 .professionals-opening { display: block; padding-top: 20px; }
 .professionals-invitation h1 { font-size: 44px; }
 .professionals-picker { margin-top: 20px; }
 .professionals-picker a { min-height: 60px; padding: 10px; }
 .professionals-picker a span { font-size: 24px; }
 .professionals-now { margin-block: 20px 28px; }
 .professionals-proof { margin-top: 28px; }
 .professionals-process { display: block; }
 .professionals-process-art { margin-bottom: 28px; }
 .professionals-process-art img { max-width: 100%; }
 .professionals-process h2 { font-size: 36px; }
 .professionals-through > .professionals-intro { margin-top: 16px; }
 .professionals-offer { padding: 32px 0; }
 .professionals-paid-offer { padding: 24px 20px; border: 0; }
}

.professionals-picker-label { margin-top: 24px; }
.professionals-picker-label + .professionals-picker { margin-top: 8px; }

/* Final revision: the active choice and its specimen form one reading sequence. */
.professionals-now { border: 0; margin-top: 24px; }
.professionals-now .professionals-small { max-width: 44ch; }
.professionals-picker { gap: 0 20px; }
.professionals-picker a { padding-left: 0; }
.professionals-picker a[aria-current] { background: transparent; color: var(--ink); border-bottom: 2px solid var(--accent); }
.professionals-picker a[aria-current] span { text-decoration: underline; text-underline-offset: 5px; }
.professionals-supported { font-size: 13px; margin-top: 16px; }
.professionals-report > header { background: var(--surface); color: var(--ink); border-bottom: 1px solid var(--field-rule); padding-block: 16px; }
.professionals-report .professionals-holder { font: 400 15px/1.4 var(--body); }
.professionals-report-body > h3 { font-size: 36px; }
.professionals-note { padding-bottom: 12px; }
.professionals-note[open] { background: var(--surface); padding-inline: 12px; }
.professionals-note > p, .professionals-note h4 { margin-top: 12px; }
.professionals-note .professionals-split { margin-bottom: 12px; }
.professionals-process { grid-template-columns: .85fr 1.4fr; align-items: start; }
.professionals-process-art { padding-top: 12px; }
.professionals-through h2 { max-width: 25ch; }
.professionals-traced-title { font: 500 26px/1.2 var(--display); margin-top: 28px; }
.professionals-process .professionals-dated-thread { padding-left: 0; list-style: none; margin-top: 24px; }
.professionals-process .professionals-dated-thread > li { display: grid; grid-template-columns: 130px 1fr; gap: 28px; border-left: 0; border-top: 1px solid var(--field-rule); padding: 20px 0; }
.professionals-dated-thread time, .professionals-event-label { font-size: 14px; color: var(--muted); }
.professionals-thread h3 { font-size: 26px; }
.professionals-prices { display: flex; flex-wrap: wrap; gap: 20px 32px; }
.professionals-prices .professionals-price { font-size: 40px; margin-top: 20px; }
.professionals-prices .professionals-price span { display: block; margin: 4px 0 0; }
.professionals-plan-difference { margin-top: 20px; }
.professionals-plan-difference > div { display: grid; grid-template-columns: 95px 1fr; gap: 16px; border-top: 1px solid var(--field-rule); padding-block: 12px; font-size: 14px; }
.professionals-plan-difference dd { margin: 0; }
.professionals-paid-offer > p.professionals-small { margin-top: 12px; }
@media (max-width: 700px) {
 .professionals-now { margin-block: 20px 24px; }
 .professionals-picker { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0 12px; }
 .professionals-picker a { min-height: 76px; }
 .professionals-picker a small { font-size: 12px; overflow-wrap: anywhere; }
 .professionals-supported { margin-top: 12px; }
 .professionals-proof { margin-top: 20px; }
 .professionals-report-body > h3 { font-size: 30px; }
 .professionals-process .professionals-dated-thread > li { grid-template-columns: 82px 1fr; gap: 16px; }
 .professionals-dated-thread time, .professionals-event-label { font-size: 13px; }
 .professionals-process-art { padding-top: 0; }
 .professionals-plan-difference > div { grid-template-columns: 1fr; gap: 8px; }
}
