/* v2.29 — smartphone density only. Content, title design and desktop are retained. */
@media (max-width:768px) {
  body.hks-article .article.article {
    font-size:1rem;
    line-height:1.7;
    padding-block:16px 32px;
  }
  body.hks-a11 main.article > article.article {padding:0;}
  body.hks-article .article.article :is(p,li,dd,blockquote) {
    font-size:1rem!important;
    line-height:1.7!important;
  }
  body.hks-article .article.article p {margin-block:10px!important;}
  body.hks-article .article.article :is(ul,ol):not(.kt-grid):not(.flow) {margin-block:10px;padding-inline-start:1.35em;}
  body.hks-article .article.article li {margin-block:5px;}
  body.hks-article .article.article :is(ul,ol) > li:first-child {margin-top:0;}
  body.hks-article .article.article :is(ul,ol) > li:last-child {margin-bottom:0;}
  body.hks-article .article.article h2 {
    font-size:1.3125rem!important;
    line-height:1.45!important;
    margin-block:26px 10px!important;
    padding-block:8px!important;
  }
  body.hks-article .article.article h3 {
    font-size:1.125rem!important;
    line-height:1.5!important;
    margin-block:18px 8px!important;
  }
  body.hks-article .article.article h4 {font-size:1rem;line-height:1.5;margin-block:14px 6px;}
  body.hks-article .article.article :is(.body-section,.a8-section,.a9-section,.a10-section,.section) {
    margin-block:26px!important;
  }
  body.hks-article .article.article :is(.body-section,.a8-section,.a9-section,.a10-section,.section) > h2:first-child {margin-top:0!important;}
  body.hks-article .article.article .breadcrumb {margin-block:4px 16px!important;line-height:1.55!important;}
  body.hks-article .article.article .category-badge {margin-bottom:6px;}
  body.hks-article .article.article :is(.article-meta,.meta) {margin-block:10px 16px;gap:4px 10px;line-height:1.5;}
  body.hks-article .article.article :is(figure:not(.hks-mobile-title-art),table,.table-wrap,.hks-table-scroll) {margin-block:14px;}
  body.hks-article .article.article :is(th,td) {padding:9px 10px;font-size:1rem;line-height:1.6;}
  body.hks-article .article.article hr {margin-block:20px;}
  body.hks-article .article.article details.article-supplement {margin-block:18px;padding-inline:12px;}
  body.hks-article .article.article details.article-supplement > summary {padding-block:10px;min-height:44px;box-sizing:border-box;}
  body.hks-article .article.article details.article-supplement[open] {padding-bottom:12px;}
  body.hks-article .article.article :is(.policy,.experience-note,.scope-note,.section-summary,.scan-summary,.note,.firsthand,.a8-field,.a9-field,.a10-field) {
    margin-block:14px;
  }
  body.hks-article .article.article :is(.cta,.a12-affiliate) {margin-block:20px;padding:16px;}
  body.hks-article .article.article :is(button,.button,.btn) {min-height:44px;}
  body.hks-article .article.article :is(input,select,textarea) {font-size:1rem;}
  body.hks-article .article.article nav.hks-card-toc {margin-block:18px 24px;padding:12px 10px;}
  body.hks-article .article.article nav.hks-card-toc p.kt-hint {margin-block:4px 10px!important;line-height:1.5!important;}
  body.hks-article .article.article nav.hks-card-toc .kt-grid {gap:8px;}
  body.hks-article .article.article nav.hks-card-toc :is(a.kt-link,.kt-linkgroup) {min-height:0;padding:9px 8px;}
  body.hks-article .article.article nav.hks-card-toc .kt-top {height:24px;min-height:24px;margin-bottom:5px;}
  body.hks-article .article.article nav.hks-card-toc .kt-icon {width:24px;height:24px;}
  body.hks-article .article.article nav.hks-card-toc :is(.kt-title,.kt-desc) {font-size:1rem;line-height:1.5;}
  body.hks-article .article.article nav.hks-card-toc .kt-desc {margin-top:4px;}
  body.hks-article .article.article nav.hks-card-toc a.kt-sublink {min-height:44px;padding-block:6px;}
}

