/*!****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@14.2.35_@playwright+test@1.61.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/.pnpm/next@14.2.35_@playwright+test@1.61.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/components/ui.module.css ***!
  \****************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* 공통 UI 프리미티브 스타일 — 모바일 우선·터치 타깃 ≥44px. */

.ui_btn__6N7So {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: var(--space-2);
  min-height: 48px;
  padding: 0 var(--space-5);
  border: 1px solid transparent;
  border-radius: var(--radius-md);
  font-size: var(--text-base);
  font-weight: 700;
  letter-spacing: -0.01em;
  cursor: pointer;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
}
/* M-19 ButtonLink: 앵커로 렌더될 때 전역 a 스타일(hover 밑줄) 무력화 — 버튼 시각 보존. */
a.ui_btn__6N7So,
a.ui_btn__6N7So:hover {
  text-decoration: none;
}
.ui_btn__6N7So:disabled {
  background: #f4f4f5;
  color: rgba(55, 56, 60, 0.28);
  border-color: transparent;
  cursor: not-allowed;
}
.ui_btnFull__9AxIX {
  width: 100%;
}
.ui_btn-primary__MQ_bg {
  background: var(--color-primary);
  color: var(--color-primary-contrast);
}
.ui_btn-primary__MQ_bg:not(:disabled):hover {
  background: var(--color-primary-active);
}
.ui_btn-secondary__bHzwa {
  background: var(--color-bg);
  color: var(--color-primary);
  border-color: var(--color-primary);
  font-weight: 700;
}
.ui_btn-secondary__bHzwa:not(:disabled):hover {
  background: var(--color-primary-soft);
}
.ui_btn-danger__Jeu5m {
  background: var(--color-danger);
  color: #fff;
}
.ui_btn-ghost__IauF5 {
  background: transparent;
  color: var(--color-primary);
  font-weight: 600;
}
.ui_btn-ghost__IauF5:not(:disabled):hover {
  background: var(--color-primary-soft);
}

.ui_field__jaWkq {
  margin-bottom: var(--space-4);
}
.ui_label__wmldB {
  display: block;
  font-size: var(--text-md);
  font-weight: 600;
  color: var(--color-text-secondary);
  margin-bottom: var(--space-2);
}
.ui_req__KR6xH {
  color: var(--color-danger-text);
}
.ui_hint__WuPRD {
  font-size: var(--text-xs);
  color: var(--color-text-muted);
  margin: 0 0 var(--space-2);
}
.ui_input__0fvdk {
  width: 100%;
  min-height: 52px;
  padding: 0 var(--space-4);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius);
  font-size: var(--text-base);
  background: var(--color-bg);
  color: var(--color-text);
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.ui_input__0fvdk:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: var(--focus-ring);
}
.ui_input__0fvdk[aria-invalid='true'] {
  border-color: var(--color-danger);
}
.ui_input__0fvdk[aria-invalid='true']:focus {
  box-shadow: 0 0 0 3px rgba(255, 66, 66, 0.12);
}
.ui_error__AsqlG {
  font-size: var(--text-sm);
  color: var(--color-danger-text);
  margin: var(--space-2) 0 0;
}

.ui_checkboxRow__AWhTZ {
  display: flex;
  align-items: flex-start;
  gap: var(--space-3);
  min-height: var(--touch);
  padding: var(--space-2) 0;
  font-size: var(--text-sm);
  cursor: pointer;
}
.ui_checkbox__OtC7f {
  width: 22px;
  height: 22px;
  margin-top: 1px;
  flex-shrink: 0;
  accent-color: var(--color-primary);
}

.ui_alert__mqv8E {
  border-radius: var(--radius);
  padding: var(--space-4);
  margin-bottom: var(--space-4);
  font-size: var(--text-md);
  border: 1px solid transparent;
}
.ui_alertTitle__IZ4bO {
  display: block;
  margin-bottom: var(--space-1);
  font-weight: 700;
}
.ui_alert-error__y6_f4 {
  background: var(--color-danger-bg);
  color: var(--color-danger-text);
  border-color: rgba(255, 66, 66, 0.35);
}
.ui_alert-info__lT5uW {
  background: var(--color-primary-soft-alt);
  color: var(--color-text-secondary);
  border-color: var(--color-primary-soft);
}
.ui_alert-success__szZD8 {
  background: var(--color-success-bg);
  color: var(--color-success);
  border-color: rgba(0, 122, 46, 0.35);
}
.ui_alert-warning__O_6_2 {
  background: var(--color-warning-bg);
  color: var(--color-warning);
  border-color: rgba(178, 106, 0, 0.3);
}

