.mos-machine-article { background:#fff; color:#4a3324; padding:42px 0 64px; }
/* Use the same responsive base-container width and gutters as the news listing. */
.mos-article-meta { display:flex; flex-wrap:wrap; gap:10px 24px; font-size:13px; line-height:1.6; color:#846f61; margin-bottom:24px; }
.mos-article-meta a { color:#723c18; text-decoration:none; }
.mos-article-hero { margin:0 0 42px; }
.mos-article-hero img { display:block; width:100%; height:auto; max-height:480px; object-fit:contain; border-radius:8px; background:#fcf8f6; }
.mos-article-hero figcaption { margin-top:10px; color:#846f61; font-size:13px; }
.mos-article-layout { display:grid; grid-template-columns:minmax(0,1fr) 260px; gap:56px; align-items:start; }
.mos-article-body { min-width:0; font-size:17px; line-height:1.85; overflow-wrap:anywhere; }
.mos-article-body p { font-size:inherit; line-height:inherit; margin:0 0 22px; }
.mos-article-body h2 { color:#452510; font-size:28px; line-height:1.3; margin:40px 0 18px; }
.mos-article-body > h2:first-child { margin-top:0; }
.mos-article-body h3 { color:#5e3317; font-size:21px; line-height:1.4; margin:30px 0 14px; }
.mos-article-body h2,.mos-article-body h3 { scroll-margin-top:150px; }
.mos-article-body ul,.mos-article-body ol { padding-left:24px; margin:0 0 24px; }
.mos-article-body li { margin-bottom:9px; }
.mos-article-sidebar { position:sticky; top:140px; max-height:calc(100vh - 160px); overflow:auto; padding:24px; border:1px solid #ece2dc; border-radius:8px; background:#fcf8f6; }
.mos-article-sidebar h2 { font-size:17px; line-height:1.4; margin:0 0 16px; }
.mos-article-sidebar ol { list-style:none; margin:0; padding:0; }
.mos-article-sidebar li { margin:0 0 12px; line-height:1.5; }
.mos-article-sidebar .is-subsection { padding-left:12px; border-left:1px solid #e3d5cc; }
.mos-article-sidebar a { color:#6b4c37; font-size:13px; text-decoration:none; }
.mos-article-sidebar a:hover { color:#883905; text-decoration:underline; }
.mos-article-related { border-top:1px solid #ece2dc; padding-top:32px; margin-top:42px; }
.mos-article-related h2 { font-size:26px; margin:0 0 20px; }
.mos-article-related > div { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.mos-article-related a { padding:22px; border:1px solid #ece2dc; border-radius:6px; color:#5f3315; text-decoration:none; font-size:17px; line-height:1.5; }
.mos-article-related span { display:block; margin-top:18px; font-size:13px; color:#886248; }
.mos-article-cta { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:32px; margin:42px 0 24px; background:#452510; border-radius:8px; color:white; }
.mos-article-cta h2 { color:white; font-size:27px; line-height:1.3; margin:8px 0 14px; }
.mos-article-cta p { color:#efe0d6; font-size:15px; line-height:1.6; margin:0; max-width:620px; }
.mos-article-cta .primary-button { flex-shrink:0; }
.mos-article-back { color:#633f27; font-size:14px; }
.mos-article-table { overflow-x:auto; margin-block:24px; }
.mos-article-table table { border-collapse:collapse; width:100%; }
.mos-article-table th,.mos-article-table td { padding:12px; border:1px solid #ece2dc; text-align:left; }
.mos-article-table caption { text-align:left; font-weight:600; margin-bottom:10px; }
.mos-event-summary { padding:24px; background:#fcf8f6; border:1px solid #ece2dc; border-radius:8px; margin-bottom:32px; }
.mos-article-body .mos-event-summary h2 { margin:0 0 18px; font-size:23px; }
.mos-event-summary dl { display:grid; grid-template-columns:120px minmax(0,1fr); gap:10px 16px; font-size:15px; line-height:1.6; margin:0; }
.mos-event-summary dt { font-weight:600; }.mos-event-summary dd { margin:0; }
.mos-article-inline-image { margin:24px 0; }.mos-article-inline-image img { max-width:100%; height:auto; }.mos-article-inline-image figcaption,.mos-article-source-note { font-size:13px; color:#846f61; }
@media(max-width:600px) { .mos-event-summary dl { grid-template-columns:1fr; gap:4px; }.mos-event-summary dd { margin-bottom:12px; } }
@media(max-width:991px) { .mos-article-layout { grid-template-columns:minmax(0,1fr); gap:28px; } .mos-article-sidebar { position:static; max-height:none; grid-row:1; } .mos-article-cta { flex-direction:column; align-items:flex-start; } }
@media(max-width:600px) { .mos-machine-article { padding-top:28px; } .mos-article-body { font-size:16px; } .mos-article-body h2 { font-size:25px; } .mos-article-related > div { grid-template-columns:1fr; } .mos-article-cta { padding:24px; } .mos-article-hero { margin-bottom:28px; } }
