/* ==========================================================================
   pages/partners.css — Partners 페이지 (라이트 섹션, partners.js renderPartners 출력)
   모바일 우선. 브레이크포인트 640 / 1024 / 1280
   ========================================================================== */

.partners-hero__lead {
  max-width: 56ch;
  margin-top: var(--sp-5);
  font-size: var(--fs-md);
  color: var(--text-muted);
}

/* 영역 사이 데이터 선 */
.partner-area {
  display: grid;
  row-gap: var(--sp-2);
  padding-block: var(--sp-7);
  border-top: 1px solid var(--line-on-light);
}

.partner-area:first-child {
  padding-top: 0;
  border-top: 0;
}

/* 영역명은 다른 상세 페이지의 h2 와 같은 단계로 (2026-09-16) */
.partner-area__title {
  font-size: var(--fs-2xl);
  line-height: var(--lh-snug);
  color: var(--ink);
}

.partner-area__role {
  font-size: var(--fs-sm);
  color: var(--text-muted-on-light);
}

.partner-list {
  display: grid;
  gap: var(--sp-5) var(--sp-6);
  margin-top: var(--sp-5);
  padding: 0;
  list-style: none;
}

.partner-card {
  display: flex;
  flex-direction: column;
  gap: var(--sp-3);
  padding-top: var(--sp-4);
  border-top: 1px solid var(--line-on-light);
}

/* 로고·워드마크 영역 높이를 맞춰 카드 줄을 정렬 */
.partner-card__name {
  display: flex;
  align-items: center;
  min-height: 48px;
  font-size: var(--fs-lg);
  line-height: var(--lh-snug);
  color: var(--ink);
}

.partner-card__logo {
  max-width: 180px;
  max-height: 40px;
}

.partner-card__status {
  font-size: var(--fs-xs);
  color: var(--text-muted-on-light);
}

.partner-card__desc {
  font-size: var(--fs-sm);
  color: var(--text-muted-on-light);
}

/* 공식 사이트: 회색 · 밑줄 없음 · 오른쪽에 화살표 (2026-09-16 사용자 요청) */
.partner-card__link {
  align-self: flex-start;
  display: inline-flex;
  align-items: baseline;
  gap: var(--sp-2);
  font-size: var(--fs-sm);
  font-weight: var(--fw-medium);
  color: var(--text-muted-on-light);
  text-decoration: none;
  transition: color 0.2s ease;
}

/* 화살표는 실제 링크에만 (사이트가 없는 파트너는 빈 자리로 둔다) */
a.partner-card__link::after {
  content: "→";
  transition: transform 0.2s ease;
}

.partner-card__link:hover,
.partner-card__link:focus-visible {
  color: var(--ink);
}

a.partner-card__link:hover::after {
  transform: translateX(3px);
}

@media (prefers-reduced-motion: reduce) {
  a.partner-card__link::after {
    transition: none;
  }

  a.partner-card__link:hover::after {
    transform: none;
  }
}

@media (min-width: 640px) {
  .partner-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* 1024px 이상: 좌측 영역명·역할, 우측 파트너 카드 */
@media (min-width: 1024px) {
  .partner-area {
    grid-template-columns: repeat(12, minmax(0, 1fr));
    grid-template-rows: auto 1fr;
    column-gap: var(--sp-6);
  }

  .partner-area__title {
    grid-column: 1 / 5;
    grid-row: 1;
  }

  .partner-area__role {
    grid-column: 1 / 5;
    grid-row: 2;
    align-self: start;
  }

  .partner-list {
    grid-column: 5 / 13;
    grid-row: 1 / 3;
    margin-top: 0;
  }
}