.ui_badge__G5O2s {
  display: inline-flex;
  align-items: center;
  padding: 6px var(--space-3);
  border-radius: var(--radius-pill);
  font-size: var(--text-sm);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.ui_badge-pending__b4dzg {
  background: var(--badge-pending-bg);
  color: var(--badge-pending);
}
.ui_badge-approved___W12a {
  background: var(--badge-approved-bg);
  color: var(--badge-approved);
}
.ui_badge-rejected__CGjNS {
  background: var(--badge-rejected-bg);
  color: var(--badge-rejected);
}
.ui_badge-neutral__Zs0ss {
  background: var(--badge-neutral-bg);
  color: var(--badge-neutral);
}

.ui_spinner__xhkoP {
  display: inline-block;
  width: 18px;
  height: 18px;
  border: 2px solid currentColor;
  border-top-color: transparent;
  border-radius: 50%;
  animation: ui_spin__fUT4g 0.7s linear infinite;
}
.ui_spinnerInline__W1RXk {
  width: 16px;
  height: 16px;
}
@keyframes ui_spin__fUT4g {
  to {
    transform: rotate(360deg);
  }
}

.ui_card__f0KGF {
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  margin-bottom: var(--space-4);
  box-shadow: var(--shadow-subtle);
}

/*!************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@14.2.35_@playwright+test@1.61.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/.pnpm/next@14.2.35_@playwright+test@1.61.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/components/tag-picker.module.css ***!
  \************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* TagPicker — 다중 선택 칩. 모바일 우선·터치 타깃 ≥44px. */

.tag-picker_wrap__9XFKp {
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
}

.tag-picker_header__O5MTx {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 24px;
}

.tag-picker_muted__Q0RR5 {
  font-size: var(--text-md);
  color: var(--color-text-muted);
}

.tag-picker_clearBtn__73dgd {
  background: transparent;
  border: none;
  color: var(--color-primary);
  font-size: var(--text-md);
  font-weight: 600;
  padding: var(--space-1) var(--space-2);
  min-height: 32px;
  cursor: pointer;
  border-radius: var(--radius-sm);
}
.tag-picker_clearBtn__73dgd:not(:disabled):hover {
  background: var(--color-primary-soft);
}
.tag-picker_clearBtn__73dgd:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}

.tag-picker_chips__YOJ_D {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
}

.tag-picker_chip__ENb_s {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 var(--space-4);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius-pill);
  background: var(--color-bg);
  color: var(--color-text-secondary);
  font-size: var(--text-md);
  font-weight: 500;
  cursor: pointer;
  transition: background-color 0.12s ease, border-color 0.12s ease, color 0.12s ease;
}
.tag-picker_chip__ENb_s:not(:disabled):hover {
  border-color: var(--color-primary);
  color: var(--color-primary);
}
.tag-picker_chip__ENb_s:disabled {
  opacity: 0.55;
  cursor: not-allowed;
}
.tag-picker_chipActive__JwgPj,
.tag-picker_chipActive__JwgPj:not(:disabled):hover {
  background: var(--color-primary);
  color: var(--color-primary-contrast);
  border-color: var(--color-primary);
  font-weight: 600;
}

.tag-picker_errorText__xTAgg {
  font-size: var(--text-sm);
  color: var(--color-danger-text);
  margin: var(--space-1) 0 0;
}

/* 축 그룹 라벨(직무/업종) — 2축 태그일 때만 노출. */
.tag-picker_kindLabel__Q1_qa {
  margin: var(--space-3) 0 var(--space-1);
  font-size: var(--text-xs);
  font-weight: 700;
  color: var(--color-text-muted);
}
.tag-picker_kindLabel__Q1_qa:first-of-type {
  margin-top: 0;
}

/*!*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@14.2.35_@playwright+test@1.61.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/.pnpm/next@14.2.35_@playwright+test@1.61.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/components/mentor-card.module.css ***!
  \*************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* MentorCard — 검색 결과 카드. 터치 타깃·세로 레이아웃. */