/* Articles 01–05: mobile density. All changes are isolated to <=768px. */
@media (max-width:768px) {
  /* A01: retain the short comparisons in two columns; shorten repeated card chrome. */
  body.hks-a01 .article :is(.a1-hero,.scan-summary) { padding:16px!important; margin:18px 0!important; }
  body.hks-a01 .article .scan-steps.four { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:8px; margin:14px 0; }
  body.hks-a01 .article .scan-step { padding:11px 10px; }
  body.hks-a01 .article .scan-step > span { margin:0 0 5px; }
  body.hks-a01 .article .scan-step svg { width:27px; height:27px; margin:0 0 6px; }
  body.hks-a01 .article .scan-step :is(b,small) { font-size:15px; line-height:1.5; margin-bottom:3px; }
  body.hks-a01 .article .compare-priority { margin:16px 0; }
  body.hks-a01 .article .compare-priority .scan-steps { border-top:0; }
  body.hks-a01 .article .compare-priority .scan-step { display:grid; grid-template-columns:24px minmax(0,1fr); gap:5px 7px; padding:11px 10px; border:1px solid #d9e4ed; border-radius:8px; }
  body.hks-a01 .article .compare-priority .scan-step > span { grid-column:1; grid-row:1; }
  body.hks-a01 .article .compare-priority .scan-step svg { grid-column:2; grid-row:1; width:25px; height:25px; }
  body.hks-a01 .article .compare-priority .scan-step b { grid-column:1/-1; grid-row:2; font-size:16px; line-height:1.5; }
  body.hks-a01 .article .compare-priority .scan-step small { grid-column:1/-1; grid-row:3; font-size:15px; }
  body.hks-a01 .article .scan-results { gap:8px; margin:14px 0; }
  body.hks-a01 .article .scan-results .metric { padding:8px 3px; }
  body.hks-a01 .article .scan-results .metric svg { width:26px; height:26px; margin-bottom:5px; }
  body.hks-a01 .article .scan-results .metric :is(small,span) { font-size:15px; line-height:1.5; }
  body.hks-a01 .article .scan-results .metric b { font-size:22px; }
  body.hks-a01 .article .scan-two-cards { gap:8px; margin:16px 0; }
  body.hks-a01 .article .scan-card { padding:12px 10px; }
  body.hks-a01 .article .scan-card > svg { float:right; width:26px; height:26px; margin:0 0 6px 6px; }
  body.hks-a01 .article .scan-card > span { margin:0 0 6px; }
  body.hks-a01 .article .scan-card strong { display:block; clear:both; font-size:17px; line-height:1.5; }
  body.hks-a01 .article .scan-card :is(p,ul,li) { font-size:15px!important; line-height:1.6!important; }
  body.hks-a01 .article .fit-cards .scan-card { padding:12px; }
  body.hks-a01 .article .fit-cards .scan-card > svg { width:30px; height:30px; }
  body.hks-a01 .article .fit-cards .scan-card strong { clear:none; }
  body.hks-a01 .article .fit-cards .scan-card ul { margin:6px 0 0; }
  body.hks-a01 .article .fit-cards .scan-card li { margin:4px 0; }
  body.hks-a01 .article .big-compare { padding:12px 9px; margin:8px 0 14px; gap:6px; }
  body.hks-a01 .article .big-compare .price small { font-size:15px; line-height:1.5; min-height:0; }
  body.hks-a01 .article .big-compare .price b { font-size:21px; }
  body.hks-a01 .article .big-compare .diff { font-size:15px; padding:7px; }
  body.hks-a01 .article .faq { padding:12px 0 12px 28px; }
  body.hks-a01 .article .faq::before { top:14px; font-size:19px; }

  /* A02: comparisons fit in a paired row; long suitability lists keep their width. */
  body.hks-a02 .article :is(.a2-hero,.scan-summary) { padding:16px!important; margin:18px 0!important; }
  body.hks-a02 .article .a2-point-heading { gap:8px; margin:24px 0 10px; }
  body.hks-a02 .article .a2-point-heading svg { width:26px; height:26px; }
  body.hks-a02 .article :is(.fact-cards,.summary-points) { gap:8px; margin:14px 0; }
  body.hks-a02 .article :is(.fact-card,.summary-point) { padding:8px 5px!important; }
  body.hks-a02 .article :is(.fact-card,.summary-point) svg { width:27px; height:27px; margin:0 auto 5px; }
  body.hks-a02 .article :is(.fact-card,.summary-point) span { font-size:15px; line-height:1.5; margin-top:4px; }
  body.hks-a02 .article .claim-split { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); margin:14px 0; }
  body.hks-a02 .article .claim-box { min-width:0; padding:12px 10px; }
  body.hks-a02 .article .claim-box + div { border-top:0; border-left:1px solid #d6e1eb; }
  body.hks-a02 .article .claim-box svg { width:27px; height:27px; margin-bottom:5px; }
  body.hks-a02 .article .claim-box small { font-size:15px; line-height:1.5; margin-bottom:5px; }
  body.hks-a02 .article .claim-box b { font-size:16px; line-height:1.6; }
  body.hks-a02 .article .money-focus { padding:14px 10px!important; margin:16px 0!important; }
  body.hks-a02 .article .money-focus .a2-price-label { margin-bottom:9px; }
  body.hks-a02 .article .money-value small { min-height:0; font-size:15px; line-height:1.5; }
  body.hks-a02 .article .money-value b { font-size:21px!important; }
  body.hks-a02 .article .money-diff { margin-top:10px; }
  body.hks-a02 .article .money-conclusion { margin-top:8px; }
  body.hks-a02 .article .scan-steps { gap:8px; margin:14px 0; }
  body.hks-a02 .article .scan-steps.four { grid-template-columns:repeat(2,minmax(0,1fr)); }
  body.hks-a02 .article .scan-step { padding:11px 10px; }
  body.hks-a02 .article .scan-step > span { margin-bottom:5px; }
  body.hks-a02 .article .scan-step svg { width:27px; height:27px; margin-bottom:6px; }
  body.hks-a02 .article .scan-step :is(b,small) { font-size:15px; line-height:1.5; }
  body.hks-a02 .article .scan-steps.three .scan-step { grid-template-columns:22px 27px minmax(0,1fr); padding:10px 5px; gap:3px 8px; }
  body.hks-a02 .article .fit-grid { gap:10px; margin:16px 0; }
  body.hks-a02 .article .fit-card { padding:13px; }
  body.hks-a02 .article .fit-card svg { float:right; width:30px; height:30px; margin:0 0 7px 9px; }
  body.hks-a02 .article.article .fit-card h3 { margin:0 0 7px!important; }
  body.hks-a02 .article .fit-card :is(ul,li) { font-size:15px!important; line-height:1.6!important; }
  body.hks-a02 .article .fit-card li { margin:4px 0; }
  body.hks-a02 .article .faq-accordion summary { min-height:44px; padding-top:12px; padding-bottom:12px; }

  /* A03: short decision and reason cards can be compared without separate screens. */
  body.hks-a03 .article :is(.decision-grid,.reason-grid,.nv-decisions) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; margin:16px 0!important; }
  body.hks-a03 .article .decision-card { padding:12px!important; }
  body.hks-a03 .article .decision-card:last-child { grid-column:1/-1; }
  body.hks-a03 .article .decision-card > .nv-icon { width:28px; height:30px; margin:5px 0; }
  body.hks-a03 .article .decision-card > b { font-size:16px!important; line-height:1.5!important; }
  body.hks-a03 .article .decision-card > small { font-size:15px!important; line-height:1.6!important; }
  body.hks-a03 .article .quick-verdict.nv-answer { padding:14px 12px!important; gap:9px; margin:16px 0!important; }
  body.hks-a03 .article .nv-answer .nv-bulb { width:30px; min-width:30px; height:38px; }
  body.hks-a03 .article .nv-answer-copy > .label { font-size:15px!important; padding:5px 10px!important; margin-bottom:7px!important; }
  body.hks-a03 .article .reason-grid > div { display:block; padding:12px!important; }
  body.hks-a03 .article .reason-grid .nv-icon { width:27px; height:29px; margin:0 0 6px; }
  body.hks-a03 .article .reason-grid b { display:block; font-size:16px!important; line-height:1.5!important; margin-bottom:5px; }
  body.hks-a03 .article .reason-grid span { display:block; font-size:15px!important; line-height:1.6!important; }
  body.hks-a03 .article .nv-decisions > div { display:block; padding:12px; }
  body.hks-a03 .article .nv-decisions .nv-icon { width:27px; height:29px; margin-bottom:6px; }
  body.hks-a03 .article .nv-decisions :is(span,b) { display:block; }
  body.hks-a03 .article .nv-decisions span { font-size:15px; line-height:1.5; margin-bottom:4px; }
  body.hks-a03 .article .nv-decisions b { font-size:17px; line-height:1.5; }
  body.hks-a03 .article .choice-grid { grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr)!important; gap:4px!important; margin:16px 0 0!important; }
  body.hks-a03 .article .choice-card { padding:12px 10px!important; }
  body.hks-a03 .article .choice-card .nv-icon { width:28px; height:30px; margin-bottom:5px; }
  body.hks-a03 .article .choice-card strong { font-size:27px!important; }
  body.hks-a03 .article .choice-card b { font-size:18px!important; margin:7px 0!important; line-height:1.5!important; }
  body.hks-a03 .article .choice-card :is(small,p) { font-size:15px!important; line-height:1.6!important; }
  body.hks-a03 .article .choice-versus { height:auto; padding:0; align-self:center; font-size:18px!important; }
  body.hks-a03 .article .choice-versus .nv-arrow-glyph { transform:none; }
  body.hks-a03 .article .nv-hidden-damage { grid-template-columns:minmax(0,1fr) 16px minmax(0,1fr); gap:4px; }
  body.hks-a03 .article .nv-hidden-damage > div:not(.nv-connector) { padding:12px 8px; }
  body.hks-a03 .article .nv-hidden-damage :is(b,span) { font-size:15px; line-height:1.5; }
  body.hks-a03 .article .nv-hidden-damage > .nv-connector { align-self:center; height:auto; padding:0; }
  body.hks-a03 .article :is(.experience-banner,.impact-message,.summary-judgment) { padding:14px!important; margin:16px 0!important; }
  body.hks-a03 .article :is(.experience-banner,.impact-message) > strong { font-size:19px!important; line-height:1.55!important; }
  body.hks-a03 .article :is(.nv-components,.nv-household,.nv-loan) { padding:14px 10px; margin:16px 0; }
  body.hks-a03 .article :is(.nv-components,.nv-household,.nv-loan) figcaption { margin-bottom:10px; }
  body.hks-a03 .article .nv-budget-bar { min-height:64px; }
  body.hks-a03 .article .nv-budget-bar b { font-size:23px; }
  body.hks-a03 .article .nv-loan-pair > div { padding:11px 7px; gap:5px; }
  body.hks-a03 .article .nv-daily { gap:7px; margin:14px 0; }
  body.hks-a03 .article .nv-daily > div { flex-direction:row; gap:6px; padding:9px 3px; font-size:15px; }
  body.hks-a03 .article .nv-daily .nv-icon { width:24px; height:26px; flex:none; }
  body.hks-a03 .article .claim-flow-card { grid-template-columns:26px 26px minmax(0,1fr)!important; gap:8px!important; padding:12px 10px!important; }
  body.hks-a03 .article .claim-copy strong { font-size:19px!important; }
  body.hks-a03 .article .claim-flow-arrow { height:24px!important; line-height:24px!important; padding:0!important; font-size:20px!important; }
  body.hks-a03 .article .fit-card { padding:14px!important; }
  body.hks-a03 .article .fit-card > .nv-icon { float:right; width:30px; height:32px; margin-left:8px; }
  body.hks-a03 .article .fit-card h3 { margin:0 0 7px!important; }
  body.hks-a03 .article .final-questions { margin:16px 0!important; gap:8px!important; }
  body.hks-a03 .article .final-questions > div { grid-template-columns:30px minmax(0,1fr); padding:12px!important; gap:3px 9px; }
  body.hks-a03 .article .final-questions strong { font-size:23px!important; }
  body.hks-a03 .article .final-questions b { font-size:16px!important; }

  /* A04: keep explanatory charts and simulator full width; shorten surrounding comparisons. */
  body.hks-a04 .article .grade-cards { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; margin:16px 0; }
  body.hks-a04 .article .scan-hero.uv-answer { padding:14px 12px!important; gap:9px; margin:16px 0!important; }
  body.hks-a04 .article .uv-answer .uv-bulb { width:30px; min-width:30px; height:38px; }
  body.hks-a04 .article .uv-answer-copy > .label { font-size:15px!important; padding:5px 10px!important; margin-bottom:7px!important; }
  body.hks-a04 .article .uv-answer-copy > strong { font-size:20px!important; line-height:1.5!important; }
  body.hks-a04 .article .grade-card { display:block; padding:12px!important; }
  body.hks-a04 .article .grade-card:last-child { grid-column:1/-1; }
  body.hks-a04 .article .grade-card .uv-icon { width:28px; height:30px; margin:0 0 6px; }
  body.hks-a04 .article .grade-card > :is(span,strong) { display:block; }
  body.hks-a04 .article .grade-card > span { font-size:15px!important; }
  body.hks-a04 .article .grade-card > strong { font-size:23px!important; line-height:1.4!important; }
  body.hks-a04 .article .grade-card > p { font-size:15px!important; line-height:1.6!important; margin-top:6px!important; }
  body.hks-a04 .article .grade-card:last-child .uv-icon { float:right; margin:0 0 6px 8px; }
  body.hks-a04 .article .repair-choice-grid { grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; }
  body.hks-a04 .article .repair-choice { padding:12px!important; }
  body.hks-a04 .article .repair-choice .uv-icon { width:29px; height:31px; margin-bottom:6px; }
  body.hks-a04 .article .repair-choice > strong { font-size:17px!important; line-height:1.5!important; }
  body.hks-a04 .article .repair-choice > p { font-size:15px!important; line-height:1.6!important; margin-top:6px!important; }
  body.hks-a04 .article .break-side { padding:14px!important; }
  body.hks-a04 .article .break-side > strong { font-size:20px!important; line-height:1.5!important; }
  body.hks-a04 .article .break-vs { padding:0; }
  body.hks-a04 .article .scenario-grid { gap:12px!important; margin:16px 0!important; }
  body.hks-a04 .article .scenario-card { padding:14px!important; }
  body.hks-a04 .article .scenario-card > strong { font-size:21px!important; line-height:1.5!important; }
  body.hks-a04 .article :is(.uv-scene,.uv-compact-cost) { margin:16px 0; padding:14px 10px; }
  body.hks-a04 .article .uv-scene-pair { gap:8px; }
  body.hks-a04 .article .uv-scene-pair > div { padding:10px 7px; gap:5px; }
  body.hks-a04 .article .uv-scene-pair span { font-size:15px; line-height:1.5; }
  body.hks-a04 .article .uv-steps { margin:16px 0!important; }
  body.hks-a04 .article .uv-steps > div { grid-template-columns:27px 28px minmax(0,1fr); gap:3px 8px!important; padding:11px 10px!important; }
  body.hks-a04 .article .uv-steps > div > strong { font-size:18px!important; }
  body.hks-a04 .article .uv-steps > div > small { font-size:15px!important; }
  body.hks-a04 .article .uv-step-arrow { height:24px!important; line-height:24px!important; padding:0!important; font-size:20px!important; }
  body.hks-a04 .article .scan-summary.uv-final { grid-template-columns:48px minmax(0,1fr)!important; gap:10px!important; padding:14px 12px!important; }
  body.hks-a04 .article .uv-final-copy > strong { font-size:19px!important; line-height:1.55!important; margin:8px 0; }

  /* A05: make the simple types/options comparable; keep numerical diagrams and process order. */
  body.hks-a05 .article :is(.deductible-meaning-grid,.deductible-level-grid) { display:grid; grid-template-columns:repeat(2,minmax(0,1fr))!important; gap:8px!important; margin:16px 0!important; }
  body.hks-a05 .article .scan-hero.dv-answer { padding:14px 12px!important; gap:9px; margin:16px 0!important; }
  body.hks-a05 .article .dv-answer .dv-lightbulb { width:30px; min-width:30px; height:38px; }
  body.hks-a05 .article .dv-answer-copy > .label { font-size:15px!important; padding:5px 10px!important; margin-bottom:7px!important; }
  body.hks-a05 .article .dv-answer-copy > strong { font-size:20px!important; line-height:1.5!important; }
  body.hks-a05 .article :is(.deductible-meaning-card,.deductible-level) { padding:12px!important; }
  body.hks-a05 .article .deductible-level:last-child { grid-column:1/-1; }
  body.hks-a05 .article .deductible-level > span { font-size:21px!important; padding:5px 8px; }
  body.hks-a05 .article :is(.deductible-meaning-card,.deductible-level) > strong { font-size:17px!important; line-height:1.5!important; }
  body.hks-a05 .article :is(.deductible-meaning-card,.deductible-level) p { font-size:15px!important; line-height:1.6!important; margin:7px 0 0!important; }
  body.hks-a05 .article .deductible-level .dv-level-car { width:88px; margin:7px 0; }
  body.hks-a05 .article .deductible-level:last-child .dv-level-car { float:right; margin:4px 0 5px 9px; }
  body.hks-a05 .article .dv-equation-cell { min-height:88px; padding:10px 8px!important; gap:4px; }
  body.hks-a05 .article .dv-equation-cell > strong { font-size:25px!important; }
  body.hks-a05 .article .dv-equation-cell > span { font-size:15px!important; }
  body.hks-a05 .article :is(.dv2-period-figure,.dv2-cost-figure,.total-loss-card) { padding:14px 10px!important; margin:16px 0!important; }
  body.hks-a05 .article .dv2-loss-compare { gap:8px; margin:12px 0; }
  body.hks-a05 .article .dv2-loss-compare > div { padding:10px 7px; }
  body.hks-a05 .article .dv2-four-steps { margin:16px 0!important; }
  body.hks-a05 .article .dv2-four-steps > .dv2-step { display:grid; grid-template-columns:28px minmax(0,1fr); gap:4px 8px; padding:11px 10px!important; }
  body.hks-a05 .article .dv2-step > strong { font-size:17px!important; }
  body.hks-a05 .article .dv2-step > p { grid-column:2; grid-row:2; font-size:15px!important; line-height:1.6!important; margin:0!important; }
  body.hks-a05 .article .dv2-four-steps > .dv2-step-connector { height:24px; }
  body.hks-a05 .article .dv2-final-summary { padding:14px 12px!important; }
  body.hks-a05 .article .dv2-final-summary > strong { font-size:20px!important; line-height:1.55!important; }
}

