/* 인사말: 공통 컨테이너 안의 제목·환영 문구·본문 */
.greeting-section { overflow: hidden; padding-block: var(--tf-content-space); }
.greeting-content, .greeting-body { display: flex; flex-direction: column; gap: var(--number-80); }
.greeting-lead { margin: 0; font-size: 2rem; font-weight: 500; line-height: 1.3; letter-spacing: -.01em; }
.greeting-lead strong { color: var(--tf-primary-50); font-weight: 700; }
.greeting-lead__ending { color: var(--color-text-normal); font-weight: 500; }
.greeting-break--compact, .greeting-break--mobile { display: none; }

/* 사진과 본문: 1920 시안의 655:945 컬럼 */
.greeting-layout { display: grid; grid-template-columns: minmax(0, 655fr) minmax(0, 945fr); align-items: center; }
.greeting-visual { position: relative; width: calc(100% * 520 / 655); margin: 0; padding-bottom: 2rem; }
.greeting-visual::before { position: absolute; inset: 1.875rem -1.875rem 0 1.875rem; background: var(--palette-primary-95); content: ""; }
.greeting-visual__ceo { position: relative; width: 100%; height: auto; aspect-ratio: 520 / 700; object-fit: cover; }
.greeting-message-wrap { display: flex; flex-direction: column; gap: var(--number-40); min-width: 0; }
.greeting-message { font-size: 1.125rem; line-height: 1.5; overflow-wrap: break-word; }
.greeting-message p { margin: 0 0 1.6875rem; }
.greeting-message p:last-child { margin-bottom: 0; }
.greeting-message__emphasis { font-size: 1.25rem; font-weight: 600; letter-spacing: -.01em; }

/* 대표이사 이름과 자필 서명 */
.greeting-signoff { position: relative; display: flex; flex-direction: column; align-items: flex-end; padding-right: 4.375rem; }
.greeting-signoff p { margin: 0; font-size: 1.25rem; line-height: 1.5; letter-spacing: -.01em; }
.greeting-signoff__name { display: flex; align-items: center; gap: var(--number-4); }
.greeting-signoff strong { font-size: 1.5rem; font-weight: 700; line-height: 1.3; }
.greeting-signoff img { position: absolute; right: 0; bottom: -.03125rem; width: 4.1875rem; height: 3.125rem; object-fit: contain; }

/* 1200 시안: 사진 영역 455px, 본문 645px, 컬럼 사이 20px */
@media (min-width: 1200px) and (max-width: 1919.98px) {
  .greeting-layout { grid-template-columns: minmax(0, 455fr) minmax(0, 645fr); column-gap: var(--tf-gutter); }
  .greeting-visual { width: calc(100% * 431 / 455); padding-block: 0 var(--number-24); }
  .greeting-visual::before { inset: var(--number-24) calc(-1 * var(--number-24)) 0 var(--number-24); }
  .greeting-visual__ceo { aspect-ratio: 431 / 580; }
  .greeting-signoff { align-items: flex-start; padding-right: 0; }
  .greeting-signoff img { right: auto; bottom: -.5625rem; left: 9.0625rem; }
}

/* 태블릿: 본문 배경은 화면 전체 너비, 내용은 공통 좌우 여백 유지 */
@media (max-width: 1199.98px) {
  .greeting-body { gap: var(--number-40); }
  .greeting-layout { grid-template-columns: minmax(0, 1fr); width: calc(100% + var(--tf-page-space) * 2); margin-inline: calc(-1 * var(--tf-page-space)); padding: var(--number-40) var(--tf-page-space); background: var(--palette-primary-95); }
  .greeting-visual { display: none; }
  .greeting-lead { font-size: 1.5rem; line-height: 1.5; }
  .greeting-lead strong { font-weight: 500; }
  .greeting-break--compact { display: initial; }
  .greeting-signoff img { bottom: -.5625rem; }
}

/* 모바일: 본문·강조 문장 16px, 서명은 왼쪽 정렬 */
@media (max-width: 767.98px) {
  .greeting-content { gap: var(--number-40); }
  .greeting-body { gap: var(--number-20); }
  .greeting-lead { font-size: 1.25rem; font-weight: 600; line-height: 1.5; }
  .greeting-lead strong, .greeting-lead__ending { color: var(--tf-primary-50); font-weight: inherit; }
  .greeting-break--mobile { display: initial; }
  .greeting-message, .greeting-message__emphasis { font-size: 1rem; letter-spacing: -.015em; }
  .greeting-message p { margin-bottom: var(--number-24); }
  .greeting-message p:last-child { margin-bottom: 0; }
  .greeting-signoff { align-items: flex-start; padding-right: 0; }
  .greeting-signoff p { font-size: 1.125rem; letter-spacing: -.015em; }
  .greeting-signoff strong { font-size: 1.25rem; font-weight: 600; line-height: 1.5; }
  .greeting-signoff img { right: auto; bottom: 0; left: 9.6875rem; }
}
