/* Local Remediation composition. All route marks are decorative and static. */
.remediation-document { scroll-padding-top: 120px; scroll-behavior: auto; }
.remediation-page :is(h1, h2, p, a) { overflow-wrap: normal; word-break: normal; hyphens: none; }
.remediation-page .header-contact { display: flex; }
.remediation-page main { background: radial-gradient(ellipse at 90% 25%, #203d6a40, transparent 45%), var(--ink); }
.remediation-page .remediation-title { padding-block: 78px 42px; }
.remediation-page h1 { max-width: 1180px; font-size: clamp(2.4rem, 5.5vw, 5rem); line-height: 1.06; }
.remediation-page .remediation-introduction { position: relative; padding-bottom: 94px; }
.remediation-page .remediation-opening-copy { width: 47%; margin-left: 53%; }
.remediation-page :is(.remediation-opening-copy, .remediation-copy) p { font-size: 1.0625rem; line-height: 1.8; }
.remediation-page .remediation-copy p + p { margin-top: 24px; }
.remediation-page .remediation-origin { position: absolute; left: 46%; top: 10px; bottom: 0; width: 1px; background: #58769f; }
.remediation-page .remediation-origin::before,
.remediation-page .remediation-connection::after {
  content: ""; position: absolute; width: 11px; height: 11px; border: 1px solid var(--blue);
  border-radius: 50%; background: var(--ink); left: -5px; top: -5px;
}
.remediation-page .remediation-origin::before { width: 17px; height: 17px; left: -8px; top: -8px; box-shadow: 0 0 0 7px #a9c8ff0a; }
.remediation-page .remediation-journey { position: relative; padding-bottom: 88px; }
.remediation-page .remediation-journey::before { content: ""; position: absolute; left: 46%; top: 0; bottom: 0; width: 1px; background: #58769f; }
.remediation-page .remediation-journey > section { position: relative; }
.remediation-page .remediation-block { min-width: 0; }
.remediation-page .remediation-block h2 { font-size: clamp(2rem, 3.25vw, 3.15rem); line-height: 1.12; margin-bottom: 30px; }
.remediation-page .remediation-connection { position: absolute; height: 1px; background: #58769f; pointer-events: none; }
.remediation-page .remediation-work { padding-block: 50px 76px; }
.remediation-page .remediation-work .remediation-block { width: 39%; }
.remediation-page .remediation-work .remediation-connection { top: 76px; left: 42%; width: 4%; }
.remediation-page .remediation-work .remediation-connection::after { left: auto; right: -5px; }
.remediation-page .remediation-providers { margin-top: -48px; padding-bottom: 94px; }
.remediation-page .remediation-providers .remediation-block { width: 40%; margin-left: 60%; padding: 30px 32px 32px; border-left: 1px solid #7897c2; background: #142746; }
.remediation-page .remediation-providers .remediation-block h2 { font-size: clamp(1.875rem, 2.5vw, 2.4rem); margin-bottom: 26px; }
.remediation-page .remediation-providers .remediation-connection { top: 52px; left: 46%; width: 14%; background: none; border-top: 1px dashed #7897c2; }
.remediation-page .remediation-providers .remediation-connection::after { top: -6px; }
.remediation-page .remediation-providers p:last-child { border-top: 1px solid #4a6286; padding-top: 24px; }
.remediation-page .remediation-retest { padding-block: 0 94px; }
.remediation-page .remediation-retest .remediation-block { width: 47%; margin-left: 53%; }
.remediation-page .remediation-retest h2 { max-width: 490px; color: var(--blue); }
.remediation-page .remediation-retest .remediation-connection { top: 25px; left: 46%; width: 4%; }
.remediation-page .remediation-evidence { padding-top: 30px; }
.remediation-page .remediation-evidence .remediation-connection { top: 0; left: 46%; width: 1px; }
.remediation-page .remediation-record { position: relative; width: 92%; padding: 52px; display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 60px; }
.remediation-page .remediation-record h2 { font-size: clamp(2rem, 3vw, 2.9rem); line-height: 1.14; }
.remediation-page .remediation-record p:last-child { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--line-light); color: #173763; }
.remediation-page .remediation-limits { position: relative; padding-block: 58px 104px; background: #0b1425; border-top: 1px solid #344663; }
.remediation-page .remediation-boundary { max-width: 790px; }
.remediation-page .remediation-boundary h2 { margin-bottom: 30px; font-size: clamp(2rem, 3vw, 2.9rem); }
.remediation-page .remediation-contact { padding-block: 100px 112px; background: linear-gradient(125deg, #203e68, #122844 75%); border-top: 1px solid #425c80; }
.remediation-page .remediation-invitation { text-align: center; }
.remediation-page .remediation-invitation h2 { font-size: clamp(2.4rem, 4.5vw, 4.3rem); margin-bottom: 30px; }
.remediation-page .remediation-invitation .remediation-copy { max-width: 660px; margin-inline: auto; }
.remediation-page .remediation-invitation p { color: #c4d3e7; }
.remediation-page .remediation-invitation .actions { justify-content: center; }
.remediation-page a { scroll-margin-block: 130px 24px; }
.remediation-page .site-footer nav a { min-height: 44px; display: inline-flex; align-items: center; gap: 8px; }
@media (max-width: 1100px) {
  .remediation-document { scroll-padding-top: 24px; }
  .remediation-page .site-header { position: relative; padding-right: 24px; }
  .remediation-page .site-header nav { flex: 1 1 auto; }
  .remediation-page .header-contact { margin-left: auto; padding: 12px 0 18px; }
  .remediation-page .remediation-providers .remediation-block { width: 46%; margin-left: 54%; padding-inline: 26px; }
  .remediation-page .remediation-providers .remediation-connection { width: 8%; }
  .remediation-page .remediation-record { width: 100%; gap: 36px; padding: 40px; }
  .remediation-page a { scroll-margin-block: 24px; }
}
@media (max-width: 800px) {
  .remediation-page .remediation-title { padding-block: 54px 34px; }
  .remediation-page h1 { font-size: clamp(2.15rem, 6.6vw, 3.5rem); }
  .remediation-page .remediation-introduction { padding: 0 0 60px 28px; }
  .remediation-page .remediation-opening-copy { width: auto; margin-left: 0; max-width: 650px; }
  .remediation-page .remediation-origin, .remediation-page .remediation-journey::before { left: 0; }
  .remediation-page .remediation-origin::before { width: 11px; height: 11px; left: -5px; top: -5px; }
  .remediation-page .remediation-journey { padding: 0 0 56px 28px; }
  .remediation-page .remediation-work { padding-block: 0 54px; }
  .remediation-page .remediation-providers { margin-top: 0; padding-bottom: 54px; }
  .remediation-page .remediation-retest { padding-bottom: 54px; }
  .remediation-page .remediation-journey .remediation-block { width: 100%; margin-left: 0; }
  .remediation-page .remediation-block h2 { font-size: 2.25rem; margin-bottom: 24px; }
  .remediation-page .remediation-providers .remediation-block { padding: 26px; }
  .remediation-page .remediation-journey .remediation-connection { top: 20px; left: -28px; width: 16px; }
  .remediation-page .remediation-work .remediation-connection::after { left: -5px; right: auto; }
  .remediation-page .remediation-providers .remediation-connection { top: 46px; width: 28px; }
  .remediation-page .remediation-evidence { padding-top: 0; }
  .remediation-page .remediation-evidence .remediation-connection { top: 48px; width: 28px; }
  .remediation-page .remediation-record { padding: 28px; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .remediation-page .remediation-limits { padding-block: 54px 64px; }
  .remediation-page .remediation-contact { padding-block: 64px 72px; }
}
@media (max-width: 650px) {
  .remediation-page .site-header { padding: 0; }
  .remediation-page .site-header nav { flex-basis: 100%; font-size: .8125rem; gap: 0 22px; }
  .remediation-page .header-contact { margin: 0; padding: 12px 20px 18px; font-size: .875rem; }
  .remediation-page .remediation-title { padding-block: 44px 30px; }
  .remediation-page h1 { font-size: clamp(2.15rem, 8.6vw, 3.5rem); }
  .remediation-page :is(.remediation-opening-copy, .remediation-copy) p { font-size: 1rem; }
  .remediation-page .remediation-block h2 { font-size: 2rem; }
  .remediation-page .remediation-providers .remediation-block { padding: 24px 18px; }
  .remediation-page .remediation-providers .remediation-block h2 { font-size: 1.875rem; }
  .remediation-page .remediation-record { padding: 24px 18px; }
  .remediation-page .remediation-record h2 { font-size: 2rem; }
  .remediation-page .remediation-invitation h2 { font-size: 2.4rem; }
}
@media print {
  .remediation-page :is(.remediation-origin, .remediation-connection), .remediation-page .remediation-journey::before { display: none; }
  .remediation-page .remediation-journey, .remediation-page .remediation-introduction { padding-left: 0; }
  .remediation-page .remediation-journey .remediation-block, .remediation-page .remediation-opening-copy { width: 100%; margin-left: 0; }
  .remediation-page .remediation-providers { margin-top: 0; }
  .remediation-page .remediation-record { width: 100%; grid-template-columns: minmax(0, 1fr); gap: 24px; }
  .remediation-page h2 { break-after: avoid; }
}
