/* Minimal semantic vector illustrations. Distinct images replace repeated photo-style icons. */

.article-section > h2 .mv-object-title {
  width: 53px;
  height: 53px;
  flex: 0 0 53px;
  padding: 0;
  border: 0;
  border-radius: 16px;
  background: transparent;
}
.article-section > h2 .mv-object-title img {
  width: 53px;
  height: 53px;
  object-fit: contain;
}
.article-section .info-card .mv-object-info {
  display: block;
  width: 66px;
  height: 66px;
  object-fit: contain;
  margin: 0 0 11px;
}
.article-section .info-card h3 { line-height: 1.33; }

/* Small content lists use quiet ticks; the large illustration belongs to the card. */
.article-body .article-section ul > li::before,
.article-body .article-section ol > li::before {
  content: '✓';
  display: grid;
  place-items: center;
  left: 14px;
  top: 12px;
  width: 24px;
  height: 24px;
  border-radius: 50%;
  background: #d7f2e9;
  color: #0b776c;
  font-size: 15px;
  font-weight: 800;
}

/* Four independent steps on the homepage, each with its own illustration. */
.route-section .route-line--compact {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 13px;
  border: 0;
}
.route-section .route-line--compact article {
  position: relative;
  min-width: 0;
  min-height: 224px !important;
  padding: 24px 22px 26px !important;
  border: 1px solid #d1e7e2 !important;
  border-radius: 17px;
  background: linear-gradient(150deg,#fff,#f4faf8);
  box-shadow: 0 8px 24px rgba(9,80,77,.055);
}
.route-section .route-line--compact article > b { position: relative; z-index: 1; color: #0f7184; font-size: .83rem; }
.route-section .route-line--compact article .mv-stage-icon {
  position: absolute;
  top: 19px;
  right: 17px;
  display: block;
  width: 92px;
  height: 92px;
}
.route-section .route-line--compact article .mv-stage-icon img { width: 100%; height: 100%; object-fit: contain; }
.route-section .route-line--compact article h3 { margin: 86px 0 8px !important; font-size: 1.16rem !important; }
.route-section .route-line--compact article p { max-width: 235px; line-height: 1.55 !important; }

/* The same clean palette on homepage and specialist-directory cards.
   Portrait dimensions and cropping rules intentionally remain untouched. */
.home-doctors-grid .home-doctor-card,
.doctors-grid--full .doctor-card {
  background: #fff !important;
  border: 1px solid #c8e3df !important;
  box-shadow: 0 12px 28px rgba(11,65,75,.08) !important;
}
.home-doctors-grid .home-doctor-card > .mv-doctor-caption,
.doctors-grid--full .doctor-info.mv-doctor-caption {
  background: linear-gradient(135deg,#ffffff 0%,#eaf6f3 100%) !important;
  border-top: 1px solid #d2e8e3;
}
.home-doctors-grid .home-doctor-card h3,
.doctors-grid--full .doctor-info.mv-doctor-caption h3 { color: #153c4a; }
.home-doctors-grid .mv-doctor-caption .mv-doctor-tag,
.doctors-grid--full .doctor-info .mv-doctor-tag {
  color: #145f5d;
  background: #d7eee8;
  border-color: #a9d7cb;
}

/* Human-readable topic guidance, deliberately not repetitive keyword blocks. */
.article-body .article-section.mv-seo-context {
  margin: 23px 0 32px;
  padding: 28px 30px !important;
  background: linear-gradient(145deg,#f5fbf9,#eef6f3);
  border: 1px solid #c9e3dc;
  border-radius: 18px;
}
.mv-seo-context__label {
  display: inline-block;
  margin-bottom: 13px;
  font: 800 .69rem/1.3 system-ui,sans-serif;
  letter-spacing: .12em;
  color: #28766f;
}
.article-body .mv-seo-context h2 { font-size: clamp(1.6rem,2.6vw,2.35rem); line-height: 1.2; }
.article-body .mv-seo-context p { line-height: 1.75; }
.article-body .mv-seo-context p + p { margin-top: 13px; }
.article-body .mv-seo-context a {
  color: #0e786c;
  text-decoration: underline;
  text-decoration-thickness: 1.2px;
  text-underline-offset: 3px;
  font-weight: 650;
}

@media (max-width: 1080px) {
  .route-section .route-line--compact { grid-template-columns: repeat(2,minmax(0,1fr)); }
  .route-section .route-line--compact article { min-height: 198px !important; }
  .route-section .route-line--compact article h3 { margin-top: 62px !important; }
}
@media (max-width: 700px) {
  .route-section .route-line--compact { grid-template-columns: 1fr; gap: 10px; }
  .route-section .route-line--compact article {
    min-height: 152px !important;
    padding: 20px !important;
  }
  .route-section .route-line--compact article .mv-stage-icon { width: 75px; height: 75px; top: 16px; right: 16px; }
  .route-section .route-line--compact article h3 { margin-top: 29px !important; }
  .article-section > h2 .mv-object-title,
  .article-section > h2 .mv-object-title img { width: 43px; height: 43px; }
  .article-section > h2 .mv-object-title { flex-basis: 43px; }
  .article-section .info-card .mv-object-info { width: 58px; height: 58px; }
  .article-body .article-section.mv-seo-context { padding: 21px 19px !important; }
}
