@charset "UTF-8";
/* ==========================================================================
   autobase — 회사소개 반응형 (모든 @media 는 이 파일에만)
   ※ 시안은 데스크톱 1920 한 종류만 제공 — 이하 구간은 비율 축소 임시 대응.
   ========================================================================== */

/* ── 1440 이하 ───────────────────────────────────────────────────────── */
@media (max-width: 1440px) {
  .co-sec-title, .co-his__title { font-size: 42px; }
  .co-intro__title { font-size: 52px; }
  .co-intro__desc { font-size: 18px; }

  .co-greet__box { height: 560px; }
  .co-greet__copy { top: auto; bottom: 72px; }
  .co-greet__title { font-size: 42px; }

  .co-about__visual { flex-basis: 400px; }
  .co-about__inner { gap: 56px; }
  .co-about__title { font-size: 28px; }

  /* VISION 다이어그램 — 원 340px 로 축소 (340×3 + 겹침·간격 재배치) */
  .co-vm__diagram { height: 340px; }
  .co-vm__circle { width: 340px; height: 340px; }
  .co-vm__circle--mission { left: 316px; }
  .co-vm__circle--goal { left: auto; right: 0; }
  .co-vm__txt { padding-top: 88px; }
  .co-vm__title { font-size: 22px; }
  .co-vm__desc { margin-top: 12px; font-size: 15px; }
  .co-vm__circle--goal .co-vm__desc { padding: 0 36px; }
  .co-vm__arrow { left: auto; right: 348px; top: 162px; width: 160px; }
}

/* ── 1200 이하 ───────────────────────────────────────────────────────── */
@media (max-width: 1200px) {
  .co-intro__title { font-size: 42px; }

  .co-about__inner { flex-direction: column; }
  .co-about__visual { flex-basis: auto; height: 420px; }

  /* 원 3개 세로 쌓기 — ::before/::after(inset:0) 기준이 원 자신이 되도록 relative 유지 */
  .co-vm__diagram { display: flex; flex-direction: column; align-items: center; height: auto; }
  .co-vm__circle { position: relative; left: auto; top: auto; width: 400px; height: 400px; }
  .co-vm__circle--mission,
  .co-vm__circle--goal { margin-top: -28px; }
  .co-vm__txt { padding-top: 115px; }
  .co-vm__title { font-size: 24px; }
  .co-vm__desc { font-size: 16px; }
  .co-vm__arrow { display: none; }

  .co-his__head { flex-wrap: wrap; }
  .co-his .nav-btn img { width: 56px; height: 56px; }

  .co-core__item p { padding: 0 12px; }
}

/* ── 1024 이하 ───────────────────────────────────────────────────────── */
@media (max-width: 1024px) {
  .co-intro, .co-greet, .co-about, .co-vm, .co-his, .co-core { margin-top: 100px; }
  .co-vm, .co-core { padding: 100px 0; }

  .co-sec-title, .co-his__title { font-size: 34px; }
  .co-intro__title { font-size: 34px; line-height: 1.3; white-space: normal; }
  .co-intro__desc { font-size: 16px; }

  .co-greet__box { height: 460px; border-radius: 32px; }
  /* 텍스트 블록이 길어져 사진 밝은 부분까지 올라오므로 스크림을 전체 높이로 강화 */
  .co-greet__box::after { height: 100%; opacity: .55; }
  .co-greet__copy { left: 48px; right: 48px; bottom: 48px; }
  .co-greet__title { font-size: 34px; }


  .co-core__grid { grid-template-columns: repeat(2, 1fr); row-gap: 56px; }
  /* 2×2 에서는 각 행의 두 번째 항목에만 세로선 */
  .co-core__item + .co-core__item { border-left: 0; }
  .co-core__item:nth-child(even) { border-left: 1px solid #ddd; }
}

/* ── 768 이하 : 모바일 ───────────────────────────────────────────────── */
@media (max-width: 768px) {
  .co-intro, .co-greet, .co-about, .co-vm, .co-his, .co-core { margin-top: 72px; }
  .co-vm, .co-core { padding: 72px 0; }

  .co-sec-title, .co-his__title { font-size: 26px; }
  .co-intro__title { font-size: 26px; }
  .co-intro__desc { margin-top: 16px; font-size: 15px; }

  .co-greet__box { height: 400px; border-radius: 24px; }
  .co-greet__box::after { height: 100%; opacity: .68; }
  .co-greet__copy { left: 24px; right: 24px; bottom: 32px; }
  .co-greet__title { font-size: 26px; }
  .co-greet__title + p { margin-top: 16px; }
  .co-greet__copy p { font-size: 14px; }

  .co-about__visual { height: 300px; border-radius: 20px; }
  .co-about__item { padding: 28px 0; }
  .co-about__title { margin-top: 8px; font-size: 22px; }
  .co-about__desc { margin-top: 16px; font-size: 15px; }

  .co-vm__diagram { margin-top: 48px; }
  .co-vm__circle { width: 320px; height: 320px; max-width: 100%; }
  .co-vm__circle--mission,
  .co-vm__circle--goal { margin-top: -22px; }
  .co-vm__txt { padding-top: 82px; }
  .co-vm__title { margin-top: 2px; font-size: 20px; }
  .co-vm__desc { margin-top: 10px; font-size: 14px; padding: 0 28px; }
  .co-vm__circle--goal .co-vm__desc { padding: 0 28px; }

  .co-his__head { gap: 20px; }
  .co-his__nav { gap: 16px; }
  .co-his .nav-btn img { width: 44px; height: 44px; }
  .co-his__timeline { margin-top: 48px; }
  .co-his__timeline::before { top: 47px; }
  .co-his__slide { width: 320px; }
  .co-his__period { font-size: 26px; }
  .co-his__list { margin-top: 27px; }
  .co-his__list li { font-size: 15px; }

  .co-core__grid { margin-top: 48px; row-gap: 40px; }
  .co-core__icon { width: 90px; height: 90px; }
  .co-core__item h3 { margin-top: 20px; font-size: 19px; }
  .co-core__item p { margin-top: 6px; font-size: 14px; }
}

/* ── 480 이하 ────────────────────────────────────────────────────────── */
@media (max-width: 480px) {
  .co-vm__circle { width: 280px; height: 280px; }
  .co-vm__txt { padding-top: 64px; }
  .co-vm__desc { padding: 0 20px; }
  .co-vm__circle--goal .co-vm__desc { padding: 0 20px; }

  .co-his__slide { width: 272px; }

  .co-core__grid { grid-template-columns: 1fr; }
  .co-core__item:nth-child(even) { border-left: 0; }
}
