.upgrade-hero h1 { margin-top: 8px; font-size: clamp(30px,3.8vw,46px); line-height: 1.4; }
.upgrade-hero > .wrap > p:not(.kicker):not(.decision-editor) { max-width: 830px; }
.upgrade-summary { max-width: 900px; margin-top: 24px; padding: 20px 23px; border: 1px solid #d0e0ed; border-left: 3px solid var(--blue); border-radius: 4px; background: #fff; }
.upgrade-summary > strong { color: var(--blue); font-size: 12px; }
.upgrade-summary > p { margin: 8px 0 0; color: #486074; font-size: 14px; line-height: 1.9; }
.page-hero.upgrade-hero .wrap > p.decision-editor { margin-top: 18px; font-size: 11px; line-height: 1.9; color: #7a8d9d; }
.upgrade-layout { display: grid; grid-template-columns: 195px minmax(0,1fr); gap: 60px; align-items: start; }
.upgrade-toc { display: grid; gap: 13px; position: sticky; top: 108px; padding-left: 17px; border-left: 2px solid var(--line); font-size: 12px; }
.upgrade-toc > strong { margin-bottom: 6px; color: var(--ink); font-size: 13px; }
.upgrade-toc a { color: var(--muted); line-height: 1.7; }
.upgrade-toc a:hover { color: var(--blue); }
.upgrade-toc a span { margin-right: 11px; color: #9baebb; font: 10px ui-monospace,monospace; }
.upgrade-toc .upgrade-toc-apply { margin-top: 8px; color: var(--blue); }
.upgrade-content { min-width: 0; }
.upgrade-content > section { padding-bottom: 38px; margin-bottom: 38px; border-bottom: 1px solid var(--line); scroll-margin-top: 105px; }
.upgrade-content > section:last-child { margin-bottom: 0; border-bottom: 0; }
.upgrade-content h2 { margin: 8px 0 19px; font-size: 26px; line-height: 1.5; }
.upgrade-content p, .upgrade-content li { color: #50677a; font-size: 14px; line-height: 2; }
.upgrade-content p { margin: 15px 0; }
.upgrade-content .kicker { margin: 0; color: var(--teal); font-size: 11px; line-height: 1.7; }
.upgrade-content .decision-table a, .upgrade-sources a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.upgrade-content .decision-table { min-width: 0; table-layout: fixed; }
.upgrade-content .decision-table th, .upgrade-content .decision-table td { vertical-align: top; white-space: normal; overflow-wrap: anywhere; word-break: normal; line-height: 1.9; }
.upgrade-content .decision-table th:first-child { width: 27%; }
.upgrade-content .decision-table .upgrade-cell-content { min-width: 0; overflow-wrap: anywhere; }
.upgrade-cell-label { display: none; }
.upgrade-content .decision-table caption { padding: 12px 17px; text-align: left; color: #647c8e; font-size: 12px; line-height: 1.8; }
.upgrade-content .scene-reading { margin: 20px 0; }
.upgrade-chain { display: flex; flex-wrap: wrap; gap: 9px; padding: 0; margin: 24px 0; list-style: none; }
.upgrade-chain li { padding: 8px 12px; border: 1px solid #d6e3ef; border-radius: 4px; background: #f5f9fd; font-size: 12px; }
.upgrade-chain li + li::before { content: '→'; margin-right: 8px; color: #7c9ab6; }
.upgrade-fact { margin: 24px 0; padding: 22px; border: 1px solid #d6e4ee; border-radius: 6px; background: #f6f9fc; }
.upgrade-fact > strong { font-size: 23px; color: #2e5a7f; }
.upgrade-fact p { margin-bottom: 0; font-size: 13px; }
.upgrade-steps { padding-left: 22px; }
.upgrade-steps li { padding-left: 5px; margin-bottom: 14px; }
.upgrade-sources { margin-top: 30px; padding: 21px; border: 1px solid var(--line); border-radius: 5px; background: #fafcfd; }
.upgrade-sources h3 { margin: 0; font-size: 16px; }
.upgrade-sources p, .upgrade-sources li { font-size: 12px; }
@media (max-width: 900px) { .upgrade-layout { grid-template-columns: 1fr; gap: 30px; }.upgrade-toc { position: static; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px 16px; padding: 18px; border: 1px solid var(--line); border-radius: 5px; }.upgrade-toc > strong { grid-column: 1 / -1; }.upgrade-toc .upgrade-toc-apply { margin-top: 0; } }
@media (max-width: 600px) { .upgrade-content h2 { font-size: 23px; }.upgrade-summary { padding: 17px; }.upgrade-summary > p { font-size: 13px; }.upgrade-hero h1 { font-size: clamp(26px,7.5vw,30px); }.upgrade-fact { padding: 18px; }.upgrade-fact > strong { font-size: 19px; }.upgrade-content > section { margin-bottom: 29px; padding-bottom: 29px; } }

/* Narrow screens keep each comparison together instead of squeezing columns. */
@media (max-width: 600px) {
 .upgrade-content .upgrade-table-wrap { overflow: visible; border: 0; border-radius: 0; background: transparent; }
 .upgrade-content .upgrade-table { display: block; width: 100%; min-width: 0; }
 .upgrade-content .upgrade-table caption { display: block; padding: 0 0 13px; color: #687e90; font-size: 12px; line-height: 1.8; }
 .upgrade-content .upgrade-table thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
 .upgrade-content .upgrade-table tbody { display: grid; gap: 13px; }
 .upgrade-content .upgrade-table tbody tr { display: block; overflow: hidden; border: 1px solid #d8e3ec; border-radius: 6px; background: #fff; }
 .upgrade-content .upgrade-table tbody th, .upgrade-content .upgrade-table tbody td { display: block; width: auto; padding: 14px 16px; border: 0; white-space: normal; font-size: 13px; }
 .upgrade-content .upgrade-table tbody th:first-child { width: auto; }
 .upgrade-content .upgrade-table tbody th { background: #f2f7fb; color: #294e6d; font-size: 14px; font-weight: 600; }
 .upgrade-content .upgrade-table tbody td + td { padding-top: 0; }
 .upgrade-content .upgrade-cell-label { display: block; margin-bottom: 5px; color: #7a8fa0; font-size: 11px; font-weight: 400; }
 .upgrade-content .upgrade-cell-content, .upgrade-content .upgrade-cell-content a { white-space: normal; overflow-wrap: anywhere; word-break: normal; }
}
