@charset "utf-8";
/* ================================================================
   responsive.css — 반응형 미디어 쿼리
   1280 → 1024 → 820 → 640 → 480
================================================================ */

/* ──────────────────── 1280px 이하 ──────────────────── */
@media (max-width:1280px) {
  :root {
    --container-pad:28px;
    --fs-hero:72px;
    --fs-d1:46px;
    --fs-d2:36px;
    --fs-echo:76px;
  }
  .quick-grid { grid-template-columns:repeat(4,1fr); }
  .footer-body .u-container { grid-template-columns:1.2fr 1fr 1fr; }
  .footer-body .footer-col:last-child { display:none; }
  .footer-banner .u-container { grid-template-columns:repeat(3,1fr); }
}

/* ──────────────────── 1024px 이하 ──────────────────── */
@media (max-width:1024px) {
  :root {
    --container-pad:24px;
    --section-pad:64px;
    --fs-d1:40px;
    --fs-d2:32px;
    --fs-d3:26px;
    --fs-echo:60px;
  }

  /* 헤더 */
  .gnb-header { height:60px; }
  .header-spacer { height:60px; }
  .gnb-nav > li > a { padding:0 16px; font-size:12px; }
  .gnb-logo { margin-right:var(--sp-6); }
  .gnb-util a { display:none; }

  /* 히어로 */
  .hero { min-height:500px; }
  .hero__slide-content { padding:0 var(--sp-9); }

  /* 통계바 */
  .stat-bar__inner { grid-template-columns:repeat(2,1fr); }
  .stat-item:nth-child(2) { border-right:none; }

  /* 5GO */
  .go5-strip { grid-template-columns:repeat(3,1fr); }
  .go5-strip .go5-card:nth-child(4),
  .go5-strip .go5-card:nth-child(5) { display:none; }

  /* 피처 스플릿 */
  .feature-split { grid-template-columns:1fr; min-height:auto; }
  .feature-split--reverse .feature-split__img { order:1; }
  .feature-split--reverse .feature-split__body { order:2; }
  .feature-split__img { height:320px; }
  .feature-split__body { padding:var(--sp-9); }

  /* 9경 그리드 */
  .nine-grid { grid-template-columns:repeat(3,1fr); }
  .nine-card { height:220px; }

  /* 카드 그리드 */
  .card-grid--4 { grid-template-columns:repeat(2,1fr); }
  .card-grid--5 { grid-template-columns:repeat(3,1fr); }

  /* 서브레이아웃 */
  .sub-body--grid { grid-template-columns:1fr; }
  .sub-aside { position:static; top:auto; }

  /* 푸터 */
  .footer-body .u-container { grid-template-columns:1fr 1fr; }
  .footer-banner .u-container { grid-template-columns:repeat(2,1fr); }
}

/* ──────────────────── 820px 이하 ──────────────────── */
@media (max-width:820px) {
  :root {
    --container-pad:20px;
    --section-pad:52px;
    --fs-d1:34px;
    --fs-d2:28px;
    --fs-d3:22px;
    --fs-echo:48px;
  }

  /* 헤더 — 네비 숨김 */
  .gnb-nav { display:none; }
  .gnb-header .u-container { justify-content:space-between; }

  /* 히어로 */
  .hero__title { font-size:clamp(28px,7vw,48px); }
  .hero__desc   { display:none; }

  /* 통계 */
  .stat-bar__inner { grid-template-columns:repeat(2,1fr); gap:0; }

  /* 5GO */
  .go5-strip { grid-template-columns:repeat(2,1fr); }
  .go5-strip .go5-card:nth-child(4),
  .go5-strip .go5-card:nth-child(5) { display:flex; }
  .go5-card { height:280px; }

  /* 피처 스플릿 */
  .feature-split__body { padding:var(--sp-7); }
  .feature-split__kv { flex-wrap:wrap; }

  /* 축제 그리드 */
  .fest-grid { grid-template-columns:1fr; grid-template-rows:auto; }
  .fest-card--main { grid-row:auto; }
  .fest-card--main .fest-card__img { min-height:320px; }

  /* 9경 */
  .nine-grid { grid-template-columns:repeat(2,1fr); }

  /* 퀵메뉴 */
  .quick-grid { grid-template-columns:repeat(4,1fr); gap:var(--sp-3); }

  /* 뉴스 */
  .news-grid { grid-template-columns:1fr; }

  /* 카드 */
  .card-grid--3,
  .card-grid--4,
  .card-grid--5 { grid-template-columns:repeat(2,1fr); }
  .card-grid--2 { grid-template-columns:1fr; }

  /* 서브 */
  .sub-body { padding-top:var(--sp-7); }

  /* 이벤트 */
  .event-grid { grid-template-columns:1fr; }
  .event-card { flex-direction:column; }
  .event-card__thumb { min-width:unset; height:200px; }

  /* 숙박 */
  .stay-grid { grid-template-columns:repeat(2,1fr); }

  /* 교통 */
  .transport-grid { grid-template-columns:1fr; }

  /* 인트로 */
  .intro-grid { grid-template-columns:1fr; }
  .intro-hero { height:280px; }
  .kpi-strip { grid-template-columns:repeat(2,1fr); }

  /* 푸터 */
  .footer-body .u-container { grid-template-columns:1fr; gap:var(--sp-6); }
  .footer-banner .u-container { grid-template-columns:1fr 1fr; }
  .footer-bottom .u-container { flex-direction:column; text-align:center; }
  .footer-fnb { justify-content:center; flex-wrap:wrap; }

  /* 인물/샵 */
  .person_grid { grid-template-columns:repeat(2,1fr); }
  .shop_grid   { grid-template-columns:repeat(2,1fr); }
  .photo_grid  { grid-template-columns:repeat(2,1fr); }
}

