/* 한국어 사이트 jaeseong-lee-hifu-history 페이지 스타일을 그대로 가져옴 (wwwhome/css/sub.css) */

:root {
  --hifu-text: #282828;
  --hifu-muted: #5b5b5b;
  --hifu-accent: #95735f;
  --hifu-accent-soft: #e8ddd4;
  --hifu-caption: #eee6dc;
  --hifu-divider: #ddd9d5;
  --hifu-shadow: 0 8px 22px rgba(58, 45, 35, 0.10);
}

.hifu-history-page {
  width: 100%;
  overflow: hidden;
}

.hifu-history-section {
  width: 100%;
}

.hifu-history-section + .hifu-history-section {
  border-top: 1px solid var(--hifu-divider);
}

.hifu-history-inner {
  width: min(100%, 1100px);
  margin: 0 auto;
  padding: 68px 58px 88px;
}

.hifu-history-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 292px;
  column-gap: 82px;
  align-items: start;
}

.hifu-history-grid--first {
  grid-template-areas:
    "heading program"
    "intro program"
    "confirmation letter";
  row-gap: 62px;
}

.hifu-history-grid--second {
  grid-template-areas:
    "heading application"
    "intro application"
    "summary summary";
  row-gap: 62px;
}

.hifu-history-heading {
  grid-area: heading;
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 17px;
  min-width: 0;
}

.hifu-history-heading::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -31px;
  width: 43px;
  height: 2px;
  border-radius: 999px;
  background: var(--hifu-accent-soft);
}

.hifu-history-number {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  margin-top: 1px;
  border-radius: 9px;
  color: #fff;
  background-color: #1a3155;
  font-size: 24px;
  font-weight: 500;
  letter-spacing: -0.04em;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.10);
}

.hifu-history-title {
  margin: 0;
  color: #111;
  font-size: clamp(29px, 3vw, 34px);
  line-height: 1.34;
  font-weight: 700;
  letter-spacing: -0.045em;
  word-break: keep-all;
}

.hifu-history-copy {
  color: var(--hifu-text);
  font-size: 16px;
  line-height: 1.86;
  letter-spacing: -0.025em;
  word-break: keep-all;
}

.hifu-history-copy p {
  margin: 0 0 21px;
}

.hifu-history-copy p:last-child {
  margin-bottom: 0;
}

.hifu-history-intro {
  grid-area: intro;
}

.hifu-history-confirmation {
  grid-area: confirmation;
  align-self: start;
}

.hifu-history-english-title {
  margin: 0 0 10px !important;
  color: #424242;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 400;
  letter-spacing: -0.015em;
}

.hifu-history-evidence {
  width: 100%;
  margin: 0;
  align-self: start;
}

.hifu-history-evidence--program {
  grid-area: program;
}

.hifu-history-evidence--letter {
  grid-area: letter;
}

.hifu-history-evidence--application {
  grid-area: application;
}

.hifu-history-evidence--document {
  grid-area: document;
}

/* 03. 디자인등록증 — 제목 + 본문 + 이미지 한 장 (02와 같은 짜임, 요약글만 없음) */
.hifu-history-grid--third {
  grid-template-areas:
    "heading document"
    "intro document";
  row-gap: 62px;
}

.hifu-history-section--third .hifu-history-inner,
.hifu-history-section--fourth .hifu-history-inner {
  padding-top: 78px;
  padding-bottom: 94px;
}

/* 04. 경력증명서 — 03과 같은 짜임을 쓴다 */
.hifu-history-grid--fourth {
  grid-template-areas:
    "heading document"
    "intro document";
  row-gap: 62px;
}

.hifu-history-evidence img {
  display: block;
  width: 100%;
  height: auto;
  border: 1px solid rgba(82, 72, 63, 0.20);
  background: #fff;
  box-shadow: var(--hifu-shadow);
}

.hifu-history-evidence figcaption {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  margin: -1px 1px 0;
  padding: 7px 10px 8px;
  border-radius: 0 0 8px 8px;
  color: #313131;
  background: var(--hifu-caption);
  font-size: 14px;
  line-height: 1.25;
  font-weight: 500;
  letter-spacing: -0.035em;
  text-align: center;
  box-shadow: 0 8px 18px rgba(58, 45, 35, 0.08);
  word-break: keep-all;
}

.hifu-history-section--second .hifu-history-inner {
  padding-top: 78px;
  padding-bottom: 94px;
}

.hifu-history-summary {
  grid-area: summary;
  margin-top: 74px;
  color: #2e2e2e;
  font-size: 16px;
  line-height: 1.92;
  letter-spacing: -0.025em;
  text-align: center;
  word-break: keep-all;
}

