/* 홈(index.html) 전용 — 메인 화면 (index-hero 디자인). 상단 메뉴는 site-header.css */
.kh-hero {
  display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
  min-height: 660px; background: #fff; padding: 0;
  font-family: 'Bodoni Moda', 'Noto Serif KR', 'Pretendard', serif;
}
.kh-copy { display: flex; flex-direction: column; justify-content: center; gap: 26px; padding: 56px 48px; }
.kh-title { font-weight: 500; font-size: 44px; line-height: 1.2; color: #1c1a2e; text-wrap: pretty; word-break: keep-all; }
.kh-lead { font-size: 17px; line-height: 1.6; color: #5e5a58; }
.kh-note { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid #d9d6dc; padding-top: 18px; max-width: 460px; }
.kh-note p:first-child { font-size: 16px; line-height: 1.55; color: #201e1d; text-wrap: pretty; }
.kh-note p:last-child { font-size: 14px; line-height: 1.5; color: #5e5a58; }
.kh-cta { display: inline-block; align-self: flex-start; background: #1c1a2e; color: #fff; padding: 14px 28px; font-size: 16px; text-decoration: none; }
.kh-cta:hover { background: #000; }
.kh-photo { overflow: hidden; }
.kh-photo img { width: 100%; height: 100%; object-fit: cover; object-position: center 30%; display: block; }

/* 왼쪽 아이콘 메뉴(1180px 이상에서 표시)가 글자를 가리지 않게 여백 확보 */
@media (min-width: 1180px) {
  .kh-copy { padding-left: 132px; }
}

/* 태블릿 */
@media (max-width: 1020px) {
  .kh-copy { padding: 48px 28px; }
  .kh-title { font-size: 38px; }
}

/* 모바일: 사진 위·글 아래 */
@media (max-width: 780px) {
  .kh-hero { grid-template-columns: 1fr; min-height: 0; }
  .kh-photo { order: -1; height: 300px; }
  .kh-copy { padding: 32px 20px 44px; gap: 20px; }
  .kh-title { font-size: 32px; }
  .kh-lead { font-size: 16px; }
  .kh-note { max-width: none; }
  .kh-cta { align-self: stretch; text-align: center; }
}
