/* Editorial presentation for solution articles; keep authored content and diagrams intact. */
.mt-solution-page {
  --mt-article-accent:#236b9c;
  --mt-article-line:#e0e8f0;
}
.mt-solution-page .mt-solution-hero {
  grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);
  padding:0;
  gap:0;
  align-items:stretch;
  background:linear-gradient(120deg,#f0f6fc,#fafcfe);
  border:1px solid #dfe8f1;
  border-radius:14px;
  margin-bottom:32px;
  box-shadow:0 8px 28px rgba(27,61,91,.04);
}
.mt-solution-page .mt-solution-hero-copy {
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  padding:24px 30px;
}
.mt-solution-page .mt-solution-hero:not(:has(.mt-solution-hero-image)) {
  grid-template-columns:1fr;
}
.mt-solution-page .mt-solution-eyebrow {
  display:flex;
  align-items:center;
  gap:10px;
  font-size:12px;
  letter-spacing:1.6px;
  margin-bottom:10px;
  color:#52748f;
}
.mt-solution-page .mt-solution-eyebrow:before {
  content:"";
  width:24px;
  height:2px;
  flex-shrink:0;
  background:#2b7cae;
}
.mt-solution-page .mt-solution-hero h1 {
  font-size:30px;
  line-height:1.35;
  margin-bottom:12px;
  letter-spacing:0;
}
.mt-solution-page .mt-solution-intro {
  line-height:1.7;
  color:#52697d;
  max-width:36em;
}
.mt-solution-page .mt-solution-contact {
  padding:8px 18px;
  border-radius:6px;
  font-size:15px;
  line-height:1.6;
  margin-top:16px;
  background:#236b9c;
  transition:background .2s;
}
.mt-solution-page .mt-solution-contact:hover {
  background:#19547d;
}
/* The copy determines desktop height; the image crops to that short, wide frame. */
.mt-solution-page .mt-solution-hero-image {
  position:relative;
  overflow:hidden;
  aspect-ratio:auto;
  min-height:0;
  align-self:stretch;
  border:0;
  border-left:1px solid #e0e8f1;
  border-radius:0;
  padding:0;
  background:#e8eff5;
}
.mt-solution-page .mt-solution-hero-image .mt-solution-hero-art {
  position:absolute;
  inset:0;
  display:block;
  width:100%;
  height:100%;
  max-width:none;
  max-height:none;
  box-sizing:border-box;
  padding:0;
  margin:0;
  object-fit:cover;
  object-position:center;
}
.mt-solution-page .mt-solution-body {
  max-width:900px;
  margin:32px auto 16px;
  color:#42566a;
  line-height:1.85;
}
.mt-solution-page .mt-solution-body>p {
  padding:0;
  margin:0 0 16px;
  font-size:16px;
  line-height:1.85;
  text-align:left;
}
.mt-solution-page .mt-solution-body>p span {
  line-height:inherit;
}
.mt-solution-page .mt-solution-body>h2 {
  position:relative;
  padding:0 0 14px 18px;
  border-bottom:1px solid var(--mt-article-line);
  margin:46px 0 22px;
  font-size:25px;
  line-height:1.5;
  color:#183c59;
  font-weight:600;
  text-align:left;
  scroll-margin-top:112px;
}
.mt-solution-page .mt-solution-body>h2:before {
  content:"";
  position:absolute;
  left:0;
  top:5px;
  width:4px;
  height:26px;
  border-radius:3px;
  background:var(--mt-article-accent);
}
.mt-solution-page .mt-solution-body>h3 {
  padding:10px 15px;
  background:#f4f7fb;
  border-radius:6px;
  margin:28px 0 14px;
  font-size:20px;
  line-height:1.55;
  font-weight:600;
  color:#294b68;
  text-align:left;
}
.mt-solution-page .mt-solution-body>h2+h3 {
  margin-top:18px;
}
.mt-solution-page .mt-solution-body>h4 {
  font-size:18px;
  margin:24px 0 10px;
  color:#294b68;
}
.mt-solution-page .mt-solution-body>ul,.mt-solution-page .mt-solution-body>ol {
  margin:16px 0 22px;
  padding-left:24px;
}
.mt-solution-page .mt-solution-body>ul>li,.mt-solution-page .mt-solution-body>ol>li {
  list-style:inherit;
  margin:6px 0;
  padding-left:4px;
  line-height:1.8;
}
.mt-solution-page .mt-solution-body>ul>li::marker {
  color:var(--mt-article-accent);
}
.mt-solution-page .mt-solution-body>p:has(>img:only-child) {
  margin:26px 0 30px;
  line-height:0;
}
.mt-solution-page .mt-solution-body>p>img,.mt-solution-page .mt-solution-body>figure>img {
  display:block;
  margin:0 auto;
  border:1px solid #e8eef4;
  border-radius:9px;
  background:#f8fafc;
}
.mt-solution-page .mt-solution-body>figure {
  margin:26px 0 30px;
}
.mt-solution-page .mt-solution-body>blockquote {
  margin:24px 0;
  padding:18px 22px;
  border-left:3px solid #78a6c5;
  border-radius:0 6px 6px 0;
  background:#f4f8fb;
  color:#46637b;
}
.mt-solution-page .mt-solution-body>blockquote p:last-child {
  margin-bottom:0;
}
.mt-solution-page .mt-article-toc {
  padding:20px 22px 18px;
  margin:0 0 30px;
  background:#f7f9fc;
  border:1px solid var(--mt-article-line);
  border-radius:10px;
}
.mt-solution-page .mt-article-toc>strong {
  font-size:15px;
  letter-spacing:.3px;
  color:#264b69;
  margin:0 0 12px;
}
.mt-solution-page .mt-article-toc ol {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:4px 22px;
  columns:auto;
  margin:0;
  padding:0;
}
.mt-solution-page .mt-article-toc li {
  margin:0;
  padding:0;
  list-style:none;
  min-width:0;
  font-size:14px;
  line-height:1.5;
}
.mt-solution-page .mt-article-toc a {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:40px;
  box-sizing:border-box;
  padding:8px 10px;
  border-radius:5px;
  color:#486078;
  font-size:14px;
  text-decoration:none;
  transition:background .2s,color .2s;
}
.mt-solution-page .mt-article-toc a:after {
  content:"";
  flex-shrink:0;
  width:5px;
  height:5px;
  border-right:1.5px solid #7894ab;
  border-bottom:1.5px solid #7894ab;
  transform:rotate(-45deg);
  margin-right:3px;
}
.mt-solution-page .mt-article-toc a:hover,.mt-solution-page .mt-article-toc a:focus-visible {
  background:#e9f1f8;
  color:#195c8b;
  text-decoration:none;
}
.mt-solution-page .mt-solution-table-scroll {
  max-width:100%;
  overflow-x:auto;
  overscroll-behavior-x:contain;
  margin:24px 0 28px;
  border:1px solid var(--mt-article-line);
  border-radius:8px;
  box-sizing:border-box;
  background:#fff;
}
.mt-solution-page .mt-solution-table-scroll:focus-visible {
  outline:2px solid var(--mt-article-accent);
  outline-offset:3px;
}
.mt-solution-page .mt-solution-body table {
  display:table;
  width:100%;
  min-width:560px;
  margin:0;
  border:0;
  border-spacing:0;
  border-collapse:separate;
  font-size:15px;
  line-height:1.75;
  background:#fff;
}
.mt-solution-page .mt-solution-body th,.mt-solution-page .mt-solution-body td {
  padding:14px 18px;
  border:0;
  border-right:1px solid #e7edf3;
  border-bottom:1px solid #e7edf3;
  text-align:left;
  vertical-align:top;
  overflow-wrap:break-word;
  font-size:15px;
  line-height:1.75;
}
.mt-solution-page .mt-solution-body th {
  font-weight:600;
  color:#254c6b;
  background:#edf3f9;
}
.mt-solution-page .mt-solution-body tr>:last-child {
  border-right:0;
}
.mt-solution-page .mt-solution-body tbody>tr:last-child>* {
  border-bottom:0;
}
.mt-solution-page .mt-solution-body tbody>tr:nth-child(even)>td {
  background:#f8fafc;
}
.mt-solution-page .mt-solution-body tbody>tr:hover>td {
  background:#f0f5fa;
}
.mt-solution-page .mt-solution-downloads {
  max-width:900px;
  margin:30px auto;
  padding:24px;
  background:#f4f7fb;
  border:1px solid var(--mt-article-line);
  border-radius:8px;
}
@media (max-width:999px) {
  .mt-solution-page .mt-solution-hero {
    padding:0;
    gap:0;
  }
  .mt-solution-page .mt-solution-hero-copy {
    padding:22px 24px;
  }
  .mt-solution-page .mt-solution-hero h1 {
    font-size:28px;
  }
}
@media (max-width:767px) {
  .mt-solution-page {
    padding-top:0;
  }
  .mt-solution-page .mt-solution-hero {
    grid-template-columns:1fr;
    padding:0;
    gap:0;
    margin-bottom:24px;
    border-radius:11px;
  }
  .mt-solution-page .mt-solution-hero-copy {
    padding:22px;
  }
  .mt-solution-page .mt-solution-hero h1 {
    font-size:26px;
    line-height:1.4;
  }
  .mt-solution-page .mt-solution-hero-image {
    aspect-ratio:auto;
    height:clamp(110px,32vw,180px);
    min-height:0;
    border-left:0;
    border-top:1px solid #e0e8f1;
  }
  .mt-solution-page .mt-solution-body {
    margin:24px 0 12px;
  }
  .mt-solution-page .mt-solution-body>p {
    font-size:16px;
    line-height:1.85;
    margin-bottom:14px;
  }
  .mt-solution-page .mt-solution-body>h2 {
    font-size:22px;
    padding-left:14px;
    margin:34px 0 18px;
    scroll-margin-top:84px;
  }
  .mt-solution-page .mt-solution-body>h2:before {
    height:23px;
    width:3px;
  }
  .mt-solution-page .mt-solution-body>h3 {
    font-size:18px;
    padding:10px 12px;
    margin:23px 0 12px;
  }
  .mt-solution-page .mt-article-toc {
    padding:16px 12px;
    margin-bottom:24px;
  }
  .mt-solution-page .mt-article-toc>strong {
    padding-left:8px;
  }
  .mt-solution-page .mt-article-toc ol {
    grid-template-columns:1fr;
    gap:2px;
  }
  .mt-solution-page .mt-article-toc a {
    min-height:44px;
  }
  .mt-solution-page .mt-solution-body td,.mt-solution-page .mt-solution-body th {
    padding:12px 14px;
    font-size:14px;
  }
  .mt-solution-page .mt-solution-body>p:has(>img:only-child) {
    margin:20px 0 24px;
  }
}
@media (prefers-reduced-motion:reduce) {
  .mt-solution-page .mt-article-toc a,.mt-solution-page .mt-solution-contact {
    transition:none;
  }
}
