/* ===============================
   Hero Section - 풀스크린 배경 + 불투명 카드
   =============================== */

/* Hero 섹션 전체 */
.hero {
  position: relative;
  min-height: 90vh;                 /* 필요시 100vh */
  display: grid;
  place-items: center;               /* 카드 수직/수평 가운데 */
  overflow: hidden;
  isolation: isolate;                /* z-index 충돌 방지 */
  margin: 0;
  width: 100%;
}

/* 배경 이미지 전체 채우기 */
.hero picture,
.hero .hero-bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
  z-index: 0;
}

/* 가독성 오버레이 (라이트/다크모드 모두 적용) */
.hero::after {
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.25);    /* 살짝 어둡게 */
  z-index: 1;
}

/* 컨텐츠 박스 (불투명 카드) */
.hero-card {
  position: relative;
  z-index: 2;
  max-width: 1100px;
  margin: 40px auto;
  padding: clamp(1rem, 2vw, 2rem);
  background: #ffffff;                /* 완전 불투명 */
  color: #1a1a1a;
  border-radius: 12px;
  box-shadow: 0 10px 30px rgba(0,0,0,.18);
  text-align: center;
}

/* 다크모드 카드 */
[data-bs-theme="dark"] .hero-card {
  background: #121212;
  color: #f1f1f1;
  box-shadow: 0 10px 30px rgba(0,0,0,.6);
}

/* 제목 */
.hero-card h1 {
  font-weight: 700;
  margin-bottom: 1.2rem;
}

/* 설명 텍스트 */
.hero-card .lead {
  font-size: 14pt;
  line-height: 1.6;
  margin-bottom: 1.5rem;
  text-align: justify;
  font-weight: 500;
}

/* 링크 스타일 */
.hero-card a {
  color: #1e5f7a;
  text-decoration: none;
  font-weight: 600;
  border-radius: 4px;
  padding: 2px 4px;
  transition: all 0.2s ease;
}
.hero-card a:hover,
.hero-card a:focus {
  color: #0f3d4f;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  background-color: rgba(30, 95, 122, 0.1);
}

/* 다크모드 링크 */
[data-bs-theme="dark"] .hero-card a {
  color: #5cb3e6;
}
[data-bs-theme="dark"] .hero-card a:hover,
[data-bs-theme="dark"] .hero-card a:focus {
  color: #7bc5ea;
  background-color: rgba(92, 179, 230, 0.2);
}

/* 모바일 대응 */
@media (max-width: 767px) {
  .hero-card {
    max-width: 90%;
    margin: 20px auto;
    padding: 24px;
  }
  .hero-card .lead {
    font-size: 12pt;
    text-align: center;
  }
}

/* 큰 화면에서 텍스트 확대 */
@media (min-width: 1200px) {
  .hero-card .lead {
    font-size: 15pt;
  }
}
