/* Focused sections and the four-view, automatically revealed comparison. */
.section-chapter { border-top: 1px solid var(--line); scroll-margin-top: 24px; }
.chapter-heading { display: flex; justify-content: space-between; align-items: end; gap: 55px; margin-bottom: 40px; }
.chapter-heading p { max-width: 370px; font-size: 16px; }
.section-chapter .eyebrow { font-size: 13px; letter-spacing: .11em; }
.hero-copy .lead { font-size: 17px; }
.hero-copy .hero-footnote { font-size: 14px; }
.hero-comparison { min-width: 0; border: 1px solid var(--line); border-radius: 5px; background: #f0f2ec; overflow: hidden; }
.auto-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 20px; border-bottom: 1px solid var(--line); font-size: 14px; font-weight: 550; }
.auto-heading button { font-size: 13px; min-height: 44px; padding: 7px 10px; border: 1px solid #aab8b1; border-radius: 4px; }
.auto-heading button:hover { background: white; }
.hero-comparison .comparison-stage { border-radius: 0; }
.hero-comparison .range-label { margin: 0; padding: 12px 20px; font-size: 13px; background: white; }
.hero-comparison .range-label input { min-height: 40px; }
.auto-footer { border-top: 1px solid var(--line); padding: 14px 20px 18px; }
.auto-footer p { font-size: 14px; color: var(--ink); }
.auto-views { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 6px; margin-top: 10px; }
.auto-views button { min-height: 44px; padding: 9px 7px; border: 1px solid transparent; border-radius: 4px; font-size: 14px; }
.auto-views button[aria-pressed=true] { background: white; border-color: #acbdb3; color: var(--blue); }
.auto-views button:hover { border-color: #acbdb3; }
.custom-backgrounds { background: #e4edf0; }
.custom-grid { display: grid; grid-template-columns: 1fr 1.1fr; gap: 70px; align-items: center; }
.custom-grid h2 { margin-bottom: 26px; }
.custom-grid h2 em { color: var(--blue); font-style: normal; }
.custom-grid p { font-size: 16px; }
.custom-grid .check-list { font-size: 15px; margin: 25px 0 30px; }
.custom-grid figure img { border-radius: 5px; aspect-ratio: 4/3; width: 100%; object-fit: contain; }
.custom-grid figcaption, .plate-feature-image figcaption { font-size: 13px; color: var(--muted); margin-top: 15px; line-height: 1.65; }
.plate-feature-image img { background: white; border-radius: 5px; aspect-ratio: 4/3; object-fit: contain; width: 100%; }
.library-note a { color: var(--blue); text-decoration: underline; text-underline-offset: 3px; }
.library-controls .filter-buttons { gap: 4px; }
.input-unit input { padding-right: 112px; }
.input-unit>span { font-size: 12px; }
.input-unit:has(span:last-child)>input { min-width: 0; }
.field-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
.result-breakdown dd { flex-shrink: 1; text-align: right; overflow-wrap: anywhere; }
.calculator-results .button { gap: 12px; }
.range-label { flex-wrap: wrap; }
.footer-grid { grid-template-columns: 1.8fr 1.25fr 1.25fr 1fr; }
@media(max-width:1100px) {
  .hero-grid { grid-template-columns: 1fr 1.15fr; gap: 32px; }
  .hero-copy .lead { font-size: 16px; }
  .custom-grid { gap: 40px; }
  .chapter-heading { gap: 35px; }
  .sheet-total { flex-wrap: wrap; }
}
@media(max-width:900px) {
  .hero-grid { grid-template-columns: 1fr; max-width: 720px; }
  .hero-copy h1 { font-size: 48px; }
  .hero-copy .lead { max-width: 600px; }
  .hero-copy .actions { display: flex; }
  .hero-copy .text-link { margin-top: 0; }
  .custom-grid { grid-template-columns: 1fr 1fr; gap: 30px; }
  .chapter-heading { align-items: start; }
  .chapter-heading p { max-width: 300px; }
  .footer-grid { grid-template-columns: 1.7fr 1.2fr 1.2fr; }
  .category-links { gap: 12px 24px; }
  .field-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media(max-width:650px) {
  .hero-copy h1 { font-size: 43px; }
  .hero-copy .lead { font-size: 16px; }
  .hero-copy .actions { gap: 16px; }
  .chapter-heading { display: block; margin-bottom: 30px; }
  .chapter-heading p { max-width: none; margin-top: 22px; font-size: 16px; }
  .custom-grid { grid-template-columns: 1fr; gap: 32px; }
  .custom-grid h2 { font-size: 32px; }
  .custom-grid .button { gap: 14px; }
  .auto-heading { padding: 9px 14px; }
  .auto-heading button { font-size: 13px; padding-inline: 8px; }
  .auto-footer { padding: 13px 14px 15px; }
  .auto-views { gap: 3px; }
  .auto-views button { font-size: 13px; }
  .hero-comparison .range-label { padding: 10px 14px; gap: 6px; }
  .hero-comparison .range-label input { max-width: none; width: 100%; flex-basis: 100%; }
  .footer-grid { grid-template-columns: 1fr 1fr; }
  .field-grid { grid-template-columns: 1fr; }
  .filter-row { align-items: start; }
  .search-field { flex-basis: 100%; width: 100%; }
  .tone-field { width: 100%; }
  .filter-row p { padding-top: 5px; }
  .calculator-toolbar .segmented button { font-size: 14px; }
  .sheet-total { gap: 10px; }
  .sheet-total strong { font-size: 30px; }
  .result-breakdown>div { gap: 12px; }
}
