/* Solution prose and diagrams; the list uses the shared catalog styles. */
.solution-detail-heading { margin-bottom: 28px; }
.solution-detail-heading > p { margin-bottom: 8px; color: var(--brand); font-size: 13px; line-height: 22px; font-weight: 400; }
.solution-detail-heading h2 { margin: 0; font-size: 32px; line-height: 44px; font-weight: 700; letter-spacing: -.02em; }
.solution-detail-section + .solution-detail-section { margin-top: 28px; }
.solution-detail-section h3 { margin: 0 0 12px; font-size: 22px; line-height: 32px; font-weight: 500; }
.solution-detail-section > p { color: var(--muted); font-size: 16px; line-height: 28px; font-weight: 400; }
.solution-composition { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 16px; padding: 0; margin: 0; list-style: none; }
.solution-composition li { display: flex; align-items: center; gap: 16px; min-height: 52px; padding: 12px 16px; border: 1px solid #e7ebf0; border-radius: 6px; color: #536174; font-size: 15px; line-height: 26px; }
.solution-composition li > span { flex-shrink: 0; color: var(--brand); font-size: 13px; line-height: 24px; }
.solution-benefits { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px 24px; margin: 0; }
.solution-benefits-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.solution-benefits > div { padding-left: 16px; border-left: 2px solid #c4d2df; }
.solution-benefits dt { font-size: 16px; line-height: 26px; font-weight: 500; }
.solution-benefits dd { margin: 6px 0 0; color: var(--muted); font-size: 14px; line-height: 24px; font-weight: 400; }
.solution-figure { margin: 0; padding: 24px; border: 1px solid #e7ebf0; border-radius: 8px; background: #fff; text-align: center; }
.solution-figure + .solution-figure { margin-top: 16px; }
.solution-figure img { display: block; width: 100%; height: auto; max-height: 420px; object-fit: contain; margin-inline: auto; }
.solution-equipment img { height: 320px; }
.solution-equipment { background: #f5f8fb; }
.solution-figure figcaption { margin-top: 16px; color: var(--muted); font-size: 13px; line-height: 22px; font-weight: 400; }
