.article-reference-table table { min-width: 620px; font-size: 16px; }
.offers-table table { min-width: 790px; }
.hours-table table { min-width: 460px; }
.hours-table th:last-child, .hours-table td:last-child { width: 100px; text-align: right; font-variant-numeric: tabular-nums; }
.article-body > ul { max-width: 720px; padding-left: 26px; margin: 24px 0; }
.article-body > ul li { padding-left: 6px; margin-block: 12px; }
.article-body > ul li::marker { color: var(--accent-text); }
.editorial-illustration { max-width: 780px; margin-block: 32px 40px; }
.editorial-illustration img { display: block; width: 100%; height: auto; }
.intro-copy .editorial-illustration { margin-bottom: 0; }
.price-calculator { max-width: 720px; margin: 40px 0; }
.price-calculator h3 { margin: 0 0 14px; font-size: 25px; line-height: 1.3; }
.price-calculator .calculator-hint, .price-calculator .calculator-note { margin: 0 0 24px; font-size: 16px; line-height: 1.6; color: var(--secondary); }
.calculator-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; }
.calculator-fields label { display: block; min-width: 0; font-size: 16px; line-height: 1.5; font-weight: 500; }
.calculator-fields input { display: block; width: 100%; min-width: 0; min-height: 48px; margin-top: 8px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); color: var(--text); font: inherit; font-size: 18px; font-weight: 400; font-variant-numeric: tabular-nums; }
.calculator-fields input[aria-invalid="true"] { border-color: var(--accent-deep); }
.calculator-controls { margin-top: 20px; }
.calculator-controls button { min-height: 44px; padding: 9px 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--bg); font-size: 15px; line-height: 1.4; }
.calculator-controls button:hover { background: var(--surface); }
.calculator-controls .calculator-error { margin: 14px 0 0; color: var(--accent-deep); font-size: 16px; line-height: 1.5; }
.calculator-result { margin-top: 28px; padding-top: 24px; border-top: 1px solid var(--border-soft); }
.calculator-result > span { display: block; font-size: 16px; color: var(--secondary); }
.calculator-result output { display: block; max-width: 100%; margin-top: 6px; font-size: 34px; line-height: 1.2; font-weight: 600; letter-spacing: -.02em; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
.calculator-result p { margin: 10px 0 0; font-size: 16px; line-height: 1.5; color: var(--secondary); }
.article-body .price-breakdown { margin-top: 24px; margin-bottom: 22px; }
.price-breakdown .quantity-chart__label { align-items: start; }
.price-breakdown .quantity-chart__label > span { min-width: 0; }
.price-breakdown .quantity-chart__label strong { flex: 0 1 auto; max-width: 55%; text-align: right; overflow-wrap: anywhere; }
.price-calculator .calculator-note { margin-bottom: 0; font-size: 15px; }
@media (max-width: 650px) {
  .editorial-illustration { margin-block: 28px 32px; }
  .calculator-fields { grid-template-columns: minmax(0, 1fr); gap: 18px; }
  .price-calculator h3 { font-size: 23px; }
  .calculator-result output { font-size: 30px; }
  figcaption { font-size: 14px; }
}
