/* 닥터M 훈련소 소개 / 닥터M 소개 공통 스타일.
   모바일에서는 불필요한 수직 여백을 줄이고 본문 가독성은 유지한다.
   두 소개 페이지에서만 이 파일을 불러오므로 메인 화면에는 영향이 없다. */
.about-hero {
  padding: 27px 0 21px;
  border-bottom: 1px solid var(--line);
}
.about-hero h1 {
  margin: 10px 0 5px;
  font-size: clamp(28px, 3.6vw, 38px);
  line-height: 1.25;
}
.about-lead {
  font-size: clamp(16px, 1.9vw, 20px);
  font-weight: 650;
  color: #56725c;
  line-height: 1.5;
  letter-spacing: -.025em;
}
.about-article {
  max-width: 860px;
  padding-block: 8px 24px;
}
.about-section {
  padding: 21px 0;
  border-bottom: 1px solid var(--line);
}
.about-section h2 {
  margin-bottom: 11px;
  font-size: clamp(19px, 2.2vw, 23px);
  line-height: 1.42;
  letter-spacing: -.03em;
}
.about-section p {
  color: #40534a;
  font-size: 16px;
  line-height: 1.68;
}
.about-section p + p { margin-top: 10px; }
.about-message {
  background: #eaf0e9;
  border: 1px solid #d5e1d2;
  border-radius: 12px;
  padding: 21px 23px;
  margin: 24px 0 19px;
}
.about-message h2 {
  font-size: 21px;
  line-height: 1.38;
  margin-bottom: 11px;
}
.about-message p {
  font-size: 16px;
  line-height: 1.68;
  color: #40534a;
}
.about-message p + p { margin-top: 10px; }
.about-back {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 10px 18px;
  background: var(--ink);
  color: #fff;
  font-weight: 650;
  border-radius: 8px;
}
.about-back:hover { background: #27574a; }
.about-current::before { background: #eaf0e9; }

/* 학력·경력을 첫 화면에서 읽기 쉽게, 항목별 여백은 절제한다. */
.doctor-credentials {
  margin: 19px 0 5px;
  padding: 20px 23px;
  border: 1px solid #d7e1d4;
  background: #f0f4ec;
  border-radius: 12px;
}
.doctor-credentials h2 {
  font-size: 21px;
  line-height: 1.38;
  margin: 0 0 10px;
}
.doctor-credentials ul {
  margin: 0;
  padding-left: 22px;
  color: #40534a;
}
.doctor-credentials li {
  padding: 3px 0;
  line-height: 1.6;
  font-size: 16px;
}
.doctor-credentials li::marker { color: #56725c; }
.doctor-story { border-bottom: 0; }

/* 하단 문의: 본문은 압축하되 실제 터치 버튼은 충분히 크게 유지. */
.detail-contact {
  padding: 23px 0 28px;
  border-top: 1px solid var(--line);
  background: #edf2ea;
}
.detail-contact h2 { font-size: 21px; line-height: 1.4; }
.detail-contact p { font-size: 14px; line-height: 1.55; margin-top: 5px; }
.detail-contact .contact-links { max-width: 620px; margin-top: 10px; }
.detail-contact .contact-links a {
  background: #fff;
  border-color: #bbcbbc;
  font-size: 14px;
  font-weight: 700;
  min-height: 48px;
}

@media (max-width: 600px) {
  .about-hero { padding: 17px 0 14px; }
  .about-hero h1 {
    font-size: 26px;
    line-height: 1.28;
    margin: 8px 0 5px;
  }
  .about-lead { font-size: 15px; line-height: 1.46; }
  .about-article { padding-top: 0; padding-bottom: 20px; }
  .about-section { padding: 16px 0; }
  .about-section h2 {
    font-size: 18px;
    line-height: 1.42;
    margin-bottom: 8px;
    letter-spacing: -.025em;
  }
  .about-section p {
    font-size: 14.5px;
    line-height: 1.58;
  }
  .about-section p + p { margin-top: 8px; }
  .about-message {
    margin: 18px 0 17px;
    padding: 16px 15px;
  }
  .about-message h2 {
    font-size: 19px;
    line-height: 1.38;
    margin-bottom: 9px;
  }
  .about-message p {
    font-size: 14.5px;
    line-height: 1.58;
  }
  .about-message p + p { margin-top: 8px; }
  .doctor-credentials {
    margin: 16px 0 2px;
    padding: 15px 16px;
  }
  .doctor-credentials h2 { font-size: 19px; margin-bottom: 9px; }
  .doctor-credentials ul { padding-left: 20px; }
  .doctor-credentials li {
    font-size: 14.5px;
    line-height: 1.52;
    padding: 2px 0;
  }
  .detail-contact { padding: 20px 0 26px; }
  .detail-contact h2 { font-size: 19px; }
  .detail-contact p { font-size: 13.5px; line-height: 1.5; }
  .detail-contact .contact-links {
    flex-direction: column;
    gap: 8px;
    margin-top: 10px;
  }
  .detail-contact .contact-links a {
    min-height: 48px;
    font-size: 14px;
  }
}