.mentor-card_card__lrCUz {
  display: block;
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: var(--radius-lg);
  padding: var(--space-4);
  color: var(--color-text);
  box-shadow: var(--shadow-subtle);
  transition: border-color 0.12s ease, box-shadow 0.12s ease;
}
.mentor-card_card__lrCUz:hover {
  text-decoration: none;
  border-color: var(--color-primary);
  box-shadow: var(--shadow-card);
}

.mentor-card_head__l77Du {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--space-2);
}
.mentor-card_name__Uizd7 {
  font-size: var(--text-base);
  font-weight: 700;
  letter-spacing: -0.01em;
}
.mentor-card_slotCount__j1hO8 {
  flex-shrink: 0;
  font-size: var(--text-xs);
  font-weight: 700;
  color: var(--color-success);
}

.mentor-card_headline__2XM93 {
  margin: var(--space-2) 0 0;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}
.mentor-card_company__pH37V {
  margin: var(--space-1) 0 0;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

.mentor-card_tags___FbWV {
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-2);
  margin: var(--space-3) 0 0;
  padding: 0;
  list-style: none;
}
.mentor-card_tag__cPfBq {
  display: inline-flex;
  padding: 5px var(--space-2);
  border-radius: var(--radius-sm);
  background: var(--color-surface);
  color: var(--color-text-muted);
  font-size: var(--text-xs);
  font-weight: 600;
}

.mentor-card_next__PGxrv {
  margin: var(--space-3) 0 0;
  font-size: var(--text-sm);
  color: var(--color-text-secondary);
}
.mentor-card_nextLabel__W_DX_ {
  color: var(--color-text-muted);
  margin-right: var(--space-1);
}

/*!********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@14.2.35_@playwright+test@1.61.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/.pnpm/next@14.2.35_@playwright+test@1.61.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/app/search/search.module.css ***!
  \********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/* 멘토 검색 화면 — 모바일 우선, 데스크톱 사이드바+그리드 적응형. */

/* 모바일: 세로 스택(레이아웃 컨테이너는 단순 블록). */
.search_layout__qVev_ {
  display: block;
}

.search_results__lsuhN {
  /* 모바일은 단순 블록(결과가 필터 아래). */
}

.search_filters__kE4ZT {
  display: flex;
  flex-direction: column;
  gap: var(--space-4);
  margin-bottom: var(--space-5);
  padding-bottom: var(--space-4);
  border-bottom: 1px solid var(--color-border);
}

/* 패널 제목("필터") — 모바일은 구분선이 있어 숨김, 데스크톱 패널에서만 노출. */
.search_filtersTitle__bHUHs {
  display: none;
}

/* 필터 그룹 라벨(분야 등) — TagPicker 상태 텍스트("선택 없음")만 떠 있던 문제 보완. */
.search_groupLabel__xmTwG {
  margin-bottom: var(--space-2);
  font-size: var(--text-sm);
  font-weight: 700;
  color: var(--color-text);
}

