:root{--menu-max: 820px}
.site-footer{background:var(--black);color:var(--white);position: relative;z-index: 100;}
.site-footer a{color:var(--white);text-decoration:none}
.site-footer a:hover{opacity:.9}
.ft-inner{width:calc(100% - (var(--pad-x)*2));margin:0 auto;padding:0 0 32px;}

/* 상단 로고 ↔ 메뉴, 하단 라인 */
.ft-head{
  display:flex;justify-content:space-between;align-items:flex-start;
  gap:40px;padding:36px 0 36px;border-bottom:1px solid var(--line);
  margin-bottom: 32px;
}
.ft-brand{
  font-family:"Noto Serif KR",serif;font-weight:700;letter-spacing:.02em;
  width:306px;flex:0 0 306px;font-size:44px;line-height:1
}
.ft-brand img{
  width: 100%;
}

/* 메뉴: flex, 5개 컬럼 한 줄 고정 */
.ft-menu{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:24px;min-width:0;
}
.ft-col{flex: 1;min-width:0;text-align: center;}      /* 5등분 고정 */
.ft-ttl{font-size:20px;font-weight:700;margin:0 0 20px}
.ft-links{list-style:none;margin:0;padding:0}
.ft-links li+li{margin-top:20px}
.ft-links a{color:var(--muted);font-size:16px}
.ft-links a:hover{color:var(--white)}

/* 회사정보 */
.ft-sep{border:0;border-top:1px solid var(--line);margin:18px 0 22px}
.ft-meta{font-size:15px;color:#c8cfdb}
.ft-row{display:flex;flex-wrap:wrap;gap:20px}
.ft-copy{margin-top:10px}

/* 태블릿·모바일: 로고 위, 메뉴 아래. 하위메뉴 숨김. 5컬럼 유지 */
@media (max-width:1024px){
  .ft-head{flex-direction:column;gap:20px;align-items:flex-start}
  .ft-brand{width: 33%;font-size:38px;flex:0 1 auto}
  .ft-menu{gap:12px}
  .ft-col{flex: 1}           /* 5개 한 줄 유지 */
  .ft-links{display:none}         /* 하위메뉴 숨김 */
  .ft-ttl{font-size:18px;margin:0}
}

/* 모바일 좁은 폭: 글자 축소, 한 줄 유지 */
@media (max-width:560px){
  .ft-brand{width: 50%;}
  .ft-brand{font-size:30px}
  .ft-ttl{font-size:16px}
}

/* 푸터 회사정보 줄바꿈 안정화 */
.ft-meta p,
.ft-meta span,
.ft-addr,
.ft-copy{
  white-space: normal;
  overflow-wrap: anywhere;   /* 표준 줄바꿈 */
  word-break: break-word;    /* 백업 */
  min-width: 0;              /* flex 넘침 방지 */
}

/* 작은 화면: 항목을 줄단위로 배치 */
@media (max-width:560px){
  .ft-row{flex-wrap:wrap; gap:8px}
  .ft-row span{flex:1 1 100%}  /* 한 줄에 하나 */
  .ft-addr{margin-top:6px}
}


/* ft-menu 가로폭 축소 버전 */


.ft-menu{
  width:100%;
  max-width:var(--menu-max);        /* 넓어지지 않게 상한 고정 */
  margin-left:auto;                 /* 우측 정렬이면 제거 */
  margin-right:0;                   /* 가운데 정렬 원하면: margin:0 auto */
}

@media (max-width:1280px){
  .ft-menu{max-width:760px}
}
@media (max-width:1120px){
  .ft-menu{max-width:700px}
}
@media (max-width:1024px){          /* 태블릿·모바일은 컨테이너 폭 사용 */
  .ft-menu{max-width:100%}
}
