.doi.roundup { --maxw: 1260px; }
.doi.roundup .article-header { max-width: 1000px; padding-bottom: 2rem; }
.doi.roundup .article-header h1 { max-width: 25ch; }
.doi.roundup .article-header .lede { max-width: 66ch; }
.doi.roundup .editor-note { font-size: .9rem; color: var(--muted); max-width: 82ch; margin-top: 1rem; }
.doi.roundup .roundup-layout { display: grid; grid-template-columns: minmax(0, 790px) minmax(210px, 250px); gap: 3rem; align-items: start; padding-bottom: 3rem; }
.doi.roundup article { grid-column: 1; grid-row: 1; }
.doi.roundup article h2 { max-width: 32ch; }
.doi.roundup article h3 { font-size: 1.2rem; line-height: 1.35; }
.doi.roundup .contents { grid-column: 2; position: sticky; top: 100px; max-height: calc(100vh - 120px); overflow-y: auto; border-left: 1px solid var(--line); padding-left: 1.4rem; margin-top: 1.8rem; }
.doi.roundup .contents nav, .doi.roundup .mobile-contents nav { position: static; border: 0; backdrop-filter: none; background: transparent; z-index: auto; }
.doi.roundup .contents h2 { font-size: 1rem; margin-bottom: 1rem; }
.doi.roundup .contents a { display: block; padding: .35rem 0; font-size: .9rem; text-decoration: none; line-height: 1.4; }
.doi.roundup .contents a:hover { text-decoration: underline; }
.doi.roundup .contents .app-jump { padding-left: .8rem; }
.doi.roundup .mobile-contents { display: none; }
.doi.roundup .quick-answer { background: #eaf1e9; border: 1px solid #b9cdbd; border-radius: 18px; padding: 1.5rem; }
.doi.roundup .quick-answer h2 { margin-top: .6rem; }
.doi.roundup .quick-picks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .8rem 1.7rem; }
.doi.roundup .quick-picks p { margin: .45rem 0; }
.doi.roundup .quick-picks strong { display: block; }
.doi.roundup .article-table { min-width: 640px; font-size: .92rem; }
.doi.roundup .article-table th:first-child { width: 16%; }
.doi.roundup .article-table th { background: #eeeae0; }
.doi.roundup .article-table td { background: #fcfbf8; }
.doi.roundup .table-wrap { border: 1px solid var(--line); border-radius: 10px; }
.doi.roundup .product-section { border-top: 1px solid var(--line); }
.doi.roundup .product-section .eyebrow { margin: 0 0 .7rem; }
.doi.roundup .fit-notes { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; margin: 1rem 0; }
.doi.roundup .fit-notes > div { background: var(--paper-2); padding: 1rem 1.2rem; border-radius: 10px; }
.doi.roundup .fit-notes h3 { margin: 0; }
.doi.roundup .fit-notes p { margin-bottom: 0; font-size: .95rem; }
.doi.roundup .product-links { display: flex; flex-wrap: wrap; gap: .6rem 1.4rem; font-weight: 600; }
.doi.roundup .price-note, .doi.roundup .sources-line { font-size: .92rem; }
.doi.roundup .sources-line { color: var(--muted); }
.doi.roundup .article-figure { margin: 1.5rem 0; }
.doi.roundup .article-figure img { width: min(100%, 230px); }
.doi.roundup .callout { margin: 1rem 0; }
.doi.roundup .callout h2 { max-width: 24ch; }
.doi.roundup .callout .fine-print { color: #e1ece4; font-size: .88rem; }
.doi.roundup .decision-list li { margin-bottom: 1.2rem; }
.doi.roundup .article-footer { border-top: 1px solid var(--line); font-size: .9rem; padding-top: 1rem; }
.doi.roundup .compact-footer .wrap { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 1rem; }
.doi.roundup .compact-footer .footer-links { display: flex; flex-wrap: wrap; gap: 1rem; }
.doi.roundup a:focus-visible, .doi.roundup summary:focus-visible, .doi.roundup .table-wrap:focus-visible { outline: 3px solid #176B4D; outline-offset: 4px; }
@media (max-width: 950px) {
  .doi.roundup .roundup-layout { grid-template-columns: minmax(0,1fr); }
  .doi.roundup .contents { display: none; }
  .doi.roundup .mobile-contents { display: block; max-width: 790px; margin-top: 1.4rem; border: 1px solid var(--line); border-radius: 10px; padding: .6rem 1rem; }
  .doi.roundup .mobile-contents nav { display: grid; grid-template-columns: 1fr 1fr; gap: .4rem 1rem; padding: .8rem 0; }
  .doi.roundup .mobile-contents a { font-size: .9rem; padding: .3rem 0; }
}
@media (max-width: 600px) {
  .doi.roundup .nav-inner { flex-wrap: nowrap; }
  .doi.roundup .nav-links { width: auto; }
  .doi.roundup .nav-links .guide-link, .doi.roundup .brand small { display: none; }
  .doi.roundup .quick-picks, .doi.roundup .fit-notes { grid-template-columns: 1fr; }
  .doi.roundup .quick-answer { padding: 1.2rem; }
  .doi.roundup .article-header h1 { font-size: 2.3rem; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
}

/* Accessible, page-local checklist used by the replacement-activities guide. */
.doi.roundup .activity-checklist { border: 1px solid var(--line); border-radius: 12px; padding: 1rem 1.2rem; margin: 1.2rem 0; min-width: 0; }
.doi.roundup .activity-checklist legend { font-weight: 600; padding: 0 .4rem; }
.doi.roundup .activity-checklist label { display: flex; align-items: flex-start; gap: .7rem; padding: .65rem 0; cursor: pointer; }
.doi.roundup .activity-checklist input { width: 1.15rem; height: 1.15rem; margin-top: .2rem; flex-shrink: 0; accent-color: #176b4d; }
.doi.roundup .activity-checklist input:focus-visible { outline: 3px solid #176b4d; outline-offset: 4px; }