/* 결과 헤더 — 로드된 건수(+ = 더 있음). 필터/결과 경계를 시각적으로 구분. */
.search_resultsHead__tXLVK {
  margin: 0 0 var(--space-3);
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.search_resultsHead__tXLVK strong {
  color: var(--color-text);
  font-weight: 700;
}

.search_sortRow__rQF5z {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.search_sortLabel__Vsq8e {
  font-size: var(--text-sm);
  font-weight: 600;
}
.search_sortSelect__l_Gth {
  flex: 1 1;
  min-height: var(--touch);
  padding: 0 var(--space-3);
  border: 1px solid var(--color-border-strong);
  border-radius: var(--radius);
  background: var(--color-bg);
  color: var(--color-text);
  font-size: var(--text-md);
}
.search_sortSelect__l_Gth:focus {
  outline: none;
  border-color: var(--color-primary);
  box-shadow: var(--focus-ring);
}

.search_list__gm5_e {
  display: flex;
  flex-direction: column;
  gap: var(--space-3);
  margin: 0;
  padding: 0;
  list-style: none;
}

.search_center__TyoTH {
  text-align: center;
  padding: var(--space-8) 0;
}

.search_empty__yTzxl {
  text-align: center;
  padding: var(--space-6) var(--space-4);
}
.search_emptyTitle___idn2 {
  font-weight: 600;
  margin-bottom: var(--space-2);
}
.search_emptyHint__YJPK6 {
  color: var(--color-text-muted);
  font-size: var(--text-sm);
  margin-bottom: var(--space-4);
}

.search_moreRow__6HLFw {
  margin-top: var(--space-4);
}
.search_endNote__T5N6V {
  margin-top: var(--space-4);
  text-align: center;
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}

/* ───────── 태블릿(≥768px): 결과 2열 그리드(필터는 아직 상단) ───────── */
@media (min-width: 768px) {
  .search_list__gm5_e {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-gap: var(--space-3);
    gap: var(--space-3);
  }
}

/* ───────── 데스크톱(≥1024px): 좌측 필터 사이드바 + 우측 결과 그리드 ───────── */
@media (min-width: 1024px) {
  .search_layout__qVev_ {
    display: grid;
    grid-template-columns: 260px 1fr;
    grid-gap: var(--space-6);
    gap: var(--space-6);
    align-items: start;
  }
  /* 사이드바: 패널 카드(배경·테두리) + 스크롤 시 상단 고정(스티키). */
  .search_filters__kE4ZT {
    position: -webkit-sticky;
    position: sticky;
    top: calc(56px + var(--space-4));
    margin-bottom: 0;
    padding: var(--space-5);
    border: 1px solid var(--color-border);
    border-radius: 16px;
    background: var(--color-bg);
    box-shadow: var(--shadow-subtle);
  }
  .search_filtersTitle__bHUHs {
    display: block;
    font-size: var(--text-base);
    font-weight: 800;
    letter-spacing: -0.02em;
    color: var(--color-navy);
  }
  /* 결과 그리드: 화면폭 따라 자동 다열(2~3열). */
  .search_list__gm5_e {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
}

/*!**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@14.2.35_@playwright+test@1.61.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[2]!../../node_modules/.pnpm/next@14.2.35_@playwright+test@1.61.1_react-dom@18.3.1_react@18.3.1__react@18.3.1/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[7].use[3]!./src/app/landing.module.css ***!
  \**************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/*
 * 비로그인 랜딩 — MentorCruise 스타일(타이핑 히어로 + 검색 + 카드 레일 + CTA 밴드).
 * 색: 오륜 베이스(--color-primary #0072BB / --color-navy #032C5C) + 포인트(--color-accent).
 * 토큰(globals.css)만 사용. 모든 섹션은 콘텐츠 컬럼(--content-max) 안에 담는다
 * (50vw full-bleed 트릭은 스크롤바 폭만큼 가로 오버플로를 만들어 쓰지 않는다).
 */

.landing_landing__nrxBG {
  display: flex;
  flex-direction: column;
}

/* ── 히어로 ─────────────────────────────────────────── */
.landing_hero__wie8N {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--space-6);
  padding: var(--space-6) 0 var(--space-8);
}
.landing_heroCopy__9SHJs {
  position: relative;
  z-index: 1;
}

.landing_eyebrow__xr4rD {
  display: inline-flex;
  align-self: flex-start;
  align-items: center;
  margin: 0;
  padding: 6px 12px;
  border-radius: var(--radius-pill);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: var(--text-sm);
  font-weight: 700;
}

.landing_headline__Ctbxa {
  margin: var(--space-4) 0 0;
  font-size: clamp(32px, 8.4vw, 40px);
  font-weight: 800;
  line-height: 1.28;
  letter-spacing: -0.03em;
  color: var(--color-navy);
}
.landing_typed__id13K {
  color: var(--color-primary);
}
.landing_accent__6xTX1 {
  color: var(--color-primary);
}
/* 타이핑 캐럿 — reduced-motion 시 전역 규칙이 애니메이션을 무력화한다. */
.landing_caret__WI0kb {
  display: inline-block;
  width: 3px;
  height: 0.92em;
  margin-left: 2px;
  vertical-align: -0.1em;
  background: var(--color-primary);
  animation: landing_caret-blink__7nPKW 1s steps(2, start) infinite;
}
@keyframes landing_caret-blink__7nPKW {
  to {
    visibility: hidden;
  }
}

.landing_subhead__VrDRR {
  margin: var(--space-4) 0 0;
  font-size: var(--text-base);
  line-height: 1.7;
  color: var(--color-text-muted);
}

/* 히어로 CTA(역할별 가입) + 네이비 밴드(ctaInverse) 공용 모양. */
.landing_ctas__rzWuq {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--space-3);
  margin-top: var(--space-5);
}
.landing_cta__8qSFp {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 48px;
  padding: 0 22px;
  border-radius: var(--radius-pill);
  font-size: var(--text-base);
  font-weight: 700;
}
.landing_cta__8qSFp:hover {
  text-decoration: none;
}
.landing_ctaPrimary__tIguX {
  background: var(--color-primary);
  color: var(--color-primary-contrast);
}
.landing_ctaPrimary__tIguX:hover {
  background: var(--color-primary-hover);
}
.landing_ctaGhost__xPtLi {
  border: 1px solid var(--color-border-strong);
  background: var(--color-bg);
  color: var(--color-text-secondary);
  font-weight: 600;
}
.landing_ctaGhost__xPtLi:hover {
  background: var(--color-surface-alt);
}
/*
 * 히어로 비주얼 — 히어로 전체(헤드라인·검색·CTA)의 배경 레이어.
 * .content 의 패딩(모바일 top --space-5 / 좌우 --space-4)을 음수 오프셋으로 상쇄해
 * 컨텐츠 컬럼 가장자리까지 채운다(50vw full-bleed 트릭은 가로 오버플로라 쓰지 않음).
 * 일러스트/사진 이미지는 추후 이 면 위에 얹는다.
 */
.landing_heroVisual__Nz91C {
  position: absolute;
  z-index: 0;
  top: calc(-1 * var(--space-5));
  left: calc(-1 * var(--space-4));
  right: calc(-1 * var(--space-4));
  bottom: 0;
  border-radius: 0 0 24px 24px;
  background:
    radial-gradient(420px 300px at 82% 12%, rgba(0, 114, 187, 0.14), transparent 70%),
    radial-gradient(360px 280px at 8% 92%, rgba(246, 134, 76, 0.1), transparent 70%),
    var(--color-primary-soft-alt);
}

/* ── 섹션 공통 ──────────────────────────────────────── */
.landing_sectionTitle__VHDry {
  margin: 0;
  font-size: clamp(22px, 4vw, 30px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-navy);
}
.landing_sectionSub__kgoTI {
  margin: var(--space-2) 0 var(--space-5);
  color: var(--color-text-muted);
}

/* ── 멘토 카드 레일(자동 흐름) ───────────────────────── */
.landing_mentors__sEQku {
  padding: var(--space-6) 0;
}
.landing_rail__ifnfP {
  overflow: hidden;
  padding: var(--space-2) 0 var(--space-3);
  /* 양끝 페이드 — 흐르는 레일 티를 낸다. */
  mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 7%, #000 93%, transparent);
}
.landing_railTrack__E0NkI {
  display: flex;
  width: max-content;
  margin: 0;
  padding: 0;
  list-style: none;
  animation: landing_rail-scroll__h3JqI 48s linear infinite;
}
.landing_rail__ifnfP:hover .landing_railTrack__E0NkI {
  animation-play-state: paused;
}
/* 원본+복제(각 50%) — 정확히 절반 이동 후 처음으로(이음새 없음). */
@keyframes landing_rail-scroll__h3JqI {
  to {
    transform: translateX(-50%);
  }
}
@media (prefers-reduced-motion: reduce) {
  .landing_railTrack__E0NkI {
    animation: none;
  }
  .landing_rail__ifnfP {
    overflow-x: auto;
    mask-image: none;
    -webkit-mask-image: none;
  }
}

.landing_card__weaXj {
  flex-shrink: 0;
  width: 280px;
  /* gap 대신 margin — translateX(-50%) 루프 폭 계산을 카드 단위로 정확하게. */
  margin-right: var(--space-4);
  padding: var(--space-5);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: 18px;
  box-shadow: var(--shadow-subtle);
  list-style: none;
}
.landing_cardHead__3yB0u {
  display: flex;
  align-items: center;
  gap: var(--space-3);
}
.landing_avatar__QM69w {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-shrink: 0;
  width: 46px;
  height: 46px;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--color-primary), #4aa3d8);
  color: #fff;
  font-size: var(--text-lg);
  font-weight: 800;
}
/* 아바타 색 로테이션(3n) — 카드 6장 × 2복제라 패리티 유지. */
.landing_card__weaXj:nth-child(3n + 2) .landing_avatar__QM69w {
  background: linear-gradient(135deg, var(--color-navy), #35567d);
}
.landing_card__weaXj:nth-child(3n) .landing_avatar__QM69w {
  background: linear-gradient(135deg, var(--color-accent), #f5a97c);
}
.landing_cardRole__9nW40 {
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-text);
}
.landing_cardYears__ASlvq {
  font-size: var(--text-sm);
  color: var(--color-text-muted);
}
.landing_cardLine__Sd133 {
  margin: var(--space-3) 0 0;
  font-size: var(--text-md);
  line-height: 1.55;
  color: var(--color-text-secondary);
}
.landing_cardTags__ZpkYD {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: var(--space-3);
}
.landing_cardTags__ZpkYD span {
  padding: 4px 10px;
  border-radius: var(--radius-pill);
  background: var(--color-primary-soft);
  color: var(--color-primary);
  font-size: var(--text-xs);
  font-weight: 600;
}
.landing_cardSlot__5LjVO {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-top: var(--space-4);
  padding-top: var(--space-3);
  border-top: 1px solid var(--color-border);
  font-size: var(--text-sm);
  font-weight: 600;
  color: var(--color-text-secondary);
}
.landing_slotDot__eVb_U {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--color-accent);
}