/* On narrow phones, longer pairs regain width instead of forcing tiny text. */
@media (max-width:359px) {
  body.hks-a02 .article .claim-split,
  body.hks-a03 .article :is(.reason-grid,.nv-decisions,.choice-grid,.nv-hidden-damage),
  body.hks-a04 .article :is(.grade-cards,.repair-choice-grid),
  body.hks-a05 .article .deductible-meaning-grid { grid-template-columns:minmax(0,1fr)!important; }
  body.hks-a02 .article .claim-box + div { border-top:1px solid #d6e1eb; border-left:0; }
  body.hks-a03 .article .choice-versus { height:24px; }
  body.hks-a03 .article .choice-versus .nv-arrow-glyph { transform:rotate(90deg); }
  body.hks-a03 .article .nv-hidden-damage > .nv-connector { height:24px; }
}

/* Respect the named text-size container as well as the physical viewport.
   At large text sizes these pairs regain the full line instead of staying narrow. */
@media (max-width:768px) {
  @container hks-article (max-width:18rem) {
    body.hks-a01 .article :is(.scan-steps.four,.scan-two-cards),
    body.hks-a02 .article :is(.claim-split,.scan-steps.four),
    body.hks-a03 .article :is(.decision-grid,.reason-grid,.nv-decisions,.choice-grid,.nv-hidden-damage),
    body.hks-a04 .article :is(.grade-cards,.repair-choice-grid),
    body.hks-a05 .article :is(.deductible-meaning-grid,.deductible-level-grid) {
      grid-template-columns:minmax(0,1fr)!important;
    }
    body.hks-a02 .article .claim-box + div {
      border-top:1px solid #d6e1eb;
      border-left:0;
    }
    body.hks-a03 .article .choice-versus { height:24px; }
    body.hks-a03 .article .choice-versus .nv-arrow-glyph { transform:rotate(90deg); }
    body.hks-a03 .article .nv-hidden-damage > .nv-connector { height:24px; }
  }
}

@media(max-width:768px){
 body.hks-a03 .article .nv-hidden-damage > div:not(.nv-connector) {display:block;}
 body.hks-a03 .article .nv-hidden-damage > div:not(.nv-connector) .nv-icon {width:28px;height:30px;margin:0 0 5px;}
 body.hks-a03 .article .nv-hidden-damage > div:not(.nv-connector) :is(b,span) {display:block;}
}

/* Articles 06–10: compact only named mobile components; H1 and desktop remain intact. */
@media (max-width:768px) {
  /* 06 — short decisions side by side; long explanations retain full width. */
  body.hks-a06 .article.article .scan-hero.iv-answer {
    display:flow-root; padding:14px!important; margin:16px 0!important;
  }
  body.hks-a06 .article.article .iv-answer > .iv-bulb {
    float:right; width:40px; min-width:40px; height:44px; margin:0 0 6px 10px;
  }
  body.hks-a06 .article.article .iv-answer-copy > .label {font-size:16px!important;padding:5px 12px!important;margin-bottom:8px!important;}
  body.hks-a06 .article.article .iv-answer-copy > strong {font-size:21px!important;line-height:1.5!important;}
  body.hks-a06 .article.article .iv-answer-copy > strong em {font-size:1em!important;line-height:inherit!important;}
  body.hks-a06 .article.article .insured-value-three {
    grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin:14px 0!important;
  }
  body.hks-a06 .article.article .insured-value-three > div {
    display:block;padding:12px!important;border-top-width:3px!important;border-left-width:1px!important;
  }
  body.hks-a06 .article.article .insured-value-three > div:last-child {grid-column:1/-1;}
  body.hks-a06 .article.article .insured-value-three .iv-icon {float:right;width:30px;height:32px;margin:0 0 5px 6px;}
  body.hks-a06 .article.article .insured-value-three > div > span {display:block;margin-bottom:4px;font-size:15px!important;}
  body.hks-a06 .article.article .insured-value-three > div > strong {display:block;font-size:17px!important;line-height:1.5!important;margin:4px 0 6px;}
  body.hks-a06 .article.article .insured-value-three > div > small {display:block;font-size:15px!important;line-height:1.6!important;}
  body.hks-a06 .article.article .value-term-grid {gap:8px!important;margin:14px 0!important;}
  body.hks-a06 .article.article .value-term-grid > div {padding:12px!important;}
  body.hks-a06 .article.article .value-term-grid > div > span {font-size:15px!important;}
  body.hks-a06 .article.article .value-term-grid > div > strong {font-size:17px!important;line-height:1.5!important;margin:6px 0!important;}
  body.hks-a06 .article.article :is(.iv-payment,.iv-gap-figure) {padding:12px!important;margin:14px 0!important;}
  body.hks-a06 .article.article .iv-limit {gap:8px;padding-bottom:10px!important;margin-bottom:12px!important;flex-wrap:wrap;}
  body.hks-a06 .article.article .iv-limit > span {font-size:15px!important;}
  body.hks-a06 .article.article .iv-equation-row {gap:3px;grid-template-columns:minmax(0,1fr) 13px minmax(0,1fr) 13px minmax(0,1fr);}
  body.hks-a06 .article.article .iv-equation-row > div {min-height:0;padding:10px 3px!important;}
  body.hks-a06 .article.article .iv-equation-row > div > span {font-size:15px!important;}
  body.hks-a06 .article.article .iv-equation-row > div > strong {font-size:21px!important;margin-top:5px!important;}
  body.hks-a06 .article.article .iv-equation-row .iv-icon {width:26px;height:28px;margin-bottom:5px;}
  body.hks-a06 .article.article .iv-repair-compare {margin:14px 0 10px!important;}
  body.hks-a06 .article.article .iv-repair-compare > div {padding:12px 6px!important;}
  body.hks-a06 .article.article .iv-repair-compare > div > span {font-size:15px!important;}
  body.hks-a06 .article.article .iv-repair-compare > div > strong {font-size:25px!important;margin:6px 0!important;}
  body.hks-a06 .article.article .iv-repair-compare .iv-icon {width:28px;height:30px;margin-bottom:6px;}
  body.hks-a06 .article.article .age-flow {margin:14px 0!important;}
  body.hks-a06 .article.article .age-flow > div {padding:10px 12px!important;gap:0 10px;}
  body.hks-a06 .article.article .age-flow > div > strong {font-size:18px!important;line-height:1.5!important;}
  body.hks-a06 .article.article .age-flow > b {height:24px;padding:2px 0;font-size:19px!important;}
  body.hks-a06 .article.article .age-flow > b:last-of-type {line-height:24px!important;}
  body.hks-a06 .article.article .iv-coverage-compare {grid-template-columns:1fr!important;gap:10px!important;margin:14px 0!important;}
  body.hks-a06 .article.article .iv-coverage-compare > div {padding:14px!important;}
  body.hks-a06 .article.article .iv-coverage-compare .iv-coverage-head {margin-bottom:8px;}
  body.hks-a06 .article.article .iv-coverage-compare .iv-coverage-name {font-size:17px!important;}
  body.hks-a06 .article.article .iv-coverage-compare > div > .iv-coverage-main {font-size:19px!important;line-height:1.5!important;margin:6px 0 8px!important;}
  body.hks-a06 .article.article .iv-coverage-compare .iv-coverage-condition {padding:8px 10px!important;margin:6px 0!important;}
  body.hks-a06 .article.article .iv-coverage-compare .iv-coverage-condition strong {font-size:16px!important;line-height:1.5!important;}
  body.hks-a06 .article.article .iv-coverage-compare .iv-coverage-art {min-height:0;padding:2px 0;gap:14px;margin:7px 0!important;}
  body.hks-a06 .article.article .iv-coverage-compare :is(.iv-rider-car,.iv-coverage-newcar) {width:84px!important;}
  body.hks-a06 .article.article .iv-coverage-compare .iv-coverage-note {padding-top:8px!important;}
  body.hks-a06 .article.article .new-car-extra {padding:12px 12px 12px 52px!important;margin:14px 0!important;}
  body.hks-a06 .article.article .new-car-extra > .iv-icon {left:13px;top:16px;width:26px;height:29px;}
  body.hks-a06 .article.article .new-car-extra > strong {font-size:19px!important;}
  body.hks-a06 .article.article .iv-final {display:flow-root;padding:14px;margin:16px 0;}
  body.hks-a06 .article.article .iv-final > .iv-explainer {float:right;width:58px;margin:3px 0 8px 10px;}
  body.hks-a06 .article.article .scan-summary > strong {font-size:20px!important;line-height:1.5!important;}
  body.hks-a06 .article.article .iv-hail-scene {padding:12px;gap:10px;margin:14px 0;}
  body.hks-a06 .article.article .iv-hail-steps {margin:14px 0!important;}
  body.hks-a06 .article.article .iv-hail-steps > div {padding:10px!important;gap:8px!important;}
  body.hks-a06 .article.article .iv-hail-steps > div > strong {font-size:17px!important;line-height:1.5!important;}

  /* 07 — preserve timechart coordinates, compact surrounding cards and connector lanes. */
  body.hks-a07 .article.article :is(.vx-intro,.grade-terms,.grade-card,.grade-question-grid.kp-summary) {margin-block:14px!important;}
  body.hks-a07 .article.article .kp-answer {padding:14px!important;margin:16px 0!important;}
  body.hks-a07 .article.article .kp-answer .kp-answer-head {margin-bottom:6px;gap:8px;}
  body.hks-a07 .article.article .kp-answer .kp-bulb {width:34px;height:34px;}
  body.hks-a07 .article.article .kp-answer .label {font-size:16px!important;padding:5px 12px!important;}
  body.hks-a07 .article.article .kp-answer .grade-hero-lines {font-size:21px!important;line-height:1.5!important;}
  body.hks-a07 .article.article .kp-answer .grade-hero-lines em {font-size:16px!important;line-height:1.5!important;}
  body.hks-a07 .article.article .kp-answer .grade-hero-lines .grade-nowrap {font-size:22px!important;}
  body.hks-a07 .article.article :is(.p4-heading-main,.p4-heading-sub,.p4-heading-context) {line-height:1.45;}
  body.hks-a07 .article.article .p4-heading-main {font-size:21px;}
  body.hks-a07 .article.article .p4-heading-sub {font-size:17px;margin-top:3px;}
  body.hks-a07 .article.article .p4-heading-context {font-size:16px;margin-bottom:2px;}
  body.hks-a07 .article.article .vx-figure {padding:8px 0;margin:14px 0!important;}
  body.hks-a07 .article.article .vx-figure figcaption {font-size:17px;line-height:1.5;margin-bottom:8px;}
  body.hks-a07 .article.article .vx-condition {padding:8px 10px;}
  body.hks-a07 .article.article .vx-two {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  body.hks-a07 .article.article .vx-panel {padding:10px 8px;}
  body.hks-a07 .article.article .vx-car {width:86px;margin:6px 0 4px;}
  body.hks-a07 .article.article .vx-grade {font-size:32px;}
  body.hks-a07 .article.article .vx-grade span {font-size:16px;}
  body.hks-a07 .article.article .vx-panel p {font-size:15px!important;line-height:1.5!important;margin:6px 0!important;}
  body.hks-a07 .article.article .vx-panel small {font-size:15px;line-height:1.5;margin-top:4px;}
  body.hks-a07 .article.article .vx-verdict {font-size:17px;}
  body.hks-a07 .article.article .grade-terms {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0;}
  body.hks-a07 .article.article .grade-terms p.grade-term {display:block;padding:10px;font-size:15px!important;line-height:1.6!important;margin:0!important;}
  body.hks-a07 .article.article .grade-terms .kp-icon {width:26px;height:26px;margin-bottom:5px;}
  body.hks-a07 .article.article .grade-card {padding:12px!important;}
  body.hks-a07 .article.article .grade-change {margin:10px 0!important;}
  body.hks-a07 .article.article .grade-change > div {padding:9px 6px!important;}
  body.hks-a07 .article.article .grade-change strong {font-size:25px!important;margin-top:4px;}
  body.hks-a07 .article.article .grade-change span {font-size:15px;}
  body.hks-a07 .article.article .vx-countdown > div {padding:9px 2px;}
  body.hks-a07 .article.article .vx-countdown strong {font-size:27px;}
  body.hks-a07 .article.article .vx-routes {padding:12px!important;}
  body.hks-a07 .article.article .p4-start-connector {height:26px;}
  body.hks-a07 .article.article .p4-route-connector {height:26px;}
  body.hks-a07 .article.article .p4-flow-arrow {height:20px;}
  body.hks-a07 .article.article .vx-route-node {font-size:25px;padding:6px;}
  body.hks-a07 .article.article .vx-route-last {padding:9px 0!important;}
  body.hks-a07 .article.article .vx-route-summary {padding:10px;margin-top:10px;font-size:17px;}
  body.hks-a07 .article.article .vx-coverage .grade-coverage-pair {gap:8px;margin-top:10px!important;}
  body.hks-a07 .article.article .vx-coverage .grade-coverage-pair p {font-size:15px!important;padding:8px!important;margin:0!important;}
  body.hks-a07 .article.article .vx-coverage .vx-small-car {width:74px;max-width:100%;}
  body.hks-a07 .article.article .vx-coverage .grade-arrow.p4-coverage-connector {height:24px!important;margin:4px 0!important;}
  body.hks-a07 .article.article .kp-summary .grade-question {padding-top:9px;padding-bottom:9px;}

  /* 08 — short damage cards in two columns, with the third using a wide row. */
  body.hks-a08 .article.article .a8-answer {padding:14px;}
  body.hks-a08 .article.article .a8-answer h2 {font-size:16px!important;margin:0 0 8px!important;padding:0!important;}
  body.hks-a08 .article.article .a8-safety {margin:12px 0 16px;padding-left:10px;}
  body.hks-a08 .article.article .a8-damage-grid {grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0;}
  body.hks-a08 .article.article .a8-damage-item {display:flex;flex-direction:column;gap:6px;text-align:center;padding:12px 8px;border-bottom:1px solid var(--a8-line);border-right:1px solid var(--a8-line);}
  body.hks-a08 .article.article .a8-damage-item:nth-child(2) {border-right:0;}
  body.hks-a08 .article.article .a8-damage-item:last-child {grid-column:1/-1;flex-direction:row;justify-content:center;text-align:left;border:0;gap:10px;}
  body.hks-a08 .article.article .a8-damage-item .a8-icon {width:42px;height:44px;flex:none;margin:0;}
  body.hks-a08 .article.article .a8-damage-item span {font-size:15px;line-height:1.5;min-height:0;}
  body.hks-a08 .article.article .a8-damage-item strong {font-size:17px;line-height:1.5;margin-top:5px;}
  body.hks-a08 .article.article .a8-step {margin-bottom:14px;padding-bottom:14px;}
  body.hks-a08 .article.article .a8-step h3 {gap:9px;}
  body.hks-a08 .article.article .a8-step-num {flex-basis:30px;height:30px;}
  body.hks-a08 .article.article .a8-repair-flow {margin:14px 0;padding:12px;gap:5px;}
  body.hks-a08 .article.article .a8-flow-item {gap:10px;}
  body.hks-a08 .article.article .a8-flow-item .a8-icon {width:30px;height:32px;flex-basis:30px;}
  body.hks-a08 .article.article .a8-flow-item strong {font-size:15px;line-height:1.5;}
  body.hks-a08 .article.article .a8-flow-arrow {font-size:20px;line-height:1;}
  body.hks-a08 .article.article .a8-equation {margin:14px 0 8px;}
  body.hks-a08 .article.article .a8-equation > div {padding:10px 3px;}
  body.hks-a08 .article.article .a8-equation span {font-size:15px;min-height:0;}
  body.hks-a08 .article.article .a8-equation strong {font-size:26px;margin-top:4px;}
  body.hks-a08 .article.article .a8-grade {padding:12px;margin:14px 0;}
  body.hks-a08 .article.article .a8-grade-grid {gap:8px;}
  body.hks-a08 .article.article .a8-grade-grid > div {font-size:15px;line-height:1.5;}
  body.hks-a08 .article.article .a8-grade-grid strong {font-size:30px;}
  body.hks-a08 .article.article .a8-faq summary {font-size:16px;padding:12px 30px 12px 8px;min-height:44px;}
  body.hks-a08 .article.article .a8-faq summary::after {top:13px;}

  /* 09 — repair methods remain a readable pair; diagrams with labels keep their width. */
  body.hks-a09 .article.article .a9-answer {padding:14px;}
  body.hks-a09 .article.article .a9-answer h2 {font-size:16px!important;margin:0 0 8px!important;padding:0!important;}
  body.hks-a09 .article.article .a9-methods {grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:14px 0;}
  body.hks-a09 .article.article .a9-methods > div {padding:12px 9px;font-size:16px;line-height:1.5;}
  body.hks-a09 .article.article .a9-methods small {font-size:15px;line-height:1.5;margin-top:6px;}
  body.hks-a09 .article.article .a9-methods .a9-down {font-size:20px;line-height:1.2;margin:3px 0;}
  body.hks-a09 .article.article .a9-methods figcaption {grid-column:1/-1;font-size:15px;line-height:1.6;}
  body.hks-a09 .article.article .a9-grade-grid {gap:8px;padding:12px 0;margin:14px 0;align-items:start;}
  body.hks-a09 .article.article .a9-grade-grid > div > span {font-size:15px;line-height:1.5;min-height:3em;padding:0;}
  body.hks-a09 .article.article .a9-grade-grid strong {font-size:30px;line-height:1.3;margin-top:4px;}
  body.hks-a09 .article.article .a9-grade-grid small {font-size:16px;line-height:1.5;}
  body.hks-a09 .article.article .a9-reflection {margin:14px 0;}
  body.hks-a09 .article.article .a9-reflection > div {font-size:15px;}

  /* 10 — long technical cards stay full width on narrow phones; their art becomes inline. */
  body.hks-a10 .article.article .a10-answer {padding:14px;}
  body.hks-a10 .article.article .a10-answer h2 {font-size:16px!important;margin:0 0 8px!important;padding:0!important;}
  body.hks-a10 .article.article .a10-workshop {margin:14px 0;padding:2px 0 2px 10px;}
  body.hks-a10 .article.article .a10-methods {grid-template-columns:1fr;gap:10px;margin:14px 0;}
  body.hks-a10 .article.article .a10-methods > div {display:flow-root;padding:12px;}
  body.hks-a10 .article.article .a10-method-icon {float:right;width:84px;height:48px;margin:0 0 6px 10px;}
  body.hks-a10 .article.article .a10-methods > div > h3 {font-size:18px!important;text-align:left;padding:0;margin:0 0 8px!important;}
  body.hks-a10 .article.article .a10-methods p {font-size:16px!important;line-height:1.65!important;margin:8px 0!important;}
  body.hks-a10 .article.article .a10-grade {padding:12px;margin:14px 0;}
  body.hks-a10 .article.article .a10-grade figcaption {font-size:15px!important;line-height:1.5;margin-bottom:10px;}
  body.hks-a10 .article.article .a10-grade > div {gap:8px;font-size:15px!important;line-height:1.5;}
  body.hks-a10 .article.article .a10-grade strong {font-size:30px!important;line-height:1.3!important;margin:4px 0;}
  body.hks-a10 .article.article .a10-grade p {padding-top:9px;}
  body.hks-a10 .article.article .a10-payout {margin:14px 0 10px;}
  body.hks-a10 .article.article .a10-payout figcaption {font-size:15px!important;margin-bottom:8px;}
  body.hks-a10 .article.article .a10-payout > div {gap:3px;grid-template-columns:minmax(0,1fr) 13px minmax(0,1fr) 13px minmax(0,1fr);}
  body.hks-a10 .article.article .a10-payout span {min-height:64px;padding:8px 3px;font-size:15px!important;line-height:1.5!important;}

  /* Keep long related-article labels on a full-width, clearly tappable row. */
  body.hks-a06 .article.article > aside.related-box,
  body.hks-a07 .article.article aside.related-box,
  body.hks-a08 .article.article .a8-related-card,
  body.hks-a09 .article.article .a9-related-card,
  body.hks-a10 .article.article :is(.a10-next,.a10-related-card) {padding:13px!important;margin-block:14px!important;}
  body.hks-a08 .article.article .a8-related-card > strong,
  body.hks-a09 .article.article .a9-related-card > strong,
  body.hks-a10 .article.article :is(.a10-next,.a10-related-card) > strong {font-size:16px!important;line-height:1.5!important;margin:0 0 6px!important;padding-left:0;}
  body.hks-a08 .article.article .a8-related-card > a,
  body.hks-a09 .article.article .a9-related-card > a,
  body.hks-a10 .article.article :is(.a10-next-link,.a10-related-card > a) {min-height:44px;font-size:16px!important;line-height:1.5!important;padding-block:7px;gap:8px;}
}
@media (min-width:400px) and (max-width:768px) {
  body.hks-a08 .article.article .a8-repair-flow {grid-template-columns:minmax(0,1fr) 17px minmax(0,1fr) 17px minmax(0,1.3fr);gap:4px;padding:12px 4px;}
  body.hks-a08 .article.article .a8-flow-item {display:flex;flex-direction:column;text-align:center;padding:0;gap:6px;}
  body.hks-a08 .article.article .a8-flow-item .a8-icon {margin:0;}
  body.hks-a08 .article.article .a8-flow-arrow {width:17px;}
  body.hks-a08 .article.article .a8-flow-arrow::before {content:'→';}
}
@media (min-width:480px) and (max-width:768px) {
  body.hks-a06 .article.article .iv-coverage-compare {grid-template-columns:repeat(2,minmax(0,1fr))!important;}
  body.hks-a10 .article.article .a10-methods {grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:359px) {
  body.hks-a06 .article.article .insured-value-three,
  body.hks-a07 .article.article .grade-terms,
  body.hks-a08 .article.article .a8-damage-grid,
  body.hks-a09 .article.article .a9-methods {grid-template-columns:1fr!important;}
  body.hks-a08 .article.article .a8-damage-item {flex-direction:row;gap:10px;text-align:left;border-right:0;}
  body.hks-a08 .article.article .a8-damage-item:last-child {justify-content:flex-start;}
  body.hks-a06 .article.article .iv-equation-row > div > strong {font-size:19px!important;}
  body.hks-a08 .article.article .a8-equation strong {font-size:23px;}
}
/* Follow the article's available width as text is enlarged, not only viewport width. */
@media (max-width:768px) {
  @container hks-article (max-width:18rem) {
    body.hks-a06 .article.article :is(.insured-value-three,.value-term-grid,.iv-coverage-compare),
    body.hks-a07 .article.article :is(.vx-two,.grade-terms),
    body.hks-a07 .article.article .vx-coverage .grade-coverage-pair,
    body.hks-a08 .article.article .a8-damage-grid,
    body.hks-a09 .article.article .a9-methods,
    body.hks-a10 .article.article .a10-methods {
      grid-template-columns:minmax(0,1fr)!important;
    }
    body.hks-a08 .article.article .a8-damage-item {
      flex-direction:row;gap:10px;text-align:left;border-right:0;
    }
    body.hks-a08 .article.article .a8-damage-item:last-child {justify-content:flex-start;}
    body.hks-a08 .article.article .a8-repair-flow {
      grid-template-columns:minmax(0,1fr);gap:5px;padding:12px;
    }
    body.hks-a08 .article.article .a8-flow-item {
      flex-direction:row;gap:10px;text-align:left;padding:0;
    }
    body.hks-a08 .article.article .a8-flow-arrow {width:26px;margin:auto;}
    body.hks-a08 .article.article .a8-flow-arrow::before {content:'↓';}
  }
}

/* Mobile density for articles 11–15. Short comparisons share a row;
   narrative cards, contract conditions and checklist controls keep their width. */
@media (max-width:768px) {
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article :is(.answer,.firsthand,.personal,.callout,.summary-answer,.a13-summary,.a13-difference,.a13-note) {
    margin-block:14px;
    padding:14px;
  }
  body:is(.hks-a11,.hks-a12) .article.article .answer .answer-main {
    font-size:19px!important;
    line-height:1.5!important;
    margin-block:6px!important;
  }
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article :is(.firsthand,.personal,.callout,.related-card,.a13-difference) > h3 {
    margin-block:0 8px!important;
  }
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article :is(.checklist,.a13-checklist) {
    margin-block:16px;
    padding:12px;
  }
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article :is(.check-heading h2,.check-heading h3,.checklist h3) {
    margin-block:0 6px!important;
    font-size:18px!important;
    line-height:1.5!important;
    padding-block:0!important;
  }
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article :is(.check-row,.a13-check,.compare-table .check-label) {
    min-height:44px;
    padding-block:8px;
    gap:9px;
    font-size:16px;
    line-height:1.55;
  }
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article :is(.check-tools,.checklist-head) {gap:8px;}
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article .checklist progress {margin-block:10px 12px;}
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article .checklist :is(.text-button,.storage-help summary,.reset-confirm button) {min-height:44px;}
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article :is(.related-card,.a13-related) {
    padding:12px;
    margin-block:14px;
    gap:10px;
    min-width:0;
  }
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article :is(.related-card p,.a13-related small) {
    font-size:15px!important;
    line-height:1.55!important;
    margin-block:5px!important;
  }
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article :is(.related-card strong,.a13-related strong) {font-size:16px;line-height:1.5;}
  body:is(.hks-a11,.hks-a12,.hks-a13) .article.article .link-button {
    min-height:44px;
    padding:10px 12px;
    font-size:16px;
    line-height:1.5;
  }

  /* 11: retain the full-width interactive labels at the top and bottom. */
  body.hks-a11 .article.article .check-grid {grid-template-columns:minmax(0,1fr);gap:12px;}
  body.hks-a11 .article.article .check-phase {padding:4px 10px 6px;}
  body.hks-a11 .article.article .check-phase legend {font-size:16px;line-height:1.5;}
  body.hks-a11 .article.article :is(.wait-grid,.repair-scenes,.end-links) {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-block:14px;
  }
  body.hks-a11 .article.article .wait-card {padding:11px;}
  body.hks-a11 .article.article .wait-card svg {width:36px;height:36px;margin-bottom:6px;}
  body.hks-a11 .article.article .wait-card strong {font-size:17px;line-height:1.5;margin-bottom:5px;}
  body.hks-a11 .article.article .wait-card p {
    font-size:15px!important;
    line-height:1.6!important;
    margin-block:5px!important;
  }
  body.hks-a11 .article.article .repair-scenes {padding:10px 10px 0;margin:0;}
  body.hks-a11 .article.article .repair-scene {padding:8px 6px 0;}
  body.hks-a11 .article.article .repair-scene > p {font-size:15px!important;line-height:1.5!important;margin-block:0 5px!important;}
  body.hks-a11 .article.article .repair-scene svg {width:100%;height:auto;max-height:none;}
  body.hks-a11 .article.article .figure figcaption {padding:10px 12px;}
  body.hks-a11 .article.article .callout .ask {font-size:18px!important;line-height:1.5!important;}
  body.hks-a11 .article.article .end-links .related-card {margin:0;padding:12px;}
  body.hks-a11 .article.article .end-links .related-card:last-child:nth-child(odd) {grid-column:1/-1;}
  body.hks-a11 .article.article .end-links h3 {font-size:17px!important;line-height:1.5!important;margin-block:0 6px!important;}
  body.hks-a11 .article.article .end-links a {min-height:44px;font-size:15px;line-height:1.55;padding-block:7px;}

  /* 12: shorten the vertical stack of brief preparation/decision cards.
     The 10-item comparison itself stays one column with complete explanations. */
  body.hks-a12 .article.article :is(.quick-guide,.flow,.priority-grid,.related-grid),
  body.hks-a12 .article.article #summary > .related-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-block:14px;
  }
  body.hks-a12 .article.article :is(.quick-guide,.flow,.priority-grid,.related-grid) > :last-child:nth-child(odd) {grid-column:1/-1;}
  body.hks-a12 .article.article :is(.quick-guide,.flow,.priority-grid) > div {padding:11px;min-width:0;}
  body.hks-a12 .article.article :is(.quick-guide,.flow,.priority-grid) .mini-icon {float:none;width:30px;height:30px;margin:0 0 6px;}
  body.hks-a12 .article.article :is(.quick-guide,.flow,.priority-grid) :is(small,strong,p) {margin-left:0;}
  body.hks-a12 .article.article :is(.quick-guide,.flow,.priority-grid) strong {font-size:17px;line-height:1.5;margin-block:4px;}
  body.hks-a12 .article.article :is(.quick-guide,.flow,.priority-grid) p {
    font-size:15px!important;
    line-height:1.55!important;
    margin-block:5px 0!important;
  }
  body.hks-a12 .article.article :is(.note-pair,.experience-grid) {grid-template-columns:minmax(0,1fr);gap:10px;margin-block:14px;}
  body.hks-a12 .article.article .note-pair > div {padding:12px;}
  body.hks-a12 .article.article .note-pair h3 {margin-block:0 8px!important;}
  body.hks-a12 .article.article .related-grid .related-card {padding:12px;margin:0;}
  body.hks-a12 .article.article .related-grid .related-card span {font-size:15px;line-height:1.55;margin-bottom:5px;}
  body.hks-a12 .article.article .example-cards {margin-block:14px;}
  body.hks-a12 .article.article .example-card {padding:12px;margin-bottom:10px;}
  body.hks-a12 .article.article .example-head {gap:8px;margin-bottom:8px;}
  body.hks-a12 .article.article .example-icon {width:30px;height:30px;}
  body.hks-a12 .article.article .example-head h3 {margin:0!important;font-size:17px!important;line-height:1.5!important;}
  body.hks-a12 .article.article .example-pair {gap:8px;}
  body.hks-a12 .article.article .example-pair > div {padding:10px 8px;}
  body.hks-a12 .article.article .example-pair p {font-size:15px!important;line-height:1.55!important;margin-block:5px!important;}
  body.hks-a12 .article.article .example-key {font-size:22px;line-height:1.4;}
  body.hks-a12 .article.article :is(.example-prefix,.example-suffix,.example-result,.example-policy,.example-detail) {font-size:15px;line-height:1.55;}
  body.hks-a12 .article.article .compare-table tbody tr {margin-bottom:10px;}
  body.hks-a12 .article.article .compare-table tbody th {padding:4px 10px;}
  body.hks-a12 .article.article .compare-table td {padding:9px 10px;}
  body.hks-a12 .article.article .compare-table summary {min-height:44px;padding-block:9px;}
  body.hks-a12 .article.article .mini-check-grid {grid-template-columns:minmax(0,1fr);gap:6px;margin-block:12px;}
  body.hks-a12 .article.article .mini-check-grid label {min-height:44px;padding:8px 10px;font-size:16px;line-height:1.5;}
  body.hks-a12 .article.article .question-sample {padding:12px;margin-block:14px;}
  body.hks-a12 .article.article .a12-affiliate h3 {font-size:19px!important;line-height:1.5!important;margin-block:0 10px!important;}
  body.hks-a12 .article.article .a12-affiliate-body {line-height:1.65!important;margin-block:8px 12px!important;}
  body.hks-a12 .article.article .a12-affiliate-code a {padding:12px;font-size:16px;line-height:1.5;min-height:44px;}
  body.hks-a12 .article.article .a12-affiliate-support {gap:4px;margin-top:10px;padding-top:8px;}
  body.hks-a12 .article.article .a12-affiliate-support a {font-size:15px;line-height:1.5;min-height:44px;padding-block:10px;}

  /* 13: compare two coverage choices together; long personal accounts stay wide. */
  body.hks-a13 .article.article :is(.a13-answer-grid,.a13-quote-grid),
  body.hks-a13 .article.article #coverage > .a13-grid {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
    margin-block:12px;
  }
  body.hks-a13 .article.article .a13-answer-choice {padding:11px 10px;margin:0!important;}
  body.hks-a13 .article.article .a13-answer-choice > span {font-size:15px;line-height:1.55;}
  body.hks-a13 .article.article .a13-answer-choice > strong {font-size:23px;line-height:1.35;margin-top:6px;letter-spacing:0;}
  body.hks-a13 .article.article .a13-answer-choice small {display:block;font-size:15px;line-height:1.5;margin:3px 0 0;}
  body.hks-a13 .article.article :is(.a13-card,.a13-quote) {padding:12px;}
  body.hks-a13 .article.article .a13-grid {gap:10px;margin-block:14px;}
  body.hks-a13 .article.article .a13-card.personal {margin:0;}
  body.hks-a13 .article.article .a13-card h3 {margin-block:0 7px!important;font-size:17px!important;line-height:1.5!important;}
  body.hks-a13 .article.article :is(.a13-card,.a13-quote) .mini-icon {width:34px;height:34px;margin-bottom:7px;}
  body.hks-a13 .article.article :is(.a13-card p,.a13-quote p) {font-size:15px!important;line-height:1.6!important;margin-block:5px!important;}
  body.hks-a13 .article.article .a13-card.personal p {font-size:16px!important;line-height:1.7!important;}
  body.hks-a13 .article.article .a13-quote strong {font-size:20px;line-height:1.4;margin-block:4px;}
  body.hks-a13 .article.article .a13-step {gap:8px;margin-block:14px;}
  body.hks-a13 .article.article .a13-step > div {padding:10px 12px;}
  body.hks-a13 .article.article .a13-step .mini-icon {width:32px;height:32px;margin:0 10px 4px 0;}
  body.hks-a13 .article.article .a13-step p {font-size:15px!important;line-height:1.55!important;margin-block:4px!important;}
  body.hks-a13 .article.article .a13-figure {padding:10px;}
  body.hks-a13 .article.article .a13-related .mini-icon {width:32px;height:32px;margin:0;}
  body.hks-a13 .article.article .a13-end {gap:8px;}
  body.hks-a13 .article.article .a13-end .a13-related {display:flex;padding:12px;margin:0;}
  body.hks-a13 .article.article .a13-summary strong {font-size:20px;line-height:1.45;}

  /* 14–15: retain full condition paragraphs; tighten decorative space. */
  body:is(.hks-a14,.hks-a15) .article.article :is(.conclusion,.firsthand,.takeaway,.summary-points,.diagram,.judgment-axis,.next-step,.compare-question) {
    margin-block:14px;
    padding:14px;
  }
  body:is(.hks-a14,.hks-a15) .article.article .conclusion .answer strong {font-size:22px;line-height:1.45;}
  body:is(.hks-a14,.hks-a15) .article.article .answer-second strong {font-size:18px;line-height:1.5;}
  body:is(.hks-a14,.hks-a15) .article.article .firsthand h3 {margin-block:0 8px!important;}
  body:is(.hks-a14,.hks-a15) .article.article .card {padding:12px;min-width:0;}
  body:is(.hks-a14,.hks-a15) .article.article .card h3 {font-size:17px!important;line-height:1.5!important;margin-block:6px 7px!important;}
  body:is(.hks-a14,.hks-a15) .article.article .card p {font-size:15px!important;line-height:1.6!important;margin-block:5px!important;}
  body:is(.hks-a14,.hks-a15) .article.article .cards {gap:10px;margin-block:14px;}
  body:is(.hks-a14,.hks-a15) .article.article :is(.card > .icon,.takeaway > .icon) {width:32px;height:32px;}
  body:is(.hks-a14,.hks-a15) .article.article .related {padding:12px;gap:10px;margin-block:14px;}
  body:is(.hks-a14,.hks-a15) .article.article .related strong {font-size:16px;line-height:1.5;}
  body:is(.hks-a14,.hks-a15) .article.article .related small {font-size:15px;line-height:1.55;}
  body:is(.hks-a14,.hks-a15) .article.article .related-icon {padding:5px;}
  body:is(.hks-a14,.hks-a15) .article.article .related-icon .icon {width:28px;height:28px;}
  body:is(.hks-a14,.hks-a15) .article.article .end-related {gap:8px;}
  body:is(.hks-a14,.hks-a15) .article.article .end-related .related {margin:0;}
  body.hks-a14 .article.article :is(.cards.three,.timing) {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  body.hks-a14 .article.article .cards.three > .card {display:block;}
  body.hks-a14 .article.article .cards.three > .card:last-child {grid-column:1/-1;}
  body.hks-a14 .article.article .cards.three .icon {width:32px;height:32px;margin-bottom:6px;}
  body.hks-a14 .article.article .cards.three > .card:last-child .icon {float:left;margin:0 10px 6px 0;}
  body.hks-a14 .article.article .timing {padding:10px;margin-block:14px;}
  body.hks-a14 .article.article .timing .card {padding:10px;}
  body.hks-a14 .article.article .timing strong {font-size:18px;line-height:1.5;margin-block:6px;}
  body.hks-a14 .article.article .timing small {font-size:15px;line-height:1.5;}
  body.hks-a14 .article.article .flow {gap:8px;padding-left:0;margin-block:12px;}
  body.hks-a14 .article.article .flow li {padding:10px;margin:0;grid-template-columns:32px minmax(0,1fr);gap:0 8px;}
  body.hks-a14 .article.article .flow .icon {width:30px;height:30px;margin:7px 0 0;}
  body.hks-a14 .article.article .flow p {font-size:15px!important;line-height:1.5!important;margin-block:4px!important;}
  body.hks-a14 .article.article .choice .card {padding:12px;margin-bottom:10px;}
  body.hks-a14 .article.article .choice-head {gap:10px;}
  body.hks-a14 .article.article .choice-head .icon {width:32px;height:32px;}
  body.hks-a14 .article.article .choice .card ul {margin-block:8px 0;}
  body.hks-a14 .article.article .checklist {padding:12px;margin-block:14px;}
  body.hks-a14 .article.article .checklist h3 {margin-block:0 8px!important;}
  body.hks-a14 .article.article .check-grid {grid-template-columns:minmax(0,1fr);gap:6px;margin-block:12px;}
  body.hks-a14 .article.article .check-grid label {padding:9px 10px;min-height:44px;line-height:1.5;}
  body.hks-a14 .article.article .compare-table th label {min-height:44px;font-size:16px;line-height:1.5;}
  body.hks-a14 .article.article .reset button {min-height:44px;}
  body.hks-a14 .article.article .price-pair {padding:10px;gap:8px;margin-block:14px;}
  body.hks-a14 .article.article .price-pair .card {padding:10px 6px;}
  body.hks-a14 .article.article .price-pair strong {font-size:18px;line-height:1.45;}
  body.hks-a14 .article.article .price-pair span {font-size:15px;line-height:1.5;}
  body.hks-a15 .article.article .decision-cards {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));}
  body.hks-a15 .article.article .decision-cards .decision {font-size:21px;line-height:1.4;margin-block:6px;}
  body.hks-a15 .article.article .brief-qa {grid-template-columns:minmax(0,1fr);}
  body.hks-a15 .article.article .brief-qa .card {padding:12px;}
  body.hks-a15 .article.article .brief-qa .card h3 {margin-top:0!important;}
  body.hks-a15 .article.article .brief-qa .card p {font-size:16px!important;line-height:1.65!important;}
  body.hks-a15 .article.article .repair-visual {gap:10px;margin-block:12px;}
  body.hks-a15 .article.article .repair-visual .who-car svg {max-height:108px;}
  body.hks-a15 .article.article .parts-panel {padding:10px;gap:10px;}
  body.hks-a15 .article.article .parts-panel svg {width:64px;height:56px;}
  body.hks-a15 .article.article .parts-panel p {font-size:15px!important;line-height:1.55!important;}
  body.hks-a15 .article.article .cost-stack {gap:8px;}
  body.hks-a15 .article.article .cost-stack > div {padding:11px 9px;}
  body.hks-a15 .article.article .cost-stack strong {font-size:17px;line-height:1.5;}
  body.hks-a15 .article.article .cost-stack span {font-size:15px;line-height:1.55;margin-top:5px;}
  body.hks-a15 .article.article :is(.judgment-axis strong,.summary-points strong,.next-step strong) {font-size:21px;line-height:1.5;}
  body.hks-a15 .article.article .next-step > .icon {width:34px;height:34px;}
}

