/* 연혁 페이지 본문: 제목은 공통 section-heading 사용 */
.history-section { padding-block: var(--tf-content-space); }
.history-section > .tf-container { display: flex; flex-direction: column; gap: var(--number-80); }
.history-break--compact, .history-break--mobile { display: none; }

/* 중앙선을 기준으로 교차 배치되는 연혁 */
.history-timeline { --history-year-size: 4rem; --history-year-leading: 1.2; --history-year-center: calc(var(--history-year-size) * var(--history-year-leading) / 2); --history-year-gap: 5rem; --history-date-width: 7.1875rem; position: relative; overflow: hidden; border: 1px solid var(--color-border-normal); border-radius: var(--number-24); padding: var(--number-80); }
.history-list, .history-events { margin: 0; padding: 0; list-style: none; }
.history-list { display: flex; flex-direction: column; gap: var(--history-year-gap); }
.history-entry { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) 1.25rem minmax(0, 1fr); column-gap: var(--number-20); align-items: start; }
.history-entry:not(:last-child)::before { position: absolute; z-index: 0; top: var(--history-year-center); bottom: calc(-1 * (var(--history-year-gap) + var(--history-year-center))); left: 50%; width: 2px; background: var(--color-background-alt); content: ""; transform: translateX(-50%); }
.history-entry__dot { z-index: 1; grid-column: 2; width: .5rem; height: .5rem; justify-self: center; margin-top: calc(var(--history-year-center) - .25rem); border-radius: 50%; background: var(--tf-primary-50); box-shadow: 0 0 0 .375rem var(--tf-white); }
.history-entry__content { display: flex; min-width: 0; flex-direction: column; gap: var(--number-20); }
.history-entry--right .history-entry__content { grid-column: 3; }
.history-entry--left .history-entry__content { grid-column: 1; grid-row: 1; align-items: flex-end; text-align: right; }
.history-entry h3 { margin: 0; color: var(--tf-primary-50); font-size: var(--history-year-size); font-weight: 700; line-height: var(--history-year-leading); letter-spacing: -.01em; }
.history-events { display: flex; width: 100%; flex-direction: column; gap: var(--number-20); }
.history-events li { display: flex; gap: var(--number-20); align-items: flex-start; font-size: 1.125rem; line-height: 1.5; letter-spacing: -.015em; }
.history-events time { width: var(--history-date-width); flex-shrink: 0; color: var(--color-text-muted); font-weight: 600; }
.history-events p { flex: 1; min-width: 0; margin: 0; color: var(--color-text-normal); overflow-wrap: break-word; }
.history-entry--left .history-events li { flex-direction: row-reverse; }

/* 1200 시안: 날짜 열과 패널 좌우 여백 축소 */
@media (max-width: 1919.98px) {
  .history-timeline { --history-date-width: 5rem; padding-inline: var(--number-40); }
  .history-break--compact { display: initial; }
}

/* 태블릿: 연혁 전체를 한쪽으로 정렬 */
@media (max-width: 1199.98px) {
  .history-list { width: min(100%, 33.0625rem); margin-inline: auto; }
  .history-entry { grid-template-columns: 1.25rem minmax(0, 1fr); }
  .history-entry:not(:last-child)::before { left: .625rem; }
  .history-entry__dot { grid-column: 1; }
  .history-entry--right .history-entry__content, .history-entry--left .history-entry__content { grid-column: 2; grid-row: 1; align-items: flex-start; text-align: left; }
  .history-entry--left .history-events li { flex-direction: row; }
}

/* 모바일: 날짜와 내용을 세로로 배치 */
@media (max-width: 767.98px) {
  .history-section > .tf-container { gap: var(--number-40); }
  .history-timeline { --history-year-size: 2.5rem; --history-year-leading: 1.3; padding: var(--number-40) var(--number-24); }
  .history-list { width: 100%; }
  .history-entry__content, .history-events { gap: var(--number-12); }
  .history-events li, .history-entry--left .history-events li { flex-direction: column; gap: var(--number-4); font-size: 1rem; }
  .history-events p { width: 100%; }
  .history-break--mobile { display: initial; }
}
