/* Long-form legal-page conventions, scoped to the technical report. */
.technical-report-page { color: var(--color-neutral); overflow-wrap: anywhere; }
.technical-report-page .technical-container { max-width: 970px; padding-block: 40px 56px; }
.technical-report-page .technical-intro { margin-bottom: 28px; }
.technical-report-page h1, .technical-report-page h2, .technical-report-page h3 { color: var(--color-dark-blue); font-family: var(--font-heading); font-weight: 600; }
.technical-report-page h1 { margin: 0 0 12px; font-size: clamp(32px, 4vw, 44px); line-height: 1.2; }
.technical-report-page h2 { margin: 0 0 16px; font-size: clamp(24px, 3vw, 30px); line-height: 1.3; }
.technical-report-page h3 { margin: 28px 0 12px; font-size: 22px; line-height: 1.3; }
.technical-report-page p { margin: 0 0 16px; }
.technical-report-page a:not(.button) { color: var(--color-primary); text-underline-offset: 3px; }
.technical-report-page a:not(.button):hover { color: var(--color-dark-blue); }
.technical-report-page .technical-dates { color: var(--color-dark-blue); font-weight: 500; }
.technical-report-page .technical-actions { display: flex; flex-wrap: wrap; gap: 16px; margin-block: 24px; }
.technical-report-page .button { min-height: 44px; }
.technical-report-page .technical-contents { padding: 24px; margin-bottom: 28px; background: var(--color-pale-blue); border-radius: 8px; }
.technical-report-page .technical-contents { scroll-margin-top: 24px; }
.technical-report-page .technical-return { margin: 20px 0 0; }
.technical-report-page .technical-scroll-help { display: none; }
.technical-report-page .technical-contents ul { margin: 0; padding-left: 24px; }
.technical-report-page .technical-contents li + li { margin-top: 8px; }
.technical-report-page .technical-reading { min-width: 0; padding: 36px 40px; background: var(--color-white); border: 1px solid var(--color-pale-blue); border-radius: 8px; }
.technical-report-page .technical-reading section + section { margin-top: 48px; padding-top: 32px; border-top: 1px solid var(--color-pale-blue); }
.technical-report-page .technical-reading section { scroll-margin-top: 24px; }
.technical-report-page .technical-scores { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px; margin-bottom: 24px; }
.technical-report-page .technical-score { background: var(--color-pale-blue); padding: 16px 8px; text-align: center; }
.technical-report-page .technical-score strong { font: 700 32px/1.2 var(--font-heading); }
.technical-report-page .technical-score p:last-child { margin-bottom: 0; }
.technical-report-page .technical-journey { display: flex; flex-wrap: wrap; gap: 16px 32px; padding-left: 24px; margin-block: 24px; color: var(--color-dark-blue); font-weight: 700; }
.technical-report-page .technical-images { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; margin-block: 24px; }
.technical-report-page .technical-images--single { grid-template-columns: minmax(0, 1fr); }
.technical-report-page figure { margin: 0; min-width: 0; }
.technical-report-page figure img { display: block; width: 100%; max-width: 100%; height: auto; border-radius: 8px; }
.technical-report-page figcaption { margin-top: 12px; font-size: 16px; line-height: 1.5; }
.technical-report-page .technical-table-scroll { max-width: 100%; overflow-x: auto; margin-block: 24px; }
.technical-report-page table { width: 100%; border-collapse: collapse; color: var(--color-dark-blue); font-size: 16px; line-height: 1.5; }
.technical-report-page table { overflow-wrap: normal; word-break: normal; }
.technical-report-page caption { font-weight: 700; text-align: left; padding-bottom: 12px; }
.technical-report-page caption span { display: block; font-weight: 400; margin-top: 8px; }
.technical-report-page th, .technical-report-page td { padding: 12px; border: 1px solid var(--color-pale-blue); text-align: left; vertical-align: top; }
.technical-report-page thead { background: var(--color-pale-blue); }
.technical-report-page .technical-results-table { min-width: 760px; }
.technical-report-page .technical-results-table th[scope="row"] { width: 45%; font-weight: 500; }
.technical-report-page .technical-note { padding: 16px; background: var(--color-pale-blue); border-left: 4px solid var(--color-primary); border-radius: 8px; color: var(--color-dark-blue); }
.technical-report-page .cta-section .section-title { color: var(--color-white); }
@media (min-width: 1024px) {
  .technical-report-page .technical-contents { scroll-margin-top: 178px; }
}
@media (max-width: 1023px) {
  .technical-report-page .technical-scores { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .technical-report-page .technical-table--3 { min-width: 560px; }
  .technical-report-page .technical-table--3 th,
  .technical-report-page .technical-table--3 td { white-space: nowrap; }
  .technical-report-page .technical-table--3 th:first-child { min-width: 220px; }
  .technical-report-page .technical-table--3 th:not(:first-child) { min-width: 140px; }
  .technical-report-page .technical-table--2 th:first-child { width: 65%; }
  .technical-report-page .technical-table--2 th:last-child,
  .technical-report-page .technical-table--2 td:last-child { width: 35%; min-width: 96px; }
  .technical-report-page .technical-table--2 thead th:last-child { white-space: nowrap; }
}
@media (max-width: 767px) {
  .technical-report-page .technical-scroll-help { display: block; font-size: 16px; }
  .technical-report-page .technical-container { padding-inline: 20px; padding-block: 28px 36px; }
  .technical-report-page .technical-reading { padding: 24px 20px; }
  .technical-report-page .technical-contents { padding: 20px; }
  .technical-report-page .technical-reading section + section { margin-top: 32px; padding-top: 24px; }
  .technical-report-page .technical-images { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 389px) {
  .technical-report-page .technical-scores { grid-template-columns: minmax(0, 1fr); }
}
