.compare-intro{max-width:820px;margin-top:38px}.compare-intro h1{font-size:3.5rem;line-height:1.08}.compare-intro h1 span{color:var(--brand)}.compare-nav{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.compare-nav a{display:inline-flex;align-items:center;min-height:44px;border:1px solid var(--hair);border-radius:25px;text-decoration:none;font-size:.875rem;padding:9px 15px;background:var(--card)}.compare-nav a[aria-current=page]{background:var(--brand);border-color:var(--brand);color:var(--brand-text)}.compare-inputs .grid{grid-template-columns:repeat(4,minmax(0,1fr));margin:22px 0}.compare-inputs>button{width:auto;min-width:190px}.compare-inputs>p{margin:4px 0}.compare-inputs button:disabled{opacity:.5;cursor:wait}#load-status{font-size:.875rem;color:var(--muted);margin:18px 0}.comparison-headline{padding:26px 30px;background:linear-gradient(110deg,var(--hero-start),var(--hero-end));border:1px solid var(--hair);border-left:4px solid var(--line-ink);border-radius:10px}.comparison-headline .headline-value{font-size:3rem;margin:6px 0}.comparison-headline p:last-child{margin:0;font-size:.875rem}.comparison-disclosure{font-size:.875rem;color:var(--muted);padding:18px 0;margin:0}.comparison-table{background:var(--card);table-layout:fixed;border:1px solid var(--hair)}.comparison-table thead th{background:var(--soft);padding:14px 20px}.comparison-table th:first-child{width:25%}.comparison-table th:nth-child(2){width:21%}.comparison-table th:nth-child(3){width:34%}.comparison-table th:last-child{width:20%}.comparison-table td,.comparison-table tbody th{padding:24px 20px;vertical-align:top;overflow-wrap:anywhere}.comparison-table tbody th{font-weight:400;color:var(--ink)}.comparison-table h3{font-size:1.25rem;margin:8px 0 14px}.comparison-table .updated{margin:0}.comparison-metric strong{display:block;font:600 1.5625rem 'Bricolage Grotesque',sans-serif;color:var(--line-ink);letter-spacing:-.04em}.comparison-metric span{display:block;font-size:.875rem;color:var(--muted);margin-top:6px}.comparison-detail p{font-size:.875rem;margin:0 0 12px}.comparison-detail details{font-size:.875rem}.comparison-detail summary{cursor:pointer}.comparison-detail details p{margin-top:12px}.comparison-table .btn{padding:10px;font-size:.875rem;width:100%;white-space:normal}.status-tag{display:inline-block;font:.875rem 'Figtree';background:var(--soft);color:var(--muted);padding:5px 8px;border:1px solid var(--hair);border-radius:4px}.comparison-method{max-width:820px;margin:42px 0}.comparison-method>p{font-size:.875rem}.comparison-method>.note{font-size:.875rem;border-top:1px solid var(--hair);padding-top:18px;margin-bottom:22px}.comparison-method>a{font-size:.875rem}.source-directory{margin-top:26px;border-top:1px solid var(--hair);padding-top:18px;font-size:.875rem}.source-directory summary{cursor:pointer;font-weight:600}.source-directory p{margin:12px 0}.source-directory li{padding:5px 0}#comparison-results.is-stale{outline:2px dashed var(--line-ink);outline-offset:6px;border-radius:4px}#comparison-results.is-stale::before{content:"Out Of Date — Update Your Result";display:table;margin:0 0 16px;padding:4px 10px;border-radius:999px;background:var(--line-ink);color:var(--line-text);font:600 .875rem/1.4 'Figtree',sans-serif}.promo{padding:10px;border-left:2px solid var(--brand);background:var(--soft)}
@media(max-width:900px){.compare-inputs .grid{grid-template-columns:repeat(2,minmax(0,1fr))}.comparison-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.comparison-table,.comparison-table tbody{display:block;border:0;background:none}.comparison-table tr{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--hair);background:var(--card);border-radius:12px;margin:12px 0;padding:20px;gap:16px}.comparison-table tr.best{background:var(--soft);border-top:3px solid var(--line-ink)}.comparison-table tbody th,.comparison-table td{display:block!important;width:auto!important;border:0;padding:0}.comparison-table th:first-child{grid-column:1/-1}.comparison-table .comparison-detail{grid-column:1/-1;grid-row:3}.comparison-metric:before{content:attr(data-label);font-size:.875rem;color:var(--muted)}.comparison-table td:last-child{align-self:center}.comparison-table h3{margin:5px 0}.comparison-table .updated{margin-top:8px}}
@media(max-width:560px){.compare-intro{margin-top:15px}.compare-intro h1{font-size:2.5rem}.compare-nav{gap:6px}.compare-nav a{font-size:.875rem;padding:8px 12px}.compare-inputs .grid{grid-template-columns:1fr}.compare-inputs>button{width:100%}.comparison-headline{padding:23px}.comparison-headline .headline-value{font-size:2.5rem}.comparison-table tr{gap:14px}.comparison-metric strong{font-size:1.5rem}.comparison-table .btn{font-size:.875rem}.comparison-method h2{font-size:1.625rem}}
/* Review 13 Oct 2026 (compare-01): a rejected field is marked with its accepted range, and the out-of-date winner is dimmed. */
#comparison-form [aria-invalid=true]{border-color:var(--danger);border-width:2px}
.compare-field-error{margin:6px 0 0;color:var(--danger);font-size:.875rem;font-weight:600;line-height:1.4}
.winner-card.is-out-of-date .headline-value,.winner-card.is-out-of-date .winner-who{opacity:.45}
#winner-share button:disabled{opacity:.55;cursor:not-allowed}
/* Review 13 Oct 2026 (compare-02): phone results stay short. The comparison name is not repeated on every card, and List rows are compact. */
@media(max-width:767px){.product-card .model-tag-type{display:none}.product-card .model-tag-type+.model-tag-partner{margin-left:-.5ch}.product-card .model-tag-plain{display:none}}
@media(max-width:560px){#comparison-rows tr[data-row]{padding:12px 14px;gap:8px 12px;margin:8px 0}#comparison-rows tr[data-row]>th,#comparison-rows tr[data-row]>td{padding:0!important}#comparison-rows tr[data-row] .list-name h3{margin:2px 0}#comparison-rows tr[data-row] .comparison-metric strong{font-size:1.375rem}#comparison-rows tr[data-row] td:last-child{display:flex!important;flex-direction:column;gap:6px}#comparison-rows tr[data-row] td:last-child .btn{min-height:44px;padding:8px 10px}#comparison-rows tr[data-row] .key-condition{margin:0 0 4px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}#comparison-rows tr[data-row] details summary{min-height:44px;display:flex;align-items:center}#comparison-rows tr.user-says-row{padding:10px 14px;margin:-4px 0 8px}}
/* Review 13 Oct 2026 (compare-06): the hub's small "Compare →" uses the deeper green so it passes AA on every pastel tile. */
.compare-hub-grid .compare-tile-meta .go{color:var(--brand-hover)}