.hifu-history-summary p {
  margin: 0;
}

/* 학술 프로필 바깥 링크 (IJH / ORCID / Google Scholar) */
.hifu-history-links {
  margin-top: 14px !important;
  color: #9aa3ad;
}

.hifu-history-links a {
  color: #007ba6;
  text-decoration: underline;
}

.hifu-history-links a:hover {
  color: #005b7c;
}

/* 03. 영문 요약 섹션 — 이미지 없이 글만 들어가므로 한 칸짜리 배치.
   아래 반응형 구간에서 .hifu-history-grid 가 2단으로 다시 잡히므로
   선택자를 한 단계 더 구체적으로 써서 화면 크기와 상관없이 1단을 유지한다. */
.hifu-history-page .hifu-history-grid--summary {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "heading"
    "intro";
  row-gap: 34px;
}

.hifu-history-section--summary .hifu-history-inner {
  padding-top: 78px;
  padding-bottom: 94px;
}

@media (max-width: 900px) {
  .hifu-history-inner {
    padding: 54px 32px 72px;
  }

  .hifu-history-grid {
    grid-template-columns: minmax(0, 1fr) 250px;
    column-gap: 44px;
  }

  .hifu-history-grid--first,
  .hifu-history-grid--second,
  .hifu-history-grid--third,
  .hifu-history-grid--fourth {
    row-gap: 50px;
  }

  .hifu-history-copy {
    font-size: 16.5px;
  }

  .hifu-history-evidence figcaption {
    font-size: 16px;
  }

  .hifu-history-summary {
    font-size: 16px;
  }
}

@media (max-width: 720px) {
  .hifu-history-inner,
  .hifu-history-section--second .hifu-history-inner,
  .hifu-history-section--third .hifu-history-inner,
  .hifu-history-section--fourth .hifu-history-inner {
    padding: 46px 20px 62px;

  }

  .hifu-history-grid {
    display: grid;
    grid-template-columns: 1fr;
    column-gap: 0;
    row-gap: 44px;
  }

  .hifu-history-grid--first {
    grid-template-areas:
      "heading"
      "intro"
      "program"
      "confirmation"
      "letter";
  }

  .hifu-history-grid--second {
    grid-template-areas:
      "heading"
      "intro"
      "application"
      "summary";
  }

  .hifu-history-grid--third,
  .hifu-history-grid--fourth {
    grid-template-areas:
      "heading"
      "intro"
      "document";
  }

  .hifu-history-heading {
    gap: 13px;
  }

  .hifu-history-heading::after {
    bottom: -23px;
    width: 36px;
  }

  .hifu-history-number {
    width: 43px;
    height: 43px;
    border-radius: 8px;
    font-size: 20px;
  }

  .hifu-history-title {
    font-size: clamp(24px, 7vw, 30px);
    line-height: 1.38;
  }

  .hifu-history-copy {
    font-size: 16px;
    line-height: 1.82;
  }

  .hifu-history-copy p {
    margin-bottom: 18px;
  }

  .hifu-history-evidence {
    width: min(100%, 340px);
    justify-self: center;
  }

  .hifu-history-english-title {
    font-size: 16px;
  }

  .hifu-history-summary {
    margin-top: 28px;
    font-size: 15.5px;
    line-height: 1.86;
    text-align: left;
  }
}

@media (max-width: 400px) {
  .hifu-history-inner,
  .hifu-history-section--second .hifu-history-inner {
    padding-left: 16px;
    padding-right: 16px;
  }

  .hifu-history-title {
    font-size: 23px;
  }

  .hifu-history-copy {
    font-size: 15.5px;
  }
}

/* ---------------------------------------------------------------
   /jae-seong-lee/ 전용 추가 스타일 (2026-10-02)
   원장님 연구자 프로필(Entity) 페이지: 이름·직함 머리, 링크 줄, 진료 경험 수치,
   연구 요약, 논문 목록. PC·모바일 같은 파일을 쓴다.
   --------------------------------------------------------------- */
.jsl-profile {
  width: min(100%, 1100px);
  margin: 0 auto;
  padding: 64px 58px 40px;
  box-sizing: border-box;
  text-align: center;
}
.jsl-profile h1 {
  margin: 0;
  color: #111;
  font-size: 44px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.03em;
}
.jsl-role {
  margin: 14px 0 0;
  color: #1a3155;
  font-size: 19px;
  line-height: 1.5;
  font-weight: 600;
}
.jsl-org {
  margin: 6px 0 0;
  color: #5b5b5b;
  font-size: 16px;
  line-height: 1.5;
}
.jsl-links {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 28px 0 0;
  padding: 0;
  list-style: none;
}
.jsl-links a {
  display: inline-block;
  padding: 9px 18px;
  border: 1px solid #1a3155;
  border-radius: 999px;
  color: #1a3155;
  font-size: 15px;
  font-weight: 600;
  line-height: 1.2;
  text-decoration: none;
  white-space: nowrap;
}
.jsl-links a:hover,
.jsl-links a:focus-visible {
  background: #1a3155;
  color: #fff;
}
.jsl-lead {
  max-width: 820px;
  margin: 30px auto 0;
  color: #282828;
  font-size: 17px;
  line-height: 1.8;
  text-align: left;
}