/* ──────────────────── 640px 이하 ──────────────────── */
@media (max-width:640px) {
  :root {
    --container-pad:16px;
    --section-pad:44px;
  }

  .sec-hd__echo { font-size:40px; margin-bottom:-28px; }

  /* 히어로 */
  .hero { min-height:460px; }
  .hero__slide-content { padding:0 var(--sp-5); }
  .hero__btns { flex-direction:column; }
  .hero__btns .btn { width:100%; }

  /* 통계 */
  .stat-item__num { font-size:var(--fs-d3); }

  /* 5GO */
  .go5-strip { grid-template-columns:1fr 1fr; }
  .go5-card:nth-child(5) { grid-column:1 / 3; }
  .go5-card { height:220px; }

  /* 9경 */
  .nine-grid { grid-template-columns:1fr; }
  .nine-card { height:180px; }

  /* 퀵 */
  .quick-grid { grid-template-columns:repeat(4,1fr); gap:var(--sp-2); }
  .quick-item { padding:var(--sp-4) var(--sp-2); }
  .quick-item__icon { width:88px; height:88px; font-size:44px; }

  /* 카드 */
  .card-grid--2,
  .card-grid--3,
  .card-grid--4,
  .card-grid--5 { grid-template-columns:1fr; }

  /* 서브 섹션 */
  .sub-section { padding:var(--sp-5); }

  /* 스팟 갤러리 */
  .spot-gallery { grid-template-columns:1fr; grid-template-rows:auto; height:auto; }
  .spot-gallery__main { grid-row:auto; height:240px; }
  .spot-gallery__sub  { height:140px; }

  /* 숙박 */
  .stay-grid { grid-template-columns:1fr; }

  /* 인물/샵 */
  .person_grid,
  .shop_grid { grid-template-columns:1fr; }

  /* 타임라인 */
  .timeline_item { flex-direction:column; }

  /* 국가유산 */
  .heritage_item { flex-direction:column; }
  .heritage_thumb { width:100%; height:180px; min-width:unset; }

  /* 코스 */
  .course_steps { flex-direction:column; }
  .course_step::after { content:"↓"; top:auto; right:50%; bottom:-20px; }

  /* KPI */
  .kpi-strip { grid-template-columns:1fr 1fr; }

  /* 푸터 배너 */
  .footer-banner .u-container { grid-template-columns:1fr; }
}

/* ──────────────────── 480px 이하 ──────────────────── */
@media (max-width:480px) {
  :root { --container-pad:12px; }

  .quick-grid { grid-template-columns:repeat(4,1fr); gap:8px; }
  .quick-item__label { font-size:10px; }

  .auth-form-panel { padding:var(--sp-7) var(--sp-5); }
  .auth-row { grid-template-columns:1fr; }
  .auth-steps .auth-step { font-size:10px; padding:8px 4px; }
}
