/* ------------------------------------
  [1] 기본 초기화 (Reset)
------------------------------------ */
* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

body {
  font-family: 'Pretendard Variable', sans-serif;
  line-height: 1.7;
  color: #333;
  background: #fff;
}

img {
  max-width: 100%;
  height: auto;
  border-radius: 12px;
  display: block;
}

a {
  color: inherit;
  text-decoration: none;
}

/* ------------------------------------
  [2] 공통 레이아웃
------------------------------------ */
.container {
  max-width: 1080px;
  margin: auto;
  padding: 0 20px;
}

/* ------------------------------------
  [3] 헤더 영역
------------------------------------ */
.header {
  position: fixed;
  top: 0;
  width: 100%;
  background: #fff;
  box-shadow: 0 2px 6px rgba(0,0,0,0.1);
  z-index: 1000;
}

.header-inner {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 64px;
}

.logo {
  font-size: 1.5rem;
  font-weight: 700;
  color: #007acc;
}

/* ------------------------------------
  [4] 내비게이션
------------------------------------ */
.navbar ul {
  display: flex;
  gap: 1rem;
  list-style: none;
}

.navbar a {
  font-weight: 500;
  padding: 6px 10px;
  border-radius: 6px;
  transition: 0.2s;
}

.navbar a:hover {
  background: #007acc;
  color: #fff;
}

/* ------------------------------------
  [5] 메인 히어로 영역
------------------------------------ */
.hero {
  padding: 140px 20px 80px;
  text-align: center;
  background: linear-gradient(135deg, #e0f7fa, #f1f8ff);
}

.hero-inner h1 {
  font-size: 2rem;
  color: #005b94;
}

.hero-inner h2 {
  font-size: 2.4rem;
  color: #007acc;
  margin-top: 0.3em;
}

.hero-inner p {
  font-size: 1.1rem;
  margin-top: 1.5rem;
  color: #444;
}

/* ------------------------------------
  [6] 공통 섹션
------------------------------------ */
.section {
  padding: 80px 20px;
  text-align: center;
}

.section h2 {
  font-size: 2rem;
  color: #007acc;
  margin-bottom: 1rem;
}

.section-desc {
  font-size: 1.1rem;
  margin-bottom: 2.5rem;
  color: #555;
  line-height: 1.5;
}

.bg-light {
  background-color: #f9fbfd;
}

/* ------------------------------------
  [7] 카드 리스트
------------------------------------ */
.card-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 20px;
}

.card {
  background: #fff;
  box-shadow: 0 2px 10px rgba(0,0,0,0.05);
  padding: 20px;
  width: 280px;
  border-radius: 12px;
  transition: box-shadow 0.3s ease;
}

.card:hover {
  box-shadow: 0 8px 20px rgba(0,0,0,0.12);
}

.card h3 {
  margin: 12px 0 8px;
  color: #007acc;
}

.card p {
  font-size: 0.95rem;
  color: #666;
}

/* ------------------------------------
  [8] 프로젝트 섹션
------------------------------------ */
.project img {
  max-width: 440px;
  margin: 0 auto 12px;
  border-radius: 12px;
}

.project h3 {
  font-weight: 700;
  color: #007acc;
  font-size: 1.4rem;
}

/* ------------------------------------
  [9] Benefit 메시지 (기존 유지)
------------------------------------ */
.benefit-message p {
  font-size: 1.1rem;
  margin-top: 1.1rem;
  color: #222;
}

.benefit-message strong {
  color: #007acc;
}

/* ------------------------------------
  [10] HNC 메시지 블록
------------------------------------ */
.hnc-message {
  max-width: 720px;
  margin: 0 auto;
  font-size: 1.2rem;
  line-height: 1.8;
  color: #222;
  margin-top: 2rem;
}

.hnc-message p {
  margin-bottom: 1.5rem;
  transition: all 0.3s ease;
}

.hnc-message strong {
  color: #007acc;
  font-weight: 700;
}

.hnc-message .keyword {
  background: #e0f3ff;
  color: #005b94;
  padding: 0.2em 0.5em;
  border-radius: 6px;
  font-weight: 600;
}

.hnc-message .highlight {
  font-weight: 700;
  color: #005b94;
  font-size: 1.3rem;
}

.hnc-message .emphasis {
  display: inline-block;
  font-weight: 700;
  background: linear-gradient(90deg, #cfe9ff, #d8f4ef);
  padding: 0.25em 0.6em;
  border-radius: 8px;
  color: #003f6a;
  margin-left: 0.2em;
}

/* ------------------------------------
  [11] 추가 구간: 강조 문단 (감정을 이해하면~)
------------------------------------ */
.hnc-highlight-block {
  max-width: 720px;
  margin: 60px auto 40px;
  text-align: center;
  font-size: 1.4rem;
  line-height: 1.6;
  color: #003f6a;
  font-weight: 600;
}

.hnc-highlight-block p {
  margin-bottom: 1rem;
}

/* ------------------------------------
  [12] 이미지와 간격 조정
------------------------------------ */
.project-spaced {
  margin-top: 48px;
}

@media (max-width: 768px) {
  .project-spaced {
    margin-top: 32px;
  }

  .hnc-highlight-block {
    font-size: 1.2rem;
    padding: 0 12px;
  }
}

/* ------------------------------------
  [11] 푸터
------------------------------------ */
.footer {
  background: #007acc;
  color: white;
  padding: 24px 20px;
  text-align: center;
  font-size: 0.9rem;
  margin-top: 60px;
}

.footer .brand {
  font-weight: 700;
  font-size: 1.3rem;
  margin-bottom: 8px;
}

/* ------------------------------------
  [12] 반응형 (모바일, 태블릿)
------------------------------------ */
@media (max-width: 1024px) {
  /* 태블릿 이하 화면 */

  /* 카드 리스트 세로 정렬 + 크기 조정 */
  .card-list {
    flex-direction: column;
    align-items: center;
    gap: 16px;
  }

  .card {
    width: 90vw; /* 화면 너비 90%로 조정 */
    padding: 16px;
  }

  /* 프로젝트 이미지 너비 최대 90vw, 부모에 꽉 차도록 */
  .project img {
    max-width: 90vw;
    height: auto;
    margin: 0 auto 16px;
    display: block;
  }

  /* 히어로 영역 폰트 크기와 패딩 조정 */
  .hero {
    padding: 120px 16px 60px;
  }

  .hero-inner h1 {
    font-size: 1.6rem;
  }

  .hero-inner h2 {
    font-size: 2rem;
    margin-top: 0.2em;
  }

  .hero-inner p {
    font-size: 1rem;
  }

  /* 내비게이션 메뉴 간격 좁힘 */
  .navbar ul {
    gap: 0.7rem;
  }

  /* 헤더 높이 조금 줄임 */
  .header-inner {
    height: 56px;
  }
}

@media (max-width: 480px) {
  /* 모바일 화면 더 세밀하게 조정 */

  .card {
    width: 95vw;
    padding: 12px;
  }

  .hero-inner h1 {
    font-size: 1.4rem;
  }

  .hero-inner h2 {
    font-size: 1.6rem;
  }

  .hero-inner p {
    font-size: 0.95rem;
  }

  .section {
    padding: 60px 12px;
  }

  .section h2 {
    font-size: 1.6rem;
  }

  /* 색상 대비 강화 */
  .section-desc { 
    font-size: 1rem;
    margin-bottom: 2rem;
    color: #222 !important; }
.card p { color: #333 !important; }

/* project 이미지 여백 보강 */
.project-spaced { margin-top: 48px; }
@media (max-width: 768px) {
  .project-spaced { margin-top: 32px; }
}