.jsl-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin: 0 0 34px;
}
.jsl-stat {
  padding: 18px 16px;
  border: 1px solid #ddd9d5;
  background: #faf8f6;
  text-align: center;
}
.jsl-stat b {
  display: block;
  color: #1a3155;
  font-size: 30px;
  line-height: 1.2;
  font-weight: 700;
  letter-spacing: -0.02em;
}
.jsl-stat span {
  display: block;
  margin-top: 6px;
  color: #5b5b5b;
  font-size: 14px;
  line-height: 1.45;
}

.jsl-table {
  width: 100%;
  margin: 8px 0 0;
  border-collapse: collapse;
  font-size: 15px;
}
.jsl-table th,
.jsl-table td {
  padding: 9px 12px;
  border: 1px solid #ddd9d5;
  text-align: center;
}
.jsl-table th {
  background: #f3efeb;
  color: #424242;
  font-weight: 600;
}

.jsl-research {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 34px;
}
.jsl-card {
  padding: 22px 24px;
  border: 1px solid #ddd9d5;
  border-top: 3px solid #1a3155;
  background: #fff;
}
.jsl-card .jsl-tag {
  display: block;
  margin-bottom: 8px;
  color: #95735f;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}
.jsl-card h3 {
  margin: 0 0 10px;
  color: #111;
  font-size: 18px;
  line-height: 1.45;
  font-weight: 700;
}
.jsl-card p {
  margin: 0;
  color: #424242;
  font-size: 15px;
  line-height: 1.7;
}

.jsl-pubs {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: pub;
}
.jsl-pubs li {
  position: relative;
  padding: 16px 0 16px 46px;
  border-bottom: 1px solid #ddd9d5;
  counter-increment: pub;
  font-size: 15.5px;
  line-height: 1.65;
  color: #282828;
}
.jsl-pubs li::before {
  content: counter(pub);
  position: absolute;
  left: 0;
  top: 16px;
  width: 30px;
  height: 30px;
  border-radius: 6px;
  background: #1a3155;
  color: #fff;
  font-size: 14px;
  line-height: 30px;
  text-align: center;
}
.jsl-pubs .jsl-pub-title {
  display: block;
  color: #111;
  font-weight: 600;
}
.jsl-pubs .jsl-pub-meta {
  display: block;
  margin-top: 3px;
  color: #5b5b5b;
  font-size: 14.5px;
}
.jsl-pubs a {
  color: #007ba6;
  text-decoration: underline;
  word-break: break-all;
}

.jsl-list {
  margin: 0;
  padding-left: 20px;
}
.jsl-list li {
  margin-bottom: 8px;
}

.hifu-history-page .hifu-history-grid--wide {
  grid-template-columns: minmax(0, 1fr);
  grid-template-areas:
    "heading"
    "intro";
  row-gap: 44px;
}
.hifu-history-section--wide .hifu-history-inner {
  padding-top: 78px;
  padding-bottom: 94px;
}

/* 한글 원문용 줄바꿈 규칙(keep-all)은 영문에서 긴 단어가 넘치므로 영문 페이지에서는 일반 규칙으로 */
.jsl-page .hifu-history-copy,
.jsl-page .hifu-history-title,
.jsl-page .hifu-history-evidence figcaption {
  word-break: normal;
  overflow-wrap: break-word;
}

@media (max-width: 900px) {
  .jsl-stats { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 720px) {
  .jsl-profile { padding: 40px 20px 28px; }
  .jsl-profile h1 { font-size: 32px; }
  .jsl-role { font-size: 16.5px; }
  .jsl-org { font-size: 15px; }
  .jsl-links a { padding: 8px 14px; font-size: 14px; }
  .jsl-lead { font-size: 16px; }
  .jsl-research { grid-template-columns: 1fr; }
  .jsl-stat b { font-size: 25px; }
  .jsl-pubs li { padding-left: 40px; font-size: 15px; }
  .jsl-table { font-size: 13px; }
  .jsl-table th, .jsl-table td { padding: 7px 4px; }
}
