/* ==========================================================================
   overseas 페이지 스타일 — 섹션별 통합 (원본: overseas/section*.html)
   ========================================================================== */

/* --- section01-header --- */
.han-a01 {
  width: 100%;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: clamp(80px, 12vw, 200px) clamp(20px, 8vw, 150px) 0;
}
.han-a01__title {
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: 20px;
  margin-bottom: -50px;
  padding-bottom: 50px;
}
.han-a01__crumb {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 8px 15px;
  overflow-x: auto;
  scrollbar-width: none;
}
.han-a01__crumb::-webkit-scrollbar { display: none; }
.han-a01__home { width: 24px; height: 24px; flex-shrink: 0; }
.han-a01__dot { width: 4px; height: 4px; border-radius: 50%; background: #ccc; flex-shrink: 0; }
.han-a01__crumb-text {
  font-family: 'Pretendard', sans-serif;
  font-weight: 500;
  font-size: 18px;
  letter-spacing: -0.025em;
  color: #222;
  white-space: nowrap;
}
.han-a01__heading {
  margin: 0;
  font-family: 'SUIT', 'Pretendard', sans-serif;
  font-weight: 700;
  font-size: clamp(28px, 3.6vw, 80px);
  line-height: 1.2;
  letter-spacing: -0.025em;
  color: var(--main, #0a58a5);
}
.han-a01__wrap { width: 100%; display: flex; flex-direction: column; align-items: center; }
.han-a01__tabs {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  gap: 50px;
  flex-wrap: wrap;
}
.han-a01__tab {
  padding: 20px 0;
  font-family: 'Pretendard', sans-serif;
  font-weight: 500;
  font-size: 18px;
  color: #999;
  text-decoration: none;
  white-space: nowrap;
  transition: color 0.16s ease-out;
}
.han-a01__tab:hover { color: var(--main, #0a58a5); font-weight: 700; }
.han-a01__tab:focus-visible { outline: 2px solid var(--main, #0a58a5); outline-offset: 4px; border-radius: 2px; }
.han-a01__tab.is-active { font-weight: 700; color: var(--main, #0a58a5); }
.han-a01__hero { width: calc(100% + 2 * clamp(20px, 8vw, 150px)); height: 433px; overflow: hidden; }
.han-a01__hero img { width: 100%; height: 100%; object-fit: cover; display: block; }
/* 브레드크럼 링크 */
.han-a01__home-link { display: inline-flex; align-items: center; }
.han-a01__crumb-text { text-decoration: none; }
a.han-a01__crumb-text { transition: color 0.16s ease-out; }
a.han-a01__crumb-text:hover { color: var(--main, #0a58a5); }


/* ── Laptop: ~1439px ─────────────────────── */
@media (max-width: 1439px) {
  .han-a01__hero { height: 340px; }
}

/* ── Tablet 가로: ~1024px ────────────────── */
@media (max-width: 1024px) {
  .han-a01__hero { height: 280px; }
  .han-a01__tabs { gap: 24px; }
  .han-a01__tab { font-size: 16px; }
}

/* ── Tablet 세로: ~768px ─────────────────── */
@media (max-width: 768px) {
  .han-a01 { padding: 60px 24px 0; }
  .han-a01__tabs { justify-content: flex-start; gap: 16px; flex-wrap: nowrap; overflow-x: auto; -webkit-overflow-scrolling: touch; }
  .han-a01__tab { flex-shrink: 0; font-size: 15px; }
  .han-a01__hero { width: calc(100% + 48px); height: 220px; }
}

/* ── Mobile 가로: ~480px ─────────────────── */
@media (max-width: 480px) {
  .han-a01__tab { font-size: 14px; }
  .han-a01__hero { height: 180px; }
}

/* ── Mobile 세로: ~375px ─────────────────── */
@media (max-width: 375px) {
  .han-a01__crumb-text, .han-a01__tab { font-size: 13px; }
  .han-a01__hero { height: 150px; }
}

/* --- section02-domestic --- */
.han-o02 {
  width: 100%;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
  padding: clamp(50px, 6vw, 100px) clamp(20px, 8vw, 150px);
}
.han-o02__title {
  width: 100%;
  margin: 0;
  font-family: 'SUIT', 'Pretendard', sans-serif;
  font-weight: 800;
  font-size: clamp(28px, 2.9vw, 55px);
  color: #222;
}
.han-o02__map { width: 100%; max-width: 1100px; }
.han-o02__map img { width: 100%; height: auto; display: block; }

/* 사업장 카드 리스트 (국내/해외 공용) */
.han-o02__list { width: 100%; display: flex; flex-direction: column; }
.han-o02__list .han-o02__hq:last-child { border-bottom: 2px solid #000; }

.han-o02__hq {
  width: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 40px;
  border-top: 2px solid #000;
}
.han-o02__hq-main { display: flex; flex-direction: column; gap: 20px; flex: 1 1 0; min-width: 0; }
.han-o02__hq-name {
  margin: 0;
  font-family: 'Pretendard', sans-serif;
  font-weight: 700;
  font-size: clamp(20px, 1.6vw, 30px);
  color: #222;
}
.han-o02__hq-highlight { color: var(--main, #0a58a5); }
.han-o02__hq-addr {
  margin: 0;
  font-family: 'Pretendard', sans-serif;
  font-weight: 500;
  font-size: clamp(15px, 1.4vw, 26px);
  color: #222;
}
.han-o02__hq-contact { display: flex; gap: 40px; flex-wrap: wrap; }
.han-o02__hq-contact p {
  margin: 0;
  font-family: 'Pretendard', sans-serif;
  font-weight: 500;
  font-size: clamp(15px, 1.4vw, 26px);
  color: #222;
}
.han-o02__hq-contact strong { font-weight: 700; margin-right: 20px; }
.han-o02__hq-map {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  text-decoration: none;
  font-family: 'Pretendard', sans-serif;
  font-weight: 500;
  font-size: clamp(15px, 1.4vw, 26px);
  color: #222;
  transition: color 0.2s ease;
}
.han-o02__hq-map:hover { color: var(--main, #0a58a5); }
.han-o02__hq-map:focus-visible { outline: 2px solid var(--main, #0a58a5); outline-offset: 4px; border-radius: 2px; }
.han-o02__hq-map:hover svg path,
.han-o02__hq-map:hover svg circle { stroke: var(--main, #0a58a5); }
.han-o02__hq-map svg { width: 30px; height: 30px; }

/* ── Tablet 세로: ~768px ─────────────────── */
@media (max-width: 768px) {
  .han-o02 { padding: 50px 24px; }
  .han-o02__hq { flex-direction: column; align-items: flex-start; padding: 24px 0; gap: 16px; }
  .han-o02__hq-contact { gap: 20px; }
}

/* --- section03-international --- */
.han-o03 {
  width: 100%;
  background: #fff;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 50px;
  padding: clamp(50px, 6vw, 100px) clamp(20px, 8vw, 150px);
}
.han-o03__title {
  width: 100%;
  margin: 0;
  font-family: 'SUIT', 'Pretendard', sans-serif;
  font-weight: 800;
  font-size: clamp(28px, 2.9vw, 55px);
  color: #222;
}
.han-o03__map { width: 100%; max-width: 1594px; }
.han-o03__map img { width: 100%; height: auto; display: block; }

/* ── Tablet 세로: ~768px ─────────────────── */
@media (max-width: 768px) {
  .han-o03 { padding: 50px 24px; }
}
