/* ML case shares the existing case geometry and aAIto colours. */
.ml-response { display: flex; flex-direction: column; }
.ml-response-time { margin: 10px 0 0; }
.ml-response-time dt { font-size: 14px; line-height: 1.5; color: #365f73; }
.ml-response-time dd { margin: 8px 0 0; font-size: 76px; font-weight: 400; line-height: 1.05; letter-spacing: -.045em; font-variant-numeric: tabular-nums; }
.ml-response-time dd > span { font-size: .44em; letter-spacing: -.03em; }
.ml-time-before dd { font-size: 44px; color: #517489; }
.ml-time-after { margin-top: 28px; }
.ml-time-after dd { color: #146dda; }
.ml-time-line { margin-top: 22px; height: 5px; background: #91c6dc; border-radius: 5px; }
.ml-time-line > span { display: block; width: 1.111111%; height: 100%; background: #146dda; border-radius: inherit; }
.ml-time-note { margin-top: 12px; font-size: 13px; line-height: 1.6; color: #365f73; max-width: 28ch; }
.ml-mini-flow { list-style: none; padding: 26px 0 0; margin: auto 0 0; display: grid; gap: 19px; }
.ml-mini-flow li { position: relative; padding-left: 22px; }
.ml-mini-flow li::before { content: ''; width: 6px; height: 6px; background: #247ba2; border-radius: 50%; position: absolute; left: 0; top: 8px; }
.ml-mini-flow li:not(:last-child)::after { content: ''; width: 1px; background: #75b9d3; position: absolute; left: 2px; top: 20px; bottom: -10px; }
.ml-mini-flow strong { display: block; font-size: 14px; line-height: 1.5; font-weight: 500; }
.ml-mini-flow span { display: block; margin-top: 3px; font-size: 12px; line-height: 1.5; color: #365f73; }
.ml-project-name { font-size: 21px; font-weight: 500; letter-spacing: -.035em; color: #247b9d; }
.ml-business-results { display: grid; grid-template-columns: .7fr 1.3fr; gap: 24px; width: 100%; margin: 27px 0 0; }
.ml-business-results > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 8px; }
.ml-business-results dd { margin: 0; font-size: 49px; line-height: 1.05; letter-spacing: -.04em; color: #146dda; font-variant-numeric: tabular-nums; }
.ml-business-results dd > span { font-size: .48em; letter-spacing: -.025em; }
.ml-business-results dt { font-size: 14px; line-height: 1.5; color: #516b7a; }
.case-ml .case-story-detail { margin-top: 25px; padding-top: 20px; }
.case-ml .case-story h3 { margin-top: 28px; }
.case-ml .case-cta { text-align: center; }
.ml-article-results { display: grid; grid-template-columns: 1.4fr 1fr 1.15fr; gap: 22px; margin: 32px 0; padding: 26px; border-radius: 16px; background: #eff8ff; }
.ml-article-results > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 10px; }
.ml-article-results dd { margin: 0; color: #1754c2; font-size: 24px; line-height: 1.2; letter-spacing: -.6px; }
.ml-article-results dt { font-size: 13px; line-height: 1.6; color: #526879; }
.ml-algorithm { margin: 30px 0; padding: 26px; border: 1px solid #cbdce7; border-radius: 16px; }
.ml-algorithm figcaption { font-size: 17px; font-weight: 500; line-height: 1.5; }
.ml-algorithm ol { list-style: none; counter-reset: ml-step; display: grid; gap: 22px; padding: 0; margin: 24px 0 0; }
.article-prose .ml-algorithm li { position: relative; padding: 0 0 0 49px; margin: 0; }
.ml-algorithm li::before { counter-increment: ml-step; content: counter(ml-step); position: absolute; left: 0; top: 0; display: grid; place-items: center; width: 31px; height: 31px; background: #eaf5ff; color: #1754c2; border-radius: 50%; font-size: 13px; }
.ml-algorithm li:not(:last-child)::after { content: ''; position: absolute; left: 15px; top: 39px; bottom: -15px; width: 1px; background: #cbdce7; }
.ml-algorithm strong { display: block; font-size: 16px; }
.ml-algorithm span { display: block; font-size: 14px; line-height: 1.6; color: #526879; }
@media (max-width: 1100px) {
  .ml-response-time dd { font-size: 65px; }
  .ml-time-before dd { font-size: 39px; }
  .ml-project-name { font-size: 19px; }
  .ml-business-results dd { font-size: 43px; }
  .ml-article-results { grid-template-columns: 1fr; gap: 22px; }
}
@media (max-width: 760px) {
  .case-ml .case-story { grid-row: auto; }
  .ml-response-time { display: grid; grid-template-columns: .85fr 1.15fr; gap: 16px; align-items: end; margin-top: 0; }
  .ml-time-after { margin-top: 0; }
  .ml-response-time dt { font-size: 12px; }
  .ml-response-time dd { font-size: 51px; }
  .ml-time-before dd { font-size: 38px; }
  .ml-time-note { max-width: none; }
  .ml-mini-flow { gap: 17px; padding-top: 25px; }
  .ml-project-name { font-size: 20px; }
  .ml-business-results { gap: 16px; }
  .ml-business-results dd { font-size: 46px; }
  .ml-article-results, .ml-algorithm { padding: 22px; }
}
@media (max-width: 360px) {
  .ml-response-time { grid-template-columns: 1fr; gap: 23px; }
  .ml-response-time dd { font-size: 62px; }
  .ml-time-before dd { font-size: 36px; }
  .ml-business-results dd { font-size: 40px; }
}
