/* A working handbook: existing site palette and type, readable evidence tables,
   one prominent contract, and navigation that stays available as you read. */
.migration-handbook .page-intro { max-width: 1080px; padding-bottom: 44px; }
.migration-handbook .page-intro h1 { max-width: 24ch; font-size: clamp(38px, 4.3vw, 62px); }
.migration-handbook .page-intro > p { max-width: 66ch; }
.migration-handbook .article-layout { grid-template-columns: 230px minmax(0, 760px); gap: clamp(35px, 5vw, 80px); }
.migration-handbook .contents { position: sticky; top: 24px; align-self: start; max-height: calc(100vh - 48px); overflow-y: auto; padding: 0 12px 0 0; }
.migration-handbook .contents nav { gap: 0; }
.migration-handbook .contents-primary > strong { font-size: 14px; }
.migration-handbook .guide-mobile-contents { display: none; }
.migration-handbook .contents a { display: block; padding: 7px 0; font-size: 13px; }
.migration-handbook .resource-prose > h2 { margin-top: 64px; padding-top: 26px; border-top: 1px solid var(--line); }
.migration-handbook .resource-prose > h2:first-of-type { margin-top: 32px; padding-top: 0; border: 0; }
.migration-handbook .guide-start { padding: 0 0 24px; border-bottom: 1px solid var(--line); }
.migration-handbook .guide-start p { font-size: 15px; line-height: 1.7; margin-bottom: 16px; }
.migration-handbook .guide-start nav { display: flex; gap: 10px 24px; flex-wrap: wrap; font-size: 14px; }
.migration-handbook .guide-contract { margin: 30px 0; padding: 26px 30px; background: var(--white); border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 0 8px 8px 0; }
.migration-handbook .guide-contract h3 { margin: 0 0 12px; }
.migration-handbook .guide-caption { font-size: 13px; line-height: 1.65; }
.migration-handbook .guide-contract dl { display: grid; grid-template-columns: 100px minmax(0, 1fr); margin: 20px 0 0; font-size: 15px; line-height: 1.75; }
.migration-handbook .guide-contract dt, .migration-handbook .guide-contract dd { border-top: 1px solid var(--line); padding: 13px 0; margin: 0; }
.migration-handbook .guide-contract dt { font-weight: 650; padding-right: 15px; }
.migration-handbook .guide-contract dd { color: var(--muted); }
.migration-handbook .guide-deliverable { font-size: 15px; background: var(--tint); padding: 16px 20px; border-radius: 6px; }
.migration-handbook .guide-callout { padding: 20px 24px; margin: 26px 0; background: var(--tint); border-radius: 6px; }
.migration-handbook .guide-callout h3 { margin: 0 0 12px; font-size: 20px; }
.migration-handbook .guide-callout p { margin: 0; font-size: 16px; }
.migration-handbook caption { text-align: left; font-size: 14px; font-weight: 600; color: var(--ink); padding-bottom: 12px; }
.migration-handbook th[scope="row"] { background: white; font-weight: 600; width: 22%; }
.migration-handbook th, .migration-handbook td { line-height: 1.65; }
.migration-handbook .guide-example-table td { white-space: nowrap; }
.migration-handbook .guide-example-table tbody tr:last-child td { background: var(--tint); color: var(--ink); font-weight: 600; }
.migration-handbook .guide-gates li { padding-left: 5px; margin-bottom: 16px; }
@media (max-width: 960px) {
  .migration-handbook .article-layout { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .migration-handbook .contents { position: static; max-height: none; padding: 0; }
  .migration-handbook .contents-primary { display: none; }
  .migration-handbook .guide-mobile-contents { display: block; border-bottom: 1px solid var(--line); padding-bottom: 18px; }
  .migration-handbook .guide-mobile-contents summary { font-weight: 600; cursor: pointer; }
  .migration-handbook .contents nav { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 24px; margin-bottom: 0; }
}
@media (max-width: 540px) {
  .migration-handbook .contents nav { grid-template-columns: minmax(0, 1fr); }
  .migration-handbook .guide-contract { padding: 20px; }
  .migration-handbook .guide-contract dl { grid-template-columns: minmax(0, 1fr); }
  .migration-handbook .guide-contract dt { padding: 12px 0 2px; }
  .migration-handbook .guide-contract dd { border: 0; padding: 0 0 12px; }
  .migration-handbook .resource-prose > h2 { margin-top: 44px; }
}
@media print {
  .site-header, .site-footer, .breadcrumbs, .migration-handbook .contents,
  .migration-handbook .guide-start, .migration-handbook .next-reading { display: none; }
  .migration-handbook { width: 100%; }
  .migration-handbook .article-layout { display: block; }
  .migration-handbook .page-intro { padding: 0 0 24px; }
  .migration-handbook .page-intro h1 { font-size: 32px; }
  .migration-handbook .prose { font-size: 11pt; }
  .migration-handbook h2, .migration-handbook h3 { break-after: avoid; }
  .migration-handbook tr { break-inside: avoid; }
  .migration-handbook .resource-table-scroll, .migration-handbook pre { overflow: visible; }
  .migration-handbook pre { white-space: pre-wrap; }
  .migration-handbook th, .migration-handbook td { min-width: 0; }
}
