/* Engine catalogue: use the site's workshop palette and Inter typography. */
.engine-page { --engine-ink:#20252b; --engine-muted:#606a74; --engine-paper:#f1f3f4; --engine-line:#d7dce0; --engine-red:#d62f4b; color:var(--engine-ink); background:var(--engine-paper); font-family:Inter,Arial,sans-serif; }
#content.engine-page { background:var(--engine-paper); }
.engine-page * { box-sizing:border-box; }
.engine-page h1,.engine-page h2,.engine-page h3,.engine-page h4 { font-family:inherit; color:inherit; line-height:1.2; }
.engine-page a { color:#ad1b34; text-decoration:underline; text-underline-offset:3px; }
.engine-page a:hover { color:#741124; }
.engine-page a:focus-visible,.engine-page summary:focus-visible,.engine-table-scroll:focus-visible { outline:3px solid var(--engine-red); outline-offset:4px; }
.engine-header { padding:32px 0 42px; color:#fff; background:#171b20; border-bottom:5px solid var(--engine-red); }
.engine-header h1 { max-width:1000px; margin:24px 0; font-size:clamp(28px,4.5vw,52px); font-weight:700; letter-spacing:-.03em; overflow-wrap:anywhere; }
.engine-breadcrumb ol { display:flex; flex-wrap:wrap; gap:8px 18px; padding:0; margin:0; list-style:none; font-size:13px; }
.engine-breadcrumb li+li::before { content:"/"; margin-right:18px; color:#9ea7b1; }
.engine-breadcrumb a { color:#e3e7eb; }
.engine-breadcrumb a:hover { color:#fff; }
.engine-page .engine-button { display:inline-block; padding:12px 20px; background:var(--engine-red); border-radius:3px; color:#fff; font-weight:600; text-decoration:none; }
.engine-page .engine-button:hover { background:#b61e38; color:#fff; }
.engine-page .engine-button--dark { background:#242a31; }
.engine-content { padding-top:38px; padding-bottom:60px; }
.engine-intro,.engine-description { max-width:78ch; font-size:17px; line-height:1.75; }
.engine-intro { margin-bottom:30px; }
.engine-description { margin-bottom:26px; overflow-wrap:anywhere; }
.engine-description table { display:block; max-width:100%; overflow-x:auto; }
.engine-plain-text { white-space:pre-wrap; overflow-wrap:anywhere; }
.engine-muted { color:var(--engine-muted); font-size:14px; line-height:1.6; }
.engine-facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); margin:0 0 26px; gap:16px; }
.engine-fact { min-width:0; padding:20px; background:#fff; border:1px solid var(--engine-line); border-radius:3px; }
.engine-facts dt { display:flex; align-items:center; gap:12px; font-size:13px; line-height:1.4; font-weight:500; color:var(--engine-muted); margin:0 0 12px; }
.engine-fact-icon { display:flex; align-items:center; justify-content:center; flex:0 0 28px; width:28px; height:28px; font-size:25px; line-height:1; color:#ad1b34; }
.engine-fact-engine { display:block; width:28px; height:28px; background:currentColor; -webkit-mask:url('/Content/icons/performance/icons/engine.svg') center/contain no-repeat; mask:url('/Content/icons/performance/icons/engine.svg') center/contain no-repeat; }
.engine-facts dd { margin:0; line-height:1.5; overflow-wrap:anywhere; }
.engine-fact-value { display:block; font-size:18px; font-weight:600; }
.engine-fact--output .engine-fact-value { font-size:26px; letter-spacing:-.02em; }
.engine-fact-secondary,.engine-fact-rpm { display:block; font-size:14px; font-weight:400; color:var(--engine-muted); margin-top:4px; }
.engine-section { margin-top:42px; scroll-margin-top:110px; }
.engine-section h2 { font-size:28px; margin-bottom:16px; }
.engine-section>p { max-width:78ch; line-height:1.7; }
.engine-generation-nav { display:flex; flex-wrap:wrap; gap:10px; margin:24px 0; }
.engine-generation-nav a { padding:9px 15px; border:1px solid var(--engine-line); background:#fff; border-radius:3px; font-size:14px; font-weight:600; }
.engine-generation { margin-top:28px; scroll-margin-top:110px; }
.engine-section-heading { display:flex; flex-wrap:wrap; align-items:baseline; justify-content:space-between; gap:12px; margin-bottom:18px; }
.engine-section-heading h3 { font-size:23px; margin:0; }
.engine-section-heading>a,.engine-section-heading>span { font-size:13px; }
.engine-table-scroll { max-width:100%; overflow-x:auto; background:#fff; }
.engine-table { width:100%; border-collapse:collapse; font-size:14px; text-align:left; }
.engine-table caption { caption-side:top; padding:12px 18px; font-size:12px; text-align:left; color:var(--engine-muted); }
.engine-table th,.engine-table td { padding:16px 18px; border-bottom:1px solid var(--engine-line); vertical-align:top; }
.engine-table thead th { color:#fff; background:#242a31; font-size:12px; font-weight:600; white-space:nowrap; }
.engine-table td { white-space:nowrap; }
.engine-table th[scope=row] { min-width:220px; font-weight:600; }
.engine-table small { display:block; font-size:12px; font-weight:400; color:var(--engine-muted); margin-top:4px; }
.engine-table tbody tr:hover { background:#f8f9fa; }
.engine-family { display:flex; gap:32px; justify-content:space-between; background:#fff; padding:30px; margin-bottom:20px; border-left:4px solid var(--engine-red); }
.engine-family h2 { font-size:27px; margin-bottom:14px; }
.engine-family p { max-width:72ch; line-height:1.7; }
.engine-family-browse { flex:0 0 220px; }
.engine-empty { padding:22px; background:#fff; border-left:3px solid var(--engine-line); line-height:1.7; }
.engine-empty p:last-child { margin-bottom:0; }
.engine-stage { padding:28px; background:#fff; margin:26px 0; border-top:4px solid var(--engine-red); scroll-margin-top:110px; }
.engine-stage h4 { font-size:18px; margin:24px 0 14px; }
.engine-stage .engine-facts { grid-template-columns:repeat(2,minmax(0,1fr)); }
.engine-stage .engine-fact { background:#f6f7f8; }
.engine-mods { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:14px; padding:0; margin:0 0 26px; list-style:none; }
.engine-mods li { min-width:0; padding:18px; background:#f6f7f8; border:1px solid var(--engine-line); border-left:3px solid #78838e; overflow-wrap:anywhere; }
.engine-mods li[data-requirement="Required" i] { border-left-color:#ad1b34; }
.engine-mods li[data-requirement="Recommended" i] { border-left-color:#28635d; }
.engine-mods li>div { display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; align-items:center; }
.engine-mods small { display:block; color:var(--engine-muted); margin-top:6px; }
.engine-mods p { margin:8px 0 0; }
.engine-requirement { padding:4px 9px; border-radius:3px; background:#e4e8ec; font-size:12px; font-weight:600; color:#43515e; }
.engine-mods li[data-requirement="Required" i] .engine-requirement { color:#8d172a; background:#f6e4e8; }
.engine-mods li[data-requirement="Recommended" i] .engine-requirement { color:#20524d; background:#e0eee9; }
.engine-graph-lock { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; padding:22px; background:#fff; border:1px solid var(--engine-line); }
.engine-graph-lock p { margin:0; }
.engine-graph-login { padding-top:18px; margin-bottom:0; border-top:1px solid var(--engine-line); font-size:14px; }
.engine-chart { margin:24px 0; }
.engine-chart-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; }
.engine-chart figure { min-width:0; padding:18px; margin:0; background:#fff; border:1px solid var(--engine-line); }
.engine-chart figcaption { font-size:14px; font-weight:600; margin-bottom:14px; }
.engine-canvas { height:280px; position:relative; }
.engine-chart>.engine-muted { margin:14px 0; }
.engine-curve-points summary { cursor:pointer; font-size:14px; padding:10px 0; font-weight:600; }
.engine-curve-points .engine-table-scroll { max-height:320px; margin-top:12px; }
.engine-curve-points .engine-table th[scope=row] { min-width:auto; }
.engine-vehicle-list { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.engine-vehicle { background:#fff; min-width:0; }
.engine-vehicle img { display:block; width:100%; height:190px; object-fit:contain; background:#e9ecef; }
.engine-vehicle>div { padding:20px; }
.engine-vehicle h3 { font-size:19px; margin:0 0 10px; }
.engine-vehicle p { font-size:14px; line-height:1.6; margin-bottom:10px; }
@media(max-width:991px) { .engine-facts { grid-template-columns:repeat(2,minmax(0,1fr)); } .engine-vehicle-list { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) { .engine-family { flex-direction:column; gap:14px; padding:22px; } .engine-family-browse { flex:auto; } .engine-chart-grid { grid-template-columns:1fr; } .engine-stage { padding:20px 16px; } .engine-content { padding-top:26px; } .engine-header { padding:24px 0 30px; } .engine-facts { gap:12px; } .engine-fact { padding:16px 14px; } .engine-facts dt { gap:8px; font-size:12px; } .engine-fact-icon { flex-basis:24px; width:24px; height:24px; font-size:23px; } .engine-fact-engine { width:24px; height:24px; } .engine-fact-value { font-size:16px; } .engine-fact--output .engine-fact-value { font-size:24px; } .engine-fact-secondary,.engine-fact-rpm { font-size:13px; } .engine-fact--management { grid-column:1/-1; } .engine-breadcrumb ol { font-size:12px; } .engine-chart figure { padding:12px; } }
@media(max-width:479px) { .engine-vehicle-list,.engine-mods { grid-template-columns:1fr; } .engine-section h2 { font-size:24px; } .engine-canvas { height:240px; } }
@media(max-width:359px) { .engine-facts,.engine-stage .engine-facts { grid-template-columns:1fr; } }
