/* Source-rendered comparisons; two selectable models on small screens. */
.comparison-page { background:#fff; color:#172127; }
.compare-wrap { width:min(1060px,calc(100% - 96px)); margin-inline:auto; }
.compare-intro { text-align:center; padding:96px 0 42px; }
.compare-intro .section-label { font-size:14px; margin:0 0 18px; }
.compare-intro h1 { font-size:clamp(38px,4.2vw,60px); font-weight:500; letter-spacing:-.055em; line-height:1.08; margin:0; }
.compare-lead { max-width:580px; margin:25px auto 0; font-size:19px; line-height:1.55; color:#637079; }
.compare-lineup { display:grid; grid-template-columns:repeat(var(--compare-count),minmax(0,1fr)); gap:32px; padding:24px 0 34px; }
.compare-product { min-width:0; text-align:center; display:flex; flex-direction:column; align-items:center; }
.compare-product-link { display:flex; flex-direction:column; align-items:center; flex:1; width:100%; color:inherit; text-decoration:none; }
.compare-product-link:hover h2 { text-decoration:underline; text-decoration-thickness:1px; text-underline-offset:5px; }
.compare-product-link:focus-visible { outline:2px solid currentColor; outline-offset:7px; }
.compare-product-action { justify-content:center; text-align:center; }
.compare-specs thead a { display:flex; align-items:center; min-height:44px; }
.compare-specs thead a:hover,.compare-fit h3 a:hover { text-decoration:underline; text-underline-offset:4px; }
.compare-product figure { width:100%; flex-shrink:0; height:190px; margin:0 0 26px; display:flex; align-items:center; justify-content:center; }
.compare-product img { display:block; width:100%; height:100%; object-fit:contain; user-select:none; -webkit-user-drag:none; }
.comparison-guide--locks .compare-product figure { height:300px; }
.comparison-guide--locks .compare-product:first-child img { max-width:360px; }
.compare-product h2 { font-weight:500; font-size:23px; line-height:1.25; letter-spacing:-.025em; margin:0 0 9px; }
.compare-position { flex-grow:1; font-size:15px; color:#637079; margin:0 auto; max-width:235px; line-height:1.5; min-height:45px; }
.compare-product .text-link { font-size:14px; min-height:44px; gap:9px; margin-top:12px; }
.compare-scale { text-align:center; font-size:11px; line-height:1.5; color:#6a767c; margin:0 0 62px; }
.compare-fit { padding:34px 0 38px; border-block:1px solid #dfe5e8; }
.compare-fit h2,.compare-specs > h2,.compare-help h2 { margin:0 0 28px; font-size:28px; font-weight:500; line-height:1.2; letter-spacing:-.035em; }
.compare-fit ul { padding:0; margin:0; list-style:none; display:grid; grid-template-columns:repeat(var(--compare-count),minmax(0,1fr)); gap:32px; }
.compare-fit h3 { font-size:16px; font-weight:500; margin:0 0 12px; }
.compare-fit p { font-size:15px; line-height:1.6; margin:0; color:#637079; }
.compare-specs { margin-top:68px; }
.compare-specs table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:15px; line-height:1.6; }
.compare-specs thead { position:sticky; top:0; z-index:3; background:#fff; }
.compare-specs th,.compare-specs td { padding:23px 20px; text-align:left; vertical-align:top; border-bottom:1px solid #e2e7e9; overflow-wrap:break-word; }
.compare-specs thead th { font-size:15px; font-weight:500; padding-block:18px; }
.compare-specs th:first-child { width:25%; padding-left:0; }
.compare-specs tbody th[scope=row] { color:#637079; font-size:14px; font-weight:400; }
.compare-specs .compare-group th { font-size:21px; font-weight:500; padding:36px 0 15px; border-bottom:1px solid #c7d0d5; color:#172127; letter-spacing:-.025em; }
.compare-dimension-note { max-width:760px; font-size:12px; line-height:1.7; color:#637079; margin:26px 0; }
.compare-sources { margin:32px 0 0; font-size:13px; line-height:1.65; color:#637079; }
.compare-sources summary { min-height:48px; display:flex; align-items:center; justify-content:space-between; gap:16px; cursor:pointer; list-style:none; border-block:1px solid #e2e7e9; color:#172127; }
.compare-sources summary::-webkit-details-marker { display:none; }
.compare-sources[open] summary span { transform:rotate(45deg); }
.compare-sources > div { padding:12px 0 20px; max-width:800px; }
.compare-sources ul { padding-left:18px; }
.compare-sources a { display:inline-block; min-height:35px; text-decoration:underline; text-underline-offset:4px; }
.compare-help { text-align:center; margin:72px 0 45px; padding:50px 25px; background:var(--surface-stone); }
.compare-help h2 { margin-bottom:18px; }
.compare-help p { max-width:520px; margin:0 auto 18px; font-size:16px; line-height:1.6; color:#637079; }
.compare-help .text-link,.compare-next .text-link { min-height:44px; font-size:14px; }
.compare-next { display:flex; justify-content:space-between; gap:24px; padding:0 0 60px; }
.comparison-page .product-trail { display:flex; flex-wrap:wrap; align-items:center; gap:0 9px; width:min(1060px,calc(100% - 96px)); margin:12px auto 0; padding:0; font-size:12px; line-height:1.45; color:#657078; }
.comparison-page .product-trail a { min-height:44px; display:inline-flex; align-items:center; }
.comparison-page .product-trail > span { color:#879097; }
.comparison-page .sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.compare-model-picker,.compare-change-models { display:none; }
.comparison-guide [data-compare-model][hidden] { display:none; }
@media (max-width:760px) {
 .compare-wrap,.comparison-page .product-trail { width:calc(100% - 40px); }
 .comparison-page .product-trail { margin-top:0; }
 .compare-intro { text-align:left; padding:37px 0 28px; }
 .compare-intro h1 { font-size:39px; }
 .compare-intro .section-label { font-size:12px; margin-bottom:14px; }
 .compare-lead { font-size:16px; margin-top:19px; }
 .compare-lineup { gap:13px; padding:17px 0 20px; }
 .compare-product figure { height:97px; margin-bottom:21px; }
 .comparison-guide--locks .compare-product figure { width:100%; flex-shrink:0; height:190px; }
 .compare-product h2 { font-size:16px; line-height:1.3; min-height:42px; }
 .compare-position { font-size:12px; line-height:1.5; min-height:54px; }
 .compare-product .text-link { font-size:12px; gap:5px; margin-top:7px; }
 .compare-scale { text-align:left; margin-bottom:31px; font-size:10px; }
 .compare-fit { padding:28px 0; }
 .compare-fit h2,.compare-specs > h2,.compare-help h2 { font-size:25px; margin-bottom:24px; }
 .compare-fit ul { display:block; }
 .compare-fit li + li { margin-top:22px; }
 .compare-fit h3 { margin-bottom:5px; font-size:15px; }
 .compare-fit p { font-size:14px; }
 .compare-specs { margin-top:38px; }
 .compare-specs table { display:block; font-size:13px; line-height:1.55; }
 .compare-specs thead { display:block; }
 .compare-specs thead tr,.compare-specs tbody tr { display:grid; grid-template-columns:repeat(var(--compare-count),minmax(0,1fr)); gap:0 13px; }
 .compare-specs tbody { display:block; }
 .compare-specs th,.compare-specs td { display:block; padding:0 0 18px; border:0; min-width:0; }
 .compare-specs th:first-child { width:auto; padding-left:0; }
 .compare-specs thead th { font-size:12px; line-height:1.4; padding:14px 0; }
 .compare-specs .compare-row-heading { display:none; }
 .compare-specs thead { border-bottom:1px solid #c7d0d5; }
 .compare-specs tbody tr { border-bottom:1px solid #e2e7e9; }
 .compare-specs tbody th[scope=row] { grid-column:1 / -1; padding:15px 0 9px; font-size:12px; }
 .compare-specs .compare-group th { grid-column:1 / -1; font-size:19px; padding:27px 0 13px; border:0; }
 .compare-dimension-note { font-size:11px; margin-block:20px; }
 .compare-sources { margin-top:20px; font-size:12px; }
 .compare-help { margin-top:45px; padding:32px 22px; }
 .compare-help p { font-size:14px; }
 .compare-next { flex-direction:column; align-items:start; gap:8px; padding-bottom:35px; }
 .compare-picker-ready .compare-model-picker { display:block; border:0; padding:0 0 17px; margin:0; min-width:0; scroll-margin-top:calc(var(--mobile-header-height,64px) + 22px); }
 .compare-model-picker legend { padding:0; font-size:19px; font-weight:500; letter-spacing:-.025em; }
 .compare-model-picker > p:not(.sr-only) { font-size:14px; line-height:1.5; color:#637079; margin:9px 0 18px; }
 .compare-model-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
 .compare-model-fields > div { min-width:0; }
 .compare-model-fields label { display:block; font-size:12px; color:#637079; line-height:1.4; }
 .compare-model-fields select { display:block; width:100%; min-height:48px; font:inherit; font-size:16px; color:#172127; margin-top:5px; padding:10px 24px 10px 0; border:0; border-bottom:1px solid #b7c2c8; border-radius:0; background-color:#fff; }
 .compare-model-fields select:focus-visible { outline:2px solid #526c7c; outline-offset:3px; }
 .compare-picker-ready .compare-lineup { gap:20px; padding-top:22px; }
 .compare-picker-ready .compare-product figure { height:130px; margin-bottom:19px; }
 .compare-picker-ready .compare-product h2 { font-size:18px; min-height:47px; }
 .compare-picker-ready .compare-position { font-size:14px; min-height:0; }
 .compare-picker-ready .compare-product .text-link { font-size:14px; margin-top:10px; }
 .compare-picker-ready .compare-scale { font-size:12px; margin-top:5px; }
 .compare-picker-ready .compare-fit h3 { font-size:17px; }
 .compare-picker-ready .compare-fit p { font-size:15px; }
 .compare-picker-ready .compare-fit li + li { margin-top:24px; }
 .compare-picker-ready .compare-specs > h2 { margin-bottom:4px; }
 .compare-picker-ready .compare-change-models { display:inline-flex; align-items:center; gap:10px; min-height:44px; font-size:14px; color:#526c7c; margin-bottom:13px; }
 .compare-picker-ready .compare-change-models:hover { text-decoration:underline; text-underline-offset:4px; }
 .compare-picker-ready .compare-specs table { font-size:15px; line-height:1.6; }
 .compare-picker-ready .compare-specs thead th { font-size:15px; line-height:1.4; }
 .compare-picker-ready .compare-specs thead tr,.compare-picker-ready .compare-specs tbody tr { column-gap:20px; }
 .compare-picker-ready .compare-specs tbody th[scope=row] { font-size:14px; padding-top:19px; }
 .compare-picker-ready .compare-dimension-note { font-size:12px; }
}
@media (max-width:360px) { .compare-model-fields { grid-template-columns:1fr; } }
@media (prefers-reduced-transparency:reduce) { .compare-specs thead { background:#fff; } }
@media (max-width:800px) { .compare-specs thead { top:var(--mobile-header-height,64px); } }

/* Keep the shared invitation outside the comparison table's narrow column. */
.comparison-guide>div.compare-wrap { padding-bottom:64px; }
.compare-related { display:flex; flex-wrap:wrap; justify-content:center; gap:8px 28px; }
@media(max-width:760px) { .comparison-guide>div.compare-wrap { padding-bottom:44px; } }

/* Mobile readability: keep the shared heading scale unchanged. */
/* Comparison is the deeper view: keep the facts, make them easy to scan. */
@media(max-width:760px){
 .compare-lead,.compare-fit p,.compare-picker-ready .compare-fit p{font-size:18px;line-height:1.6}
 .compare-position,.compare-picker-ready .compare-position{font-size:16px;line-height:1.5}
 .compare-product figure,.compare-picker-ready .compare-product figure{height:155px}
 .comparison-guide--locks .compare-product figure{height:235px}
 .compare-product .text-link,.compare-picker-ready .compare-product .text-link,.compare-change-models,.compare-picker-ready .compare-change-models{min-height:48px;font-size:16px}
 .compare-model-picker>p:not(.sr-only){font-size:16px}
 .compare-model-fields label{font-size:14px}
 .compare-model-fields select{min-height:52px}
 .compare-fit h3 a{display:inline-flex;align-items:center;min-height:48px}
 .compare-specs table,.compare-picker-ready .compare-specs table{font-size:16px;line-height:1.6}
 .compare-specs thead th,.compare-picker-ready .compare-specs thead th{font-size:16px}
 .compare-specs tbody th[scope=row],.compare-picker-ready .compare-specs tbody th[scope=row]{font-size:16px;color:#48545c}
 .compare-dimension-note,.compare-picker-ready .compare-dimension-note,.compare-sources{font-size:16px;line-height:1.6}
 .compare-sources summary{font-size:16px;min-height:52px}
 .compare-sources a{min-height:44px}
 .compare-scale,.compare-picker-ready .compare-scale{font-size:13px}
}
