/* 통일된 제목 높이(줄 수/라인하이트) 제어 토큰 */
:root{
  --name-lines: 1;   /* 제목 1줄로 통일 — 2줄 허용 원하면 2로 변경 */
  --name-lh: 1.35;   /* 제목 line-height */
}

/* 현재 페이지 강조 */
.menu a.is-active{
  border-bottom-color: var(--brand);
}

/* 히어로 */
.hero-slim{
  position:relative;
  width:100%;
  min-height:85vh;
  display:flex;
  align-items:center;
  justify-content:center;
  background:
    linear-gradient(to bottom, rgba(0,0,0,.38), rgba(0,0,0,.45)),
    url("images/partnership.jpg") center/cover no-repeat;
  color:#fff;
}
.hero-slim-inner{
  text-align:center;
  padding:38px 16px;
  max-width:960px;
  will-change: transform; /* 파랄랙스 부드럽게 */
}
.hero-slim-inner h1{
  font-size: clamp(28px, 4.2vw, 54px);
  font-weight:800;
  text-shadow:0 2px 14px rgba(0,0,0,.35);
  margin-bottom:10px;
}
.hero-slim-desc{
  font-size: clamp(14px, 1.5vw, 18px);
  line-height:1.9;
  text-shadow:0 1px 10px rgba(0,0,0,.30);
}

/* 섹션 */
.partners-section{
  background:#fff;
  padding:124px 20px;
}
.partners-section.alt{
  background:#fafafa;
}
.section-inner{
  max-width:1200px;
  margin:0 auto;
}
.section-head{
  text-align:center;
  margin-bottom:28px;
}
.section-title{
  font-size: clamp(22px, 3.4vw, 36px);
  font-weight:800;
  color:#2a2a2a;
}
.section-sub{
  margin-top:6px;
  font-size: clamp(13px, 1.3vw, 16px);
  color:#6b7280;
}

/* 파트너 카드 */
.partner-grid{
  list-style:none;
  margin:28px 0 0;
  padding:0;
  display:grid;
  grid-template-columns: repeat(3, 1fr);
  gap:22px;
}
@media (max-width:980px){
  .partner-grid{ grid-template-columns: repeat(2, 1fr); }
}
@media (max-width:560px){
  .partner-grid{ grid-template-columns: 1fr; }
}

.partner-card{
  border:1px solid #eee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 6px 22px rgba(0,0,0,.05);
  display:flex;
  flex-direction:column;
  transition:transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}
.partner-card:hover{
  transform:translateY(-3px);
  box-shadow:0 10px 26px rgba(0,0,0,.07);
  border-color:#e7e7e7;
}

/* 로고 영역: 고정 높이로 통일 */
.card-visual{
  display:grid;
  place-items:center;
  background:#fcfcfc;
  padding:26px 18px;
  height: clamp(140px, 18vw, 180px);   /* ← 통일된 높이 */
}
.card-visual img{
  max-width:90%;
  max-height:100%;  /* ← 영역 넘치지 않게 */
  height:auto;
  object-fit:contain;
}
@media (max-width:560px){
  .card-visual{ height:120px; }       /* 모바일에서 살짝 낮춤 */
}

.card-body{
  padding:16px 18px 18px;
}

/* 로고명: 한 줄 높이 통일 + 말줄임표 */
.card-name{
  font-size:18px;
  font-weight:800;
  margin-bottom:6px;

  line-height: var(--name-lh);
  min-height: calc(1em * var(--name-lh) * var(--name-lines)); 

  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;  
}

.card-desc{
  font-size:14px;
  line-height:1.7;
  color:#555;
}

/* 안내 */
.file-hint{
  margin-top:18px;
  font-size:13px;
  color:#7b7b7b;
  text-align:right;
}

/* ===== Reveal (data-reveal 통일) ===== */
[data-reveal]{
  opacity:0;
  transform: translate3d(0, 10px, 0);
  transition: opacity .45s ease, transform .45s ease;
}
.is-revealed{ opacity:1; transform: none; }
[data-reveal="fade-up"]{ transform: translate3d(0, 14px, 0); }
@media (prefers-reduced-motion: reduce){
  [data-reveal]{ opacity:1 !important; transform:none !important; transition:none !important; }
}

/* ===== 푸터 (어두운 배경 + 회색 톤, 모션 없음) ===== */
.site-footer{
  background:#111;
  color:#ccc;
  padding:48px 20px 28px;
  font-size:15px;
  line-height:1.8;
}
.footer-inner{ max-width:1200px; margin:0 auto; }
.footer-top{ display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.footer-logo{ height:32px; width:auto; display:block; }

/* 본문/링크 톤: 회색 */
.footer-info{ color:#aaa; margin-bottom:22px; }
.footer-info a{ color:#aaa; text-decoration:none; }
.footer-info a:hover{ text-decoration:underline; }

/* 구분선 & 하단 영역 */
.site-footer hr{ border:none; border-top:1px solid #333; margin:22px 0; }
.footer-bottom{
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:12px; color:#777;
}
.footer-links a{ color:#aaa; text-decoration:none; margin:0 4px; }
.footer-links a:hover{ text-decoration:underline; }
.footer-copy{ font-size:14px; }

/* 푸터 모션 없음 보장 */
.site-footer, .site-footer * { transition: none !important; }
