/* The article shares the catalogue's paper, ink and subsystem colours. */
.powertrain { padding-block:58px 0; }
.powertrain h1 { max-width:1000px; font-size:clamp(38px,5vw,66px); }
.article-lead { max-width:820px; color:#4b645c; font-size:18px; }
.source-note { max-width:920px; border-left:3px solid var(--mg1); padding:14px 20px; background:#e9eee3; font-size:14px; line-height:1.7; }
.article-layout { display:grid; grid-template-columns:minmax(0,1fr) 220px; gap:54px; margin-top:40px; align-items:start; }
.article-layout article { min-width:0; max-width:850px; }
.article-layout h2 { margin-top:48px; scroll-margin-top:24px; }
.article-layout article > section:first-child h2 { margin-top:0; }
.article-layout h3 { font-size:19px; margin:28px 0 10px; }
.article-layout p,.article-layout li { font-size:16px; line-height:1.8; }
.article-layout li { margin-bottom:10px; }
.article-toc { position:sticky; top:24px; grid-column:2; grid-row:1; border-left:1px solid var(--line); padding-left:22px; }
.article-toc h2 { margin:0 0 14px; font-size:15px; }
.article-toc ol { padding-left:18px; }
.article-toc li { font-size:12px; line-height:1.5; margin-bottom:12px; }
.article-toc a { text-decoration:none; }
.source-ref { font-size:12px; white-space:nowrap; }
.formula { overflow-wrap:anywhere; }
.flow-figure { background:white; border:1px solid var(--line); border-radius:10px; margin:28px 0; padding:24px; }
.flow-path { display:flex; flex-wrap:wrap; align-items:center; gap:10px; line-height:1.7; margin:10px 0 20px; }
.flow-node { padding:8px 12px; border:1px solid currentColor; border-radius:4px; font-size:13px; }
.flow-figure figcaption { font-size:12px; line-height:1.7; color:var(--muted); }
.table-scroll { max-width:100%; overflow-x:auto; border:1px solid var(--line); border-radius:6px; margin:24px 0; }
.table-scroll:focus-visible { outline-offset:2px; }
table { border-collapse:collapse; width:100%; min-width:660px; font-size:13px; }
th,td { text-align:left; vertical-align:top; padding:13px 15px; border-bottom:1px solid var(--line); line-height:1.7; }
thead th { background:#e9eee3; }
tbody th { width:22%; }
tbody tr:last-child > * { border-bottom:0; }
caption { text-align:left; padding:14px 15px; font-size:12px; color:var(--muted); }
.model-code { display:block; font-size:12px; margin-top:5px; overflow-wrap:anywhere; }
.article-callout { padding:18px 22px; border-left:3px solid var(--ice); background:#fff4dc; margin:24px 0; }
.article-callout p { margin:0; }
.source-list { padding-left:26px; overflow-wrap:anywhere; }
.source-list li { padding-left:4px; margin-bottom:20px; font-size:13px; }
.source-list small { display:block; color:var(--muted); line-height:1.65; margin-top:4px; }
.source-list :target { background:#e9eee3; outline:2px solid var(--mg1); outline-offset:5px; }
.article-footer { margin-top:52px; gap:24px; }
@media(max-width:1000px) { .article-layout { gap:28px; grid-template-columns:minmax(0,1fr) 180px; } }
@media(max-width:760px) {
  .powertrain { padding-top:34px; }
  .article-lead { font-size:16px; }
  .article-layout { display:flex; flex-direction:column; margin-top:28px; }
  .article-toc { position:static; width:100%; padding:16px 20px; border:1px solid var(--line); border-radius:6px; }
  .article-toc ol { columns:2; column-gap:28px; }
  .article-toc li { break-inside:avoid; }
  .article-layout article { width:100%; }
  .article-layout h2 { font-size:26px; margin-top:38px; }
  .flow-figure { padding:18px; }
  .article-layout p,.article-layout li { font-size:15px; }
  .source-list li { font-size:13px; }
}
@media(max-width:380px) { .article-toc ol { columns:1; } }