/* Small screens and enlarged text: comparisons can use the full reading width. */
@media (max-width:359px) {
  body.hks-a11 .article.article :is(.wait-grid,.repair-scenes,.end-links),
  body.hks-a12 .article.article :is(.quick-guide,.flow,.priority-grid,.related-grid,.example-pair),
  body.hks-a12 .article.article #summary > .related-grid,
  body.hks-a13 .article.article :is(.a13-answer-grid,.a13-quote-grid),
  body.hks-a13 .article.article #coverage > .a13-grid,
  body.hks-a14 .article.article :is(.cards.three,.timing),
  body.hks-a15 .article.article .decision-cards {grid-template-columns:minmax(0,1fr);}
}
@media (max-width:768px) {
  @container hks-article (max-width:18rem) {
    body.hks-a11 .article.article :is(.wait-grid,.repair-scenes,.end-links),
    body.hks-a12 .article.article :is(.quick-guide,.flow,.priority-grid,.related-grid,.example-pair),
    body.hks-a12 .article.article #summary > .related-grid,
    body.hks-a13 .article.article :is(.a13-answer-grid,.a13-quote-grid),
    body.hks-a13 .article.article #coverage > .a13-grid,
    body.hks-a14 .article.article :is(.cards.three,.timing),
    body.hks-a15 .article.article .decision-cards {grid-template-columns:minmax(0,1fr);}
  }
}