/* ── 진행 3단계 ─────────────────────────────────────── */
.landing_how__R9SQz {
  padding: var(--space-6) 0 var(--space-8);
}
.landing_steps__Bnb3O {
  display: grid;
  grid-gap: var(--space-4);
  gap: var(--space-4);
  margin: var(--space-5) 0 0;
  padding: 0;
  list-style: none;
}
.landing_step__0gYFT {
  padding: var(--space-5);
  background: var(--color-bg);
  border: 1px solid var(--color-border);
  border-radius: 18px;
}
.landing_stepNum__0YR3f {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: var(--color-navy);
  color: var(--color-navy-contrast);
  font-size: var(--text-md);
  font-weight: 800;
}
.landing_stepTitle__B4NB7 {
  margin: var(--space-3) 0 var(--space-1);
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--color-text);
}
.landing_stepDesc__fo6J6 {
  margin: 0;
  font-size: var(--text-md);
  color: var(--color-text-muted);
}

/* ── CTA 밴드(네이비, 라운드 카드) ───────────────────── */
.landing_band__P8vaz {
  margin-bottom: var(--space-4);
  padding: var(--space-8) var(--space-5);
  border-radius: 24px;
  background: var(--color-navy);
  text-align: center;
}
.landing_bandTitle__gN15I {
  margin: 0;
  font-size: clamp(22px, 4vw, 30px);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: var(--color-navy-contrast);
}
.landing_bandSub__U1iJJ {
  margin: var(--space-3) 0 var(--space-5);
  color: rgba(255, 255, 255, 0.75);
}
.landing_ctaInverse__1KF5L {
  background: #fff;
  color: var(--color-navy);
}
.landing_ctaInverse__1KF5L:hover {
  background: var(--color-primary-soft);
}

/* ── 데스크톱(≥1024px) ──────────────────────────────── */
@media (min-width: 1024px) {
  .landing_hero__wie8N {
    justify-content: center;
    padding: var(--space-8) var(--space-6);
    min-height: 540px;
  }
  .landing_heroCopy__9SHJs {
    max-width: 760px;
  }
  .landing_headline__Ctbxa {
    font-size: clamp(44px, 4.4vw, 56px);
    line-height: 1.22;
  }
  .landing_subhead__VrDRR {
    font-size: var(--text-lg);
  }
  /* 데스크톱 .content 패딩(top --space-6 / 좌우 --space-5) 상쇄. */
  .landing_heroVisual__Nz91C {
    top: calc(-1 * var(--space-6));
    left: calc(-1 * var(--space-5));
    right: calc(-1 * var(--space-5));
  }
  .landing_steps__Bnb3O {
    grid-template-columns: repeat(3, 1fr);
  }
  .landing_band__P8vaz {
    padding: var(--space-8) var(--space-8);
  }
}

