/* ==========================================================================
   메인 페이지 섹션
   hero → news → teams → newcomers → mission → join → consult → qna → insight
   ========================================================================== */

/* ============================================================== 1. hero == */
.hero { position: relative; }

.hero__media { width: 100%; height: 100vh; background: #000; }

.hero__media video {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .7;
}

.hero__cont {
  position: absolute;
  left: 50%;
  top: 50%;
  z-index: 2;
  width: 100%;
  padding: 0 20px;
  transform: translate(-50%, -50%);
}

.hero__inner {
  position: relative;
  top: -120px;
  height: 48px;
  margin-bottom: 40px;
  text-align: center;
}

.hero__type {
  position: relative;
  font-size: var(--fs-hero);
  font-weight: 600;
  color: var(--white);
}

/* PC 카피는 브레이크포인트와 무관하게 55px (원본 인라인 !important 재현) */
.hero__type.pc { font-size: 55px; }

.hero__search { padding-top: 40px; text-align: center; }

.hero__search input {
  width: 610px;
  height: 54px;
  margin-bottom: 20px;
  padding: 0 70px 0 35px;
  border-radius: 100px;
  background: url(../img/search_icon_b.svg) no-repeat rgba(255, 255, 255, .5) center right 35px / 25px;
  color: #000;
  font-size: 21px;
}

.hero__search input:focus { background-color: var(--white); }
.hero__search input::placeholder { color: var(--white); }
.hero__search input:focus::placeholder { color: #ADADAD; }
.hero__search input.is-hover-icon { cursor: pointer; }

/* 검색창 아래 ~ 버튼 위 간격 148 → 80px(박변 「상단 공백 조금 더 좁게」) */
.hero__choose { padding-top: 32px; }

.hero__buttons { margin-top: 20px; text-align: center; }

.consult-btn {
  display: inline-block;
  margin: 8px;
  padding: 12px 24px;
  border-radius: 30px;
  background: var(--cta-blue);
  color: var(--white);
  font-size: var(--fs-sm);
  transition: var(--dur);
}

.consult-btn:hover { background: var(--cta-blue-hi); }
.consult-btn--alt { background: var(--cta-green); }
.consult-btn--alt:hover { background: var(--cta-green-hi); }

/* 히어로 「메일 문의」는 흰 버튼(박변 지시) — 초록은 영상 위에서 튀었다 */
.hero__buttons .consult-btn--alt { background: var(--white); color: var(--ink); }
.hero__buttons .consult-btn--alt:hover { background: #efeae0; }

@media (max-width: 1500px) {
  .hero__search input { width: 480px; }
}

@media (max-width: 1024px) {
  .hero__inner { height: 40px; margin-bottom: 24px; }
  .hero__search input {
    width: 300px;
    height: 44px;
    padding: 0 50px 0 20px;
    font-size: var(--fs-2xs);
    background-size: 20px;
    background-position: center right 20px;
  }
}

@media (max-width: 768px) {
  .hero__inner { height: 84px; }
  .hero__type { line-height: 1.4; }
  .hero__type.mo { min-height: 90px; }
  .hero__search input { width: 290px; }
}

/* ============================================================== 2. news == */
/* 카드 2장(한 줄)만 보이게 바뀌어 종전 min-height 1200px(두 줄 기준)을 없앴다.
   아래 여백은 가장 낮은 카드 밑으로 종전과 같은 약 115px 이 되게 맞춘 값 */
.news {
  position: relative;
  padding: 100px 0 60px;
}

.news .container { display: flex; justify-content: space-between; }

.news__head { margin-bottom: 44px; }

.news__ctrl { display: flex; align-items: center; gap: 24px; }

/* Swiper 는 el 에 swiper-pagination 클래스를 붙이지 않는다 — 지정한 클래스로 직접 잡는다 */
.news__pagination {
  display: flex;
  align-items: center;
  justify-content: center;
  width: auto;
}

.news__pagination .swiper-pagination-bullet-active { background: var(--brand); }

/* PREV·NEXT 줄을 「주요업무사례」 제목 폭에 맞춘다(박변 지시).
   제목이 왼쪽 열의 폭을 정하고, 컨트롤 줄은 폭 계산에서 빠진 채(width:0) 그 폭을 꽉 채운다(min-width:100%).
   PREV 는 제목 왼쪽 끝, NEXT > 는 제목 오른쪽 끝에 붙는다. 1024 이하는 제목과 컨트롤이 한 줄이라 해당 없음. */
@media (min-width: 1025px) {
  .news__col-left { width: max-content; }
  .news__ctrl { width: 0; min-width: 100%; justify-content: space-between; gap: 0; }
  .news__ctrl .slider-nav { gap: 10px; }
}

/* 제목이 40px(폭 약 207px)로 줄어드는 구간 — 컨트롤도 같이 줄여야 제목 폭 안에 들어간다 */
@media (min-width: 1025px) and (max-width: 1500px) {
  .news__ctrl .slider-nav { gap: 8px; }
  .news__ctrl .slider-nav p { font-size: var(--fs-sm); }
  .news__ctrl .slider-nav img { height: 14px; }
  .news__pagination { --swiper-pagination-bullet-size: 6px; --swiper-pagination-bullet-horizontal-gap: 3px; }
}

.news__slider { width: 100%; max-width: 1000px; }
.news__slider .swiper { padding: 20px; }
.news__slider .swiper-slide { transition: all var(--dur); }
.news__slider .swiper-slide-active { padding-top: 90px; }

.news-card {
  position: relative;
  width: 100%;
  height: 420px;
  overflow: hidden;
  box-shadow: var(--shadow-card);
}

.news-card:first-child { margin-bottom: 34px; }

.news-card__img { width: 100%; height: 100%; font-size: 0; }
.news-card__img img { width: 100%; height: 100%; object-fit: cover; }

.news-card__body {
  position: absolute;
  left: 0;
  bottom: -90px;
  width: 100%;
  max-width: 335px;
  padding: 34px;
  background: var(--white);
  box-shadow: var(--shadow-panel);
  transition: all var(--dur);
}

.news-card:hover .news-card__body { bottom: 0; border: 1.5px solid var(--brand); }

.news-card__cat {
  margin-bottom: 16px;
  font-size: var(--fs-sm);
  font-weight: 700;
  color: var(--brand);
}

.news-card__title {
  margin-bottom: 8px;
  font-size: var(--fs-lg);
  font-weight: 700;
  color: #222;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.news-card__desc {
  margin-bottom: 24px;
  font-size: var(--fs-base);
  line-height: 1.5;
  font-weight: 500;
  color: var(--ink-600);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.news-card__more { display: flex; justify-content: flex-end; }

.news-card__more a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  border: 1px solid var(--line-faint);
  border-radius: 100%;
  background: var(--white);
  box-shadow: var(--shadow-panel);
}

@media (max-width: 1500px) {
  .news .container { gap: 50px; }
  .news__slider { max-width: 800px; }
}

@media (max-width: 1280px) {
  .news .container { flex-direction: column; }
  .news__slider { max-width: 100%; }
  .news__slider .swiper-slide-active { padding-top: 0; }
}

@media (max-width: 1024px) {
  .news { min-height: auto; padding: 80px 0 0; }
  .news__col-left { display: flex; align-items: flex-end; justify-content: space-between; }
  .news__head { margin-bottom: 0; }
  .news__pagination { display: none; }
  .news__slider .swiper { padding: 0; overflow: visible; }
  .news__slider .swiper-slide { max-width: 275px; padding-right: 15px; }
  .news-card { height: 260px; }
  .news-card__body { max-width: 200px; padding: 20px; bottom: 0; }
  .news-card__cat { margin-bottom: 10px; font-size: var(--fs-sm); }
  .news-card__title { font-size: var(--fs-md); }
  .news-card__desc { margin-bottom: 10px; font-size: var(--fs-sm); }
  .news-card__more a { width: 24px; height: 24px; }
  .news-card__more a img { height: 15px; }
}

@media (max-width: 768px) {
  .news-card__cat { font-size: var(--fs-2xs); }
  .news-card__title { font-size: var(--fs-base); }
  .news-card__desc { font-size: var(--fs-2xs); }
}

/* ============================================================= 3. teams == */
.teams { padding: 100px 0; }
.teams .container { max-width: 1280px; }
.teams__head { margin-bottom: 20px; text-align: center; }

.teams__ctrl {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 24px;
}

.teams__ctrl .slider-nav { gap: 5px; }
/* 원본에서 이 화살표만 .title 안에 들어 있어 섹션 eyebrow 색을 물려받는다 */
.teams__ctrl .slider-nav p { margin-bottom: 4px; color: var(--brand); }

.teams__dots { display: flex; align-items: center; gap: 8px; margin: 0 20px; }
.teams__dots .dot { width: 8px; height: 8px; border-radius: 50%; background: #ccc; }
.teams__dots .dot.is-on { background: #000; }

.teams__viewall { text-align: center; }

.teams__viewall a {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: var(--fs-sm);
  font-weight: 600;
  color: #555;
}

.teams__viewall img { width: 14px; }

.teams__slider { overflow: visible; }

.teams__slider .swiper-slide {
  position: relative;
  width: 100%;
  height: 500px;
}

.team-card__body {
  position: absolute;
  left: 50%;
  top: 50%;
  padding: 0 10px;
  transform: translate(-50%, -50%);
}

.team-card__top { margin-bottom: 34px; text-align: center; }

.team-card__top h3 {
  margin-bottom: 10px;
  font-size: var(--fs-h4);
  font-weight: 700;
  color: var(--white);
}

.team-card__members {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  column-gap: 20px;
  row-gap: 8px;
  width: 100%;
  max-width: 475px;
  margin: 0 auto;
}

.team-card__members li {
  width: calc(33.3% - 14px);
  text-align: center;
  font-size: 18px;
  font-weight: 500;
  color: var(--white);
}

.team-card__members b {
  margin-right: 6px;
  font-weight: 800;
  color: var(--white);
}

.team-card__img { width: 100%; height: 100%; }
.team-card__img img { width: 100%; height: 100%; object-fit: cover; }

/* 팀 이름 목록형 페이지네이션 */
.teams__pagination {
  /* Swiper 기본 bullet 좌우 4px 마진 제거 — 그리드 트랙 폭이 8px씩 밀린다 */
  --swiper-pagination-bullet-horizontal-gap: 0px;
  position: static;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 14px 24px;
  max-width: 1000px;
  margin: 40px auto 0;
}

.teams__pagination .swiper-pagination-bullet {
  width: 100%;
  height: auto;
  margin: 0;
  border-radius: 0;
  background: none;
  opacity: 1;
  text-align: center;
  cursor: pointer;
}

.teams__pagination .swiper-pagination-bullet span {
  position: relative;
  font-size: 25px;
  font-weight: 500;
  color: var(--ink-400);
  white-space: nowrap;
}

.teams__pagination .swiper-pagination-bullet.on span { color: #000; font-weight: 700; }

.teams__pagination .swiper-pagination-bullet.on span::before {
  content: '';
  position: absolute;
  left: -13px;
  top: 5px;
  width: 7px;
  height: 7px;
  border-radius: 100%;
  background: #000;
}

@media (max-width: 1280px) {
  .teams__pagination { gap: 50px; }
}

@media (max-width: 1024px) {
  .teams { padding: 80px 0; }
  .teams__head { margin-bottom: 30px; }
  .teams__slider .swiper-slide { height: 300px; }
  .team-card__body { width: 100%; }
  .team-card__top { margin-bottom: 24px; }
  .team-card__top h3 { font-size: var(--fs-md); }
  .team-card__members { max-width: 250px; row-gap: 6px; }
  .team-card__members li { width: calc(50% - 10px); font-size: 12px; }
  .teams__pagination { gap: 20px; }
  .teams__pagination .swiper-pagination-bullet span { font-size: 13px; }
  .teams__pagination .swiper-pagination-bullet.on span::before { left: -8px; top: 3px; width: 4px; height: 4px; }
}

@media (max-width: 768px) {
  /* 모바일에서는 팀명 목록형 페이지네이션을 감추고 도트+화살표만 남긴다 */
  .teams__pagination { display: none; }
  .teams__ctrl { justify-content: center; flex-wrap: nowrap; gap: 10px; }
  .teams__ctrl .slider-nav { gap: 6px; }
  .teams__ctrl .slider-nav img { width: 14px; }
  .teams__dots { gap: 6px; }
}

/* ========================================================= 4. newcomers == */
.newcomers {
  padding-top: 50px;
  background: url(../img/mc_3_bg.jpg) no-repeat center / cover;
  color: var(--white);
}

.newcomers__head { margin-bottom: 65px; }

.newcomers__head .container {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}

.newcomers__head * { color: var(--white); }

.newcomers__lead {
  padding-bottom: 20px;
  font-size: var(--fs-base);
  line-height: 1.5;
}

.newcomers__lead strong { font-weight: 700; }

.newcomers__list { background: var(--navy); }

.newcomers__list .container {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  max-width: 1920px;
  padding: 0;
}

.newcomer {
  position: relative;
  display: block;
  overflow: hidden;
  transition: all var(--dur-s);
}

.newcomer::after {
  content: 'Dongin Dongin Dongin Dongin';
  position: absolute;
  left: 0;
  top: 10%;
  z-index: 0;
  display: block;
  width: 100%;
  font-family: var(--font-disp);
  font-size: 134px;
  font-style: italic;
  white-space: nowrap;
  color: rgba(241, 248, 254, .04);
  opacity: 0;
  transition: opacity var(--dur-s);
}

.newcomer:hover { background: var(--navy-hi); }
.newcomer:hover::after { opacity: 1; animation: slide_txt 5s linear infinite; }
.newcomer:hover .newcomer__img::before {
  background: linear-gradient(rgba(10, 29, 49, 0), var(--navy-hi) 50%);
}

@keyframes slide_txt {
  from { transform: translateX(0); }
  to   { transform: translateX(-100%); }
}

.newcomer__img { position: relative; z-index: 1; text-align: center; }

.newcomer__img::before {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 50%;
  background: linear-gradient(rgba(10, 29, 49, 0), var(--navy) 50%);
}

.newcomer__img img { width: 78%; padding-top: 12%; margin-bottom: -12%; }

.newcomer__body {
  position: absolute;
  left: 0;
  bottom: 45px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
}

.newcomer__body .info { color: var(--white); }

.newcomer__role {
  display: block;
  margin-bottom: 10px;
  font-size: var(--fs-md);
  font-weight: 300;
  color: inherit;
}

.newcomer__name {
  display: flex;
  align-items: center;
  gap: 0 12px;
  font-size: var(--fs-h6);
  font-weight: 700;
  color: inherit;
}

.newcomer__career {
  display: block;
  font-size: var(--fs-sm);
  font-weight: 400;
  line-height: 1.2;
  color: inherit;
}

.newcomer__indent { display: inline-block; width: 15px; }

.newcomers__list.mo { display: none; }

@media (max-width: 1500px) {
  .newcomer::after { font-size: 90px; }
  .newcomer__body { bottom: 24px; }
  .newcomer__role { margin-bottom: 6px; font-size: 18px; }
  .newcomer__name { font-size: 26px; }
  .newcomer__career { font-size: 13px; }
}

@media (max-width: 1200px) {
  .newcomers { padding-top: 120px; }
  .newcomers__list .container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: center;
  }
  .newcomer { width: 25%; }
  .newcomer__role { font-size: var(--fs-2xs); }
  .newcomer__name { font-size: var(--fs-md); }
  .newcomer__career { font-size: 12px; }
}

@media (max-width: 1024px) {
  .newcomers__head { margin-bottom: 40px; }
  .newcomers__head .container { flex-direction: column; align-items: flex-start; gap: 20px 0; }
  .newcomers__lead { padding-bottom: 0; font-size: var(--fs-2xs); font-weight: 300; }
}

@media (max-width: 768px) {
  .newcomers { padding: 80px 0 140px; background-image: url(../img/mc_9_bg_mo1.jpg); }
  .newcomers__list.pc { display: none; }
  .newcomers__list.mo { display: block; background: none; }
  .newcomers__list.mo .container { display: block; padding: 0; }
  .newcomers__list.mo .newcomer { width: 270px; margin: 0 8px; background: var(--navy); }
  .newcomers__list.mo .newcomer__img img { width: 100%; }
  .newcomers__list.mo .swiper-slide-active { background: var(--navy-hi); }
  .newcomers__list.mo .swiper-slide-active::after { opacity: 1; animation: slide_txt 5s linear infinite; }
}

/* =========================================================== 5. mission == */
.mission { padding: 100px 0; }
.mission__head { margin-bottom: 60px; text-align: center; }
.mission__media video { width: 100%; }

@media (max-width: 1024px) {
  .mission { padding: 80px 0; }
}

/* ============================================================== 6. join == */
.join {
  padding: 180px 0;
  background: url(../img/mc_5_bg.jpg) no-repeat center / cover;
}

.join__body { text-align: center; }

.join__sub {
  font-family: var(--font-disp);
  font-size: var(--fs-md);
  font-weight: 700;
  text-align: center;
  color: var(--white);
}

.join__title {
  margin-bottom: 16px;
  font-family: var(--font-disp);
  font-size: var(--fs-display);
  font-weight: 600;
  line-height: 1.5;
  color: var(--white);
}

.join__desc {
  margin-bottom: 44px;
  font-size: var(--fs-h5);
  line-height: 1.5;
  font-weight: 400;
  color: var(--white);
}

.join__desc b { font-weight: 700; color: var(--white); }

.join__bar { width: 1px; height: 64px; margin: 0 auto; background: var(--white); }

.join__cta {
  display: flex;
  align-items: center;
  gap: 14px;
  width: fit-content;
  margin: 0 auto;
  padding: 20px 40px;
  border-radius: 100px;
  background: var(--white);
}

.join__cta p { font-size: var(--fs-lg); font-weight: 700; color: var(--brand); }

@media (max-width: 1024px) {
  .join { padding: 100px 0; }
  .join__sub { font-size: var(--fs-sm); }
  .join__title { font-size: 60px; }
  .join__desc { font-size: var(--fs-md); }
  .join__cta { padding: 15px 20px; }
  .join__cta p { font-size: var(--fs-sm); }
  .join__cta img { height: 14px; }
}

@media (max-width: 768px) {
  .join__sub { font-size: var(--fs-2xs); }
  .join__title { font-size: var(--fs-display); }
  .join__desc { margin-bottom: 20px; font-size: var(--fs-sm); }
  .join__bar { height: 44px; }
  .join__cta p { font-size: var(--fs-2xs); }
  .join__cta img { height: 13px; }
}

/* =========================================================== 7. consult == */
/* 카드 이미지(hb_consult_card.png) 위아래에 투명 여백이 약 32px 씩 있다. 섹션 위 패딩을 없애
   카드 위 공백을 아래 공백과 같게 맞췄다(박변 지시). 1024 이하는 제목이 카드 위에 오므로 종전 100px */
.consult { padding: 0; background: var(--paper); overflow: hidden; }
.consult .container { display: flex; justify-content: space-between; }
.consult__col-left { display: flex; align-items: center; max-width: 580px; }
.consult__head { margin-bottom: 64px; }

.consult__sub { margin-bottom: 14px; font-size: var(--fs-h5); font-weight: 700; }

.consult__body {
  font-size: var(--fs-base);
  line-height: 1.6;
  color: var(--ink-600);
}

/* 원본 reset 이 p 에 color:#222 를 직접 걸어 부모 article 의 #646464 를 덮는다 */
.consult__body p { margin-bottom: 20px; font-size: inherit; line-height: 1.2; color: var(--ink); }
.consult__body p:last-child { margin-bottom: 0; }
.consult__body strong { font-weight: 700; color: inherit; }

.consult__col-right { display: flex; align-items: flex-end; }
.consult__img { max-width: 820px; }
.consult__img img { width: 100%; }

@media (max-width: 1280px) {
  .consult__col-left { max-width: 400px; padding-bottom: 50px; }
}

@media (max-width: 1024px) {
  .consult { padding-top: 100px; }
  .consult .container { flex-direction: column; }
  .consult__head { margin-bottom: 30px; }
  .consult__sub { font-size: var(--fs-lg); }
  .consult__body { font-size: var(--fs-sm); }
}

@media (max-width: 768px) {
  .consult__sub { font-size: var(--fs-md); }
  .consult__body { font-size: var(--fs-2xs); }
}

/* =============================================================== 8. qna == */
.qna { padding: 100px 0; }
.qna .container { display: flex; justify-content: space-between; }
/* 「화백리포트」 제목이 게시판(news_5) 링크 — View all 버튼 대신(박변 지시) */
.qna .sec-head__title a { color: inherit; transition: color var(--dur); }
.qna .sec-head__title a:hover { color: var(--brand); }
.qna__col-right { width: 100%; max-width: 1040px; }

.qna__item .qna__q {
  padding: 34px 10px;
  border-bottom: 1px solid var(--line-soft);
  background: url(../img/acc_down.svg) no-repeat right 10px center / 24px;
  cursor: pointer;
}

.qna__item .qna__q p {
  display: flex;
  align-items: center;
  gap: 34px;
  font-size: var(--fs-lg);
  font-weight: 600;
}

.qna__item .qna__q b { color: var(--brand); font-weight: 600; }

.qna__item .qna__a { display: none; }

.qna__item .qna__a-inner {
  display: flex;
  gap: 24px;
  padding: 34px 24px;
  border: 1px solid var(--line-soft);
  border-radius: 15px;
}

.qna__item .qna__a-inner > b { font-size: var(--fs-lg); font-weight: 700; color: #888; }

.qna__name {
  display: flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 20px;
}

.qna__name span {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 30px;
  height: 30px;
  border-radius: 100%;
  background: var(--tint);
  font-size: var(--fs-md);
  font-weight: 500;
  color: var(--brand);
}

.qna__name p { font-size: var(--fs-md); font-weight: 600; }
.qna__a article { font-size: var(--fs-md); font-weight: 500; color: var(--ink-600); }

.qna__item.is-open .qna__q {
  border-bottom: 0;
  background-image: url(../img/acc_up.svg);
}

@media (max-width: 1500px) {
  .qna .container { gap: 50px; }
  .qna__col-left .sec-head { min-width: 250px; }
}

@media (max-width: 1024px) {
  .qna { padding: 80px 0; }
  .qna .container { flex-direction: column; gap: 35px; }
  .qna__item .qna__q { background-size: 20px; }
  .qna__item .qna__q p { font-size: var(--fs-md); }
  .qna__item .qna__a-inner > b { font-size: var(--fs-sm); }
  .qna__name span { width: 20px; height: 20px; font-size: var(--fs-2xs); }
  .qna__name p { font-size: var(--fs-sm); }
  .qna__a article { font-size: var(--fs-sm); }
}

@media (max-width: 768px) {
  .qna__item .qna__q { padding: 24px 10px; background-size: 13px; }
  .qna__item .qna__q p { gap: 14px; font-size: var(--fs-base); }
  .qna__item .qna__q p span { display: block; max-width: 200px; }
  .qna__item .qna__a-inner { gap: 14px; padding: 24px; }
  .qna__item .qna__a-inner > b { font-size: var(--fs-2xs); }
  .qna__name p { font-size: var(--fs-2xs); }
  .qna__a article { font-size: var(--fs-2xs); }
}

/* =========================================================== 9. insight == */
.insight { padding: 100px 0; background: var(--paper-2); }

.insight__head {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-bottom: 57px;
}

.insight__ctrl { display: flex; align-items: center; gap: 60px; }

.insight__slider { margin-bottom: 66px; overflow: visible; }
.insight__slider .swiper-slide { max-width: 360px; border: 1px solid #E8E8E8; }
.insight__slider .swiper-slide img { width: 100%; }

.insight-card__body { padding: 20px; background: var(--white); }

.insight-card__cat {
  display: block;
  margin-bottom: 6px;
  font-size: var(--fs-sm);
  color: var(--brand);
}

.insight-card__title {
  margin-bottom: 20px;
  font-size: var(--fs-lg);
  font-weight: 700;
  color: var(--ink-850);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.insight-card__date { font-size: var(--fs-2xs); color: var(--ink-500); font-style: normal; }

/* 인사이트 제목만 768 이하에서도 24px 을 유지한다(원본 셀렉터 우선순위 결과) */
@media (max-width: 768px) {
  .insight__head .sec-head__title { font-size: 24px; }
}

@media (max-width: 1024px) {
  .insight { padding: 80px 0; }
  .insight__ctrl { gap: 24px; }
  .insight__slider { margin-bottom: 30px; }
  .insight__slider .swiper-slide { max-width: 200px; }
  .insight-card__cat { font-size: var(--fs-2xs); }
  .insight-card__title { font-size: var(--fs-md); }
  .insight-card__date { font-size: 12px; }
}

/* ── 화백: 구성원 카드가 1장일 때 중앙 정렬 ── */
.newcomers .swiper-wrapper { justify-content: center; }
