@import url("https://cdn.jsdelivr.net/gh/orioncactus/pretendard@v1.3.9/dist/web/variable/pretendardvariable.min.css");
/* 래퍼/공통 */
.breadcrumb { display: inline-flex; align-items: center; gap: 2rem; position: absolute; bottom: 2rem; } 
.breadcrumb a { color: #FFF; font-size: clamp(1.4rem, 1.25vw, 1.6rem); font-weight: 400; letter-spacing: -0.032rem; } 
.bc-sep { color: rgba(255, 255, 255, 0.30); font-size: clamp(1.4rem, 1.25vw, 1.6rem); } 

/* 아코디언 아이템 */
.bc-item { position: relative; display: inline-block; } 

/* 토글 버튼 */
.bc-toggle { display: flex; width: 20rem; padding: 1rem; justify-content: space-between; align-items: center; cursor:pointer; } 
.bc-toggle .bc-label { color: #FFF; font-size: clamp(1.4rem, 1.25vw, 1.6rem); font-weight: 400; letter-spacing: -0.032rem; } 
.bc-toggle:focus { outline: none; } 
.bc-toggle[aria-expanded="true"] .bc-arrow { transform: rotate(-180deg); } 

/* 드롭 리스트 */
.bc-list { list-style:none; margin: .4rem 0 0; padding:.6rem 0; position:absolute; left:0; top:100%; min-width: 18rem; background:#fff; border:1px solid #e1e1e1; border-radius:.4rem; box-shadow:0 8px 20px rgba(0,0,0,.08); display:none; z-index: 1; } 
.bc-list li { padding:0; } 
.bc-list a { display:block; padding:.8rem 1.1rem; color:#333; cursor: pointer; } 
.bc-list a:hover { background:#f7f9ff; color:var(--color-main); } 

/* 열림 상태 */
.bc-accordion.is-open > .bc-list { display:block; } 

/*선수상세 경력사항*/
.career-card{padding:0;}
.text-box_player_career{color: #2A2A2A;
    font-size: clamp(1.5rem, 1.41vw, 1.8rem);
    font-weight: 400;
    line-height: 180%;
    letter-spacing: -0.072rem;white-space: pre-wrap;}
    
/*응원가*/
/* 기존 hero-title 스타일 유지하면서 슬라이드 기능 추가 */
  .chant-hero .hero-title {
    color: var(--color47F5B6);
    text-align: center;
    font-size: clamp(1.8rem, 1.88vw, 2.4rem);
    font-weight: 600;
    line-height: 150%;
    letter-spacing: -0.096rem;
    align-items: center;
    position: relative;
    min-height: 50px;
    overflow: hidden;
  }
  
  .lyrics-line {
    width: 100%;
    transition: all 0.5s ease-in-out;
    color: var(--color47F5B6);
    text-align: center;
    font-size: clamp(1.8rem, 1.88vw, 2.4rem);
    font-weight: 600;
    line-height: 150%;
    letter-spacing: -0.096rem;
  }
  
  .lyrics-line.current {
    transform: translateY(0);
    opacity: 1;
    position: relative;
    max-height: 74px;
  }
  
  .lyrics-line.prev {
    transform: translateY(-100%);
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
  }
  
  .lyrics-line.next {
    transform: translateY(100%);
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
  }
  
  /* 가사 레이어 팝업 스타일 */
  .lyrics-popup-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.8);
    display: none;
    justify-content: center;
    align-items: center;
    z-index: 10000;
    animation: fadeIn 0.3s ease;
  }
  
  .lyrics-popup-overlay.active {
    display: flex;
  }
  
  .lyrics-popup {
    background: white;
    border-radius: 12px;
    max-width: 600px;
    width: 90%;
    max-height: 80vh;
    overflow: hidden;
    position: relative;
    animation: slideUp 0.3s ease;
    box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
  }
  
  .lyrics-popup-header {
    padding: 20px 24px;
    border-bottom: 1px solid #e0e0e0;
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: #f8f9fa;
  }
  
  .lyrics-popup-title {
    font-size: 1.8rem;
    font-weight: 700;
    color: #333;
    margin: 0;
  }
  
  .lyrics-popup-close {
    background: none;
    border: none;
    font-size: 2rem;
    cursor: pointer;
    color: #666;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-radius: 50%;
    transition: all 0.2s;
    padding: 0;
    line-height: 1;
  }
  
  .lyrics-popup-close:hover {
    background: #e0e0e0;
    color: #333;
  }
  
  .lyrics-popup-content {
    padding: 32px 24px;
    overflow-y: auto;
    max-height: calc(80vh - 80px);
    font-size: 1.5rem;
    line-height: 2;
    color: #333;
    white-space: pre-wrap;
    word-wrap: break-word;
  }
  
  @keyframes fadeIn {
    from { opacity: 0; }
    to { opacity: 1; }
  }
  
  @keyframes slideUp {
    from {
      transform: translateY(30px);
      opacity: 0;
    }
    to {
      transform: translateY(0);
      opacity: 1;
    }
  }    

/*경기결과*/
 .fx-month{position:relative;z-index: 9;}
  .fx-month .year,
.fx-month .month {
  cursor: pointer;
  padding: 5px; /* 클릭 영역 확보 */
  border-radius: 4px;
}
.fx-month .year:hover,
.fx-month .month:hover {
  background-color: #f0f0f0;
}

/* is-open 클래스를 버튼이 아닌 각 span에 적용 */
.fx-month .year.is-open,
.fx-month .month.is-open {
  font-weight: bold;
  background-color: #eee;
}

/* 드롭다운 기본 스타일 (기존 .month-dropdown과 동일하게) */

.year-dropdown  {
    position: absolute;
    top: 100%;
    left: 50%;
    transform: translateX(-50%);
    margin-top: .6rem;
    background: #fff;
    border: 1px solid #e6e8ea;
    border-radius: 1.2rem;
    box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
    padding: .8rem 0;
    width: 14rem;
    max-height: 22rem;
    overflow-y: auto;
    display: none;
    z-index: 10;
    margin-left: -6%;
}
.year-dropdown li {
    list-style: none;
    text-align: center;
    font-size: 1.7rem;
    padding: .8rem 0;
    cursor: pointer;
    transition: background .2s 
ease;
}
.year-dropdown li.active {
    background: #0b6b46;
    color: #fff;
}
.year-dropdown li:hover { background: #f1f7f4; color: #0b6b46; } 
.year-dropdown.show {
  display: block;
}
.month-btn.is-open .chev {
    transform: rotate(0deg);
}

.month-dropdown{margin-left:6%;}
/* 모든 chev 아이콘에 부드러운 전환 효과 적용 */
.month-btn .chev {
  transition: transform 0.3s ease;
}

/* * 1. .year 태그에 'is-open' 클래스가 붙었을 때
 * 2. 바로 뒤(+)에 오는 형제 요소인 .chev_Y 를 회전
 */
.month-btn .year.is-open + .chev_Y {
  transform: rotate(180deg);
}

/* * 1. .month 태그에 'is-open' 클래스가 붙었을 때
 * 2. 바로 뒤(+)에 오는 형제 요소인 .chev_M 을 회전
 */
.month-btn .month.is-open + .chev_M {
  transform: rotate(180deg);
}

/*개인정보변경*/
.fs20{font-size:20px;}
  .fwbold{font-weight:600;}
  .lh14{line-height:1.4;}
  .fs18{font-size:18px;}
  #verify-account-btn{width:100px;margin-left:1rem;}
   #account .join-form input[disabled] {
    color: #5b5b5b;
    background: #f3f3f3;
    box-shadow: none;
}

/*회원가입*/
#post_wrap{position:fixed;left:50%;top:50%;transform:translate(-50%,-50%);background:rgba(0,0,0,0.5);width:100%;z-index: 999;display: none;}
        .layer_post{width:500px !important;left:50%;top:50%;transform:translate(-50%,-50%);}
        .post_close{position:relative;}
        .post_title.layer_post{    position: relative;
    width: 500px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 999;
    background: #ececec;
    top: 15%;
    padding: 2rem;
    font-size: 20px;
    text-align: center;
    font-weight: 600;    display: flex;
    justify-content: space-between;align-items: center;}
    .post_close,.post_title h1{font-weight: 600; font-size: 20px;}
    .post_close{    background: #fff; 
    width: 100px;
    height: 38px;
    line-height: 38px;
    border-radius: 20px;
    cursor: pointer;}
   /* #header.header.new-header.header--transparent .gnb_wrap .depth_01 span {
    color: #303031;
}
#header.header.new-header.header--transparent .m_menu svg line {
    stroke: #000;
}*/

/*게시판 댓글 */
/* 댓글 수정 textarea 스타일 */
 .edit-textarea {
      width: 100%;
      padding: 12px;
      border: 1px solid #ddd;
      border-radius: 4px;
      font-size: 14px;
      font-family: inherit;
      resize: vertical;
      min-height: 80px;
}
    
.edit-textarea:focus {
      outline: none;
      border-color: #4CAF50;
 }

  /* 답글 들여쓰기 */
 .comment.comment-reply {
     margin-left: 40px;
   }
.fa-solid.fa-reply{ transform: rotate(180deg);    color: #999;font-size: 18px;}
.comment{margin:2rem 0;}

/*개인정보변경 : 회원탈퇴 */
#account .fs14.fgray.td-ul{margin-top:1rem;font-size:24px;margin-right: 1rem;}
#account .fs14.fgray.td-ul span{color: #959595;padding: 0.5rem;border-bottom: 1px solid #cdcdcd;}

/* 팝업 배경 (어둡게 처리) */
.delete-id_modal-overlay {
    display: none; /* 기본적으로 숨김 */
    position: fixed; /* 화면 전체 고정 */
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6); /* 반투명 검은색 배경 */
    z-index: 1000; /* 다른 요소들 위에 표시 */

    /* 팝업 컨텐츠를 중앙 정렬하기 위한 flex */
    justify-content: center;
    align-items: center;
}
.delete-id_modal-overlay .modal-body p{font-size:18px;}

/* 팝업 내용물 박스 */
.delete-id_modal-overlay .modal-content {
    background-color: #fff;
    padding: 24px;
    border-radius: 8px;
    width: 90%;
    max-width: 400px; /* 팝업 최대 넓이 */
    box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
    position: relative;
    text-align: center;
}

/* 팝업 헤더 (제목 + 닫기 버튼) */
.delete-id_modal-overlay .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    border-bottom: 1px solid #eee;
    padding-bottom: 12px;
    margin-bottom: 16px;
}

.delete-id_modal-overlay .modal-title {
    font-size: 20px;
    font-weight: bold;
    margin: 0; /* 기본 마진 제거 */
}

/* 팝업 닫기 (X) 버튼 */
.delete-id_modal-overlay .modal-close {
    font-size: 28px;
    font-weight: bold;
    color: #888;
    background: none;
    border: none;
    cursor: pointer;
    padding: 0 4px;
    line-height: 1;
}
.delete-id_modal-overlay .modal-close:hover {
    color: #000;
}

/* 팝업 본문 */
.delete-id_modal-overlay .modal-body {
    font-size: 16px;
    line-height: 1.5;
    color: #333;
    margin-bottom: 24px;
}

/* 팝업 푸터 (버튼 영역) */
.delete-id_modal-overlay .modal-footer {
    display: flex;
    justify-content: flex-end; /* 버튼을 오른쪽으로 정렬 */
    gap: 8px; /* 버튼 사이 간격 */
}

/* 버튼 기본 스타일 (임시) */
.delete-id_modal-overlay .btn {
    padding: 10px 16px;
    font-size: 16px;
    font-weight: bold;
    border: none;
    border-radius: 6px;
    cursor: pointer;
}

.delete-id_modal-overlay .btn-cancel {
    background-color: #eee;
    color: #555;
}
.delete-id_modal-overlay .btn-cancel:hover {
    background-color: #ddd;
}

.delete-id_modal-overlay .btn-danger {
    background-color: #d9534f;
    color: white;
}
.delete-id_modal-overlay .btn-danger:hover {
    background-color: #c9302c;
}

@media (max-width: 640px) {
.layer_post {
    width: 94% !important;}
}


/* 모바일 폭 좁을 때 살짝 컴팩트하게 */
@media (max-width: 580px){
 .bc-toggle { width: 16rem; } 
 }
@media (max-width: 480px){
 .breadcrumb { gap:.4rem; } 
 .bc-toggle { padding:.5rem .7rem; width: 12rem; } 
 .bc-list { min-width: 14rem; } 
 }


/* 서브페이지 공통 */
 /* ===== sub__header ===== */
 .sub__header { position:relative; min-height:18rem; background:
 linear-gradient(180deg, rgba(0,0,0,.45), rgba(0,0,0,.45)),
 url('../img/team-staff-bg.png') center/cover no-repeat; color:#fff; display: flex; align-items: center; justify-content: center; width: 100%; /* 서브페이지 타이틀 크기 조정 */
 height: 40rem; } 
 /* 재단소개 */
 .sub__header.about { background:
 url('../img/img-sec1-about-bg.png') center/cover no-repeat; } 
 .sub__header.sponsor { background:
 url('../img/img-sec2-bg.png') center/cover no-repeat; } 
 .sub__header.result { background:
 url('../img/img-sub4-bg.png') center/cover no-repeat; } 
 .sub__header.ticket { background:
 url('../img/img-sub5-bg.png') center/cover no-repeat; } 
 .sub__header.fan { background:
 url('../img/img-sub6-bg.png') center/cover no-repeat; } 
 .sub__header.fan { background:
 url('../img/img-sub7-bg.png') center/cover no-repeat; } 

 .sub__header__inner {padding-top: calc(var(--header-h) / 2 + 3rem);height: 100%; display: flex; align-items: center; justify-content: center; } 
 .sub__header h1 { margin:.8rem 0 0; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight:800; } 
 .subpage_title .dt_1 { color: #FFF; text-align: center; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 700; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 
 .subpage_title .dt_2 { color: #FFF; font-size: clamp(2.4rem, 3.75vw, 4.8rem); font-weight: 700; line-height: 150%; /* 7.2rem */
 letter-spacing: -0.192rem; } 
 /* ===== Section Head & Tabs ===== */
 /* .sub-head { display: inline-flex; padding: 8rem 0 4rem; flex-direction: column; align-items: center; gap: 4rem; width: 100%; } */
 .sub-head { display: inline-flex; padding: 2rem 0 4rem; flex-direction: column; align-items: center; gap: 4rem; width: 100%; } 
 .sub-head h2 { color: #2A2A2A; text-align: center; font-size: clamp(2.4rem, 3.75vw, 4.8rem); font-weight: 700; line-height: 150%; /* 7.2rem */
 letter-spacing: -0.192rem; } 
@media (max-width: 768px) {
 .sub-head {padding: 4rem 0;}
 }
 .sub_tabs { display: flex; justify-content: center; align-items: center; /* gap: 8rem; */
 gap: clamp(2rem, 5vw, 8rem); align-self: stretch; } 
 .sub_tab { display: flex; padding: 1rem; justify-content: center; align-items: center; gap: 1rem; border-bottom: 2px solid transparent; color: #2A2A2A; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 500; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 
 .sub_tab[aria-selected="true"] { border-bottom: 2px solid #47F5B6; } 
 .sub_tab:focus-visible { border-bottom: 2px solid #47F5B6; } 
 .sub_tab:hover { border-bottom: 2px solid #47F5B6; } 

 /* ===== card-sub ===== */
 .card-sub { overflow:hidden; display:flex; flex-direction:column; position: relative; cursor: pointer; } 
 .card-sub__thumb { aspect-ratio:4/5; background:var(--colorF4F4F4); } 
 .card-sub__body { height: 7.4rem; border-radius: 1.2rem 1.2rem 0 0; background: url(../img/team-staff-nametag.png) no-repeat center center; display: flex; align-items: center; gap: 1rem; flex: 1 0 0; position: absolute; bottom: 0; width: 100%; padding: 0 2.4rem; background-size: cover; } 
 .card-sub__name { color: #FFF; font-size: clamp(1.5rem, 1.88vw, 2.4rem); font-weight: 700; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; white-space: nowrap; } 
 .card-sub__role { color: #FFF; font-size: clamp(1.4rem, 1.88vw, 2.4rem); font-weight: 300; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; white-space: nowrap; } 

 /* ===== Panels / Grid ===== */
 .panels { padding:2.4rem 0 6.4rem; } 
 .panel[hidden] { display:none; } 
 .grid { display:grid; gap:2rem; grid-template-columns:repeat(16,1fr); } 
 @media (max-width:960px){
 .grid { grid-template-columns:repeat(8,1fr); } 
 }
 @media (max-width:767.98px){
 .grid { grid-template-columns:repeat(8,1fr); } 
 }
 .col-3 { grid-column:span 4; } 
 @media (max-width:1023.98px){
 .col-3 { grid-column:span 4; } 
 }
 @media (max-width:767.98px){
 .col-3 { grid-column:span 4; } 
.panels { padding: 2.4rem 0 6.4rem 0; } 
.card-sub__body { height: 5.4rem; padding: 0 1.6rem; gap: .4rem; } 
 }
@media (max-width:320px){
 .grid { grid-template-columns:repeat(4,1fr); } 
.card-sub__body { height: 4.4rem; } 
 }
main.container { padding-bottom: 12rem; } 
.kogl_mark { width: 100%; display: inline-flex; padding: 4rem 0; flex-direction: column; align-items: center; } 
.kogl_mark img { width: 22rem; } 
/* 선수단 */
.card-sub__num { color: var(--colorCDB061); font-size: clamp(1.6rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; margin-right: 2rem; } 
.card-sub__meta { display: flex; align-items: center; } 
.player-grid .card-sub__body { display: flex; justify-content: space-between; align-items: center; padding-right: 6rem; } 
.player-grid .col-3 { grid-column: span 3; } 
@media (max-width : 960px){
 .player-grid .grid { grid-template-columns: repeat(9,1fr); } 
 }
@media (max-width : 768px){
 .player-grid .grid { grid-template-columns: repeat(6,1fr); } 
 }
@media (max-width : 320px){
 .player-grid .col-3 { grid-column: span 6; } 
 }

/* 선수 디테일 */
 /* 히어로 */
 .player-hero { margin:0 auto 3.2rem } 
 .player-hero__inner { display: flex; width: 100%; height: 58rem; padding: 5.7rem 16rem; justify-content: center; align-items: center; gap: 15rem; background: url(../img/img-player_profile-bg.png) no-repeat center center; background-size: cover; border-radius: 2.1rem; overflow: hidden; } 
 .player-hero__photo img { width:100%; height:auto; border-radius:12px; display:block } 
 .player-hero__header { display: flex; align-items: center; gap: 2rem; } 
 .badge-num { color: var(--colorCDB061); font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; } 
 .badge-pos { display: flex; padding: 0.4rem 1rem; justify-content: center; align-items: center; gap: 1rem; border-radius: 0.4rem; border: 1px solid #FFF; color: #FFF; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 500; line-height: 100%; /* 2rem */
 letter-spacing: -0.08rem; } 
 .player-hero__name { color: #FFF; font-size: clamp(2.4rem, 3.75vw, 6.4rem); font-weight: 700; line-height: 150%; /* 9.6rem */
 letter-spacing: -0.256rem; } 
 .player-hero__facts { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:.8rem 1.2rem; margin:1.2rem 0 1.6rem; padding: 2rem; gap: 2rem; border-radius: 1.2rem; background: rgba(255, 255, 255, 0.20); backdrop-filter: blur(10px); } 
 .player-hero__facts > div { width: 15rem; } 
 .player-hero__facts dt { color: #FFF; font-size: clamp(1.4rem, 1.25vw, 1.6rem); font-weight: 400; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; } 
 .player-hero__facts dd { color: #FFF; font-size: clamp(1.4rem, 1.25vw, 1.6rem); font-weight: 600; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; } 
 .season-select { display: flex; padding: 1rem; justify-content: center; align-items: center; gap: 1rem; align-self: stretch; border-radius: 0.4rem; background: #FFF; color: var(--color-dark); font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 600; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 

 .player-hero__stats { display: flex; padding: 1rem 0; align-items: center; align-self: stretch; } 
 .player-hero__stats .stat { display: flex; flex-direction: column; align-items: center; flex: 1 0 0; border-right: 1px solid rgba(255, 255, 255, 0.20); } 
 .player-hero__stats .stat:last-child { border-right: none; } 
 .stat__label { color: #FFF; text-align: center; font-size: clamp(1.8rem, 1.88vw, 2.4rem); font-weight: 400; line-height: 130%; /* 3.12rem */
 letter-spacing: -0.096rem; } 
 .stat__value { color: #FFF; text-align: center; font-size: clamp(2.4rem, 3.75vw, 4.8rem); font-weight: 700; line-height: 130%; /* 6.24rem */
 letter-spacing: -0.192rem; } 

 /* 섹션 & 테이블 */
 .table-wrap { border-radius: 0; border: 0; overflow: hidden; } 
 .table-wrap thead { } 
.section__title { color: #2A2A2A; font-size: clamp(1.8rem, 1.88vw, 2.4rem); font-weight: 600; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; margin-bottom: 2rem; } 
.tbl { width:100%; border-collapse:separate; border-spacing:0; background:#fff; border-top: 2px solid #D0D0D0; } 
 .tbl thead th { height: 6rem; color: #2A2A2A; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 600; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; background: #F7F7F8; text-align: center; vertical-align: middle; } 
 
 .tbl tbody th { height: 6rem; color: #2A2A2A; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 600; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; text-align: center; vertical-align: middle; border-bottom: 1px solid #E8E8E8; } 
 
 th.highlight { color: var(--color-main) !important; } 
 .tbl tbody td { vertical-align: middle; padding: 1rem; text-align: center; color: #2A2A2A; font-size: clamp(1.4rem, 1.25vw, 1.6rem); font-weight: 300; line-height: 150%; /* 2.4rem */
 height: 5rem; letter-spacing: -0.064rem; border-bottom: 1px solid #E8E8E8; } 

 /* 경력 카드 */
 .career-card { border:1px solid #e6ece8; border-radius:12px; padding:1.6rem; background:#fff; display:flex; gap:2rem } 
 .career-card__year { font-size:2.4rem; font-weight:800; color:#1c5b3b } 
 .career-card__list { margin:0; padding-left:1.2rem } 
 .career-card__list li { color: #2A2A2A; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 400; line-height: 180%; /* 2.7rem */
 letter-spacing: -0.072rem; display: flex; align-items: center; gap: 1rem; } 
 .career-card__list li::before { content: ""; width: 0.3rem; height: 0.3rem; border-radius: 2rem; background: var(--color-dark); } 
 /* 반응형 */
 @media (max-width : 960px){
 .player-hero__inner { padding: 8rem 6rem; gap: 5rem; } 
.player-hero { padding: 0 2rem; } 
 }
 @media (max-width: 860px){
 .player-hero__inner { grid-template-columns:1fr } 
 .player-hero__facts { grid-template-columns:repeat(2,1fr) } 
 .player-hero__stats { gap:1.6rem } 
 }
 @media (max-width : 768px){
 .player-hero__inner { height: 70rem; flex-direction: column; gap: 2rem; padding: 3rem; } 
.player-hero__content { width: 100%; } 
.player-hero__photo { width: 100%; max-width: 24rem; } 
.player-hero__facts { grid-template-columns: repeat(3,1fr); } 
.player-hero__facts > div { width: auto; } 
 }
 @media (max-width:460px){
 .player-hero__facts { grid-template-columns: repeat(2,1fr); } 
.player-hero__inner { height: 74rem; flex-direction: column; gap: 2rem; padding: 2rem; } 
 }


 /* 재단소개 */
.greeting-section { padding: 2rem 0; background: #fff; } 
.greeting-section .inner { max-width: 120rem; margin: 0 auto;} 
.page-title-area { text-align: center; margin-bottom: 6rem; } 
.page-title-area .page-title { font-size: 3rem; font-weight: 700; margin-bottom: 2rem; } 
.greeting-visual img { width: 100%; height: auto; display: block; margin-bottom: 5rem; } 
.greeting-content .slogan img { height: 3.6rem; margin-bottom: 1.5rem; } 
.greeting-subtitle { font-size: 2.4rem; font-weight: 600; line-height: 1.5; margin-bottom: 2rem; } 
.greeting-name { font-size: clamp(1.5rem, 1.41vw, 1.8rem); margin-bottom: 4rem; } 
.greeting-text p { font-size: clamp(1.6rem, 1.56vw, 2rem); line-height: 1.8; margin-bottom: 2rem; } 
.greeting-text .highlight { color: #0EAF75; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
letter-spacing: -0.128rem; } 
.greeting-text .txt_lg { font-size: clamp(2rem, 2.50vw, 3.2rem); color: #2A2A2A; font-weight: 700; line-height: 150%; letter-spacing: -0.128rem; } 
.greeting-bottom img { width: 16rem; margin-top: 3rem; } 



/* 연혁 */
.history-sec { padding: 8rem 0; background:#fff; } 
.history-inner { margin:0 auto;display:flex; gap:6rem; } 

/* 왼쪽 고정 영역 */
.history-visual { width: 65rem; position: relative; } 
.history-visual .visual-wrap { position: sticky; top: 10rem; /* 헤더 높이에 맞춰 조정 */ } 
#historyVisual { width:100%; height:auto; display:block; border-radius: 1.2rem; } 
.fade-layer { position:absolute; inset:0; opacity:0; pointer-events:none; transition:opacity .28s ease; } 

/* 오른쪽 리스트 */
.history-body { flex:1; } 
.history-year { padding: 6rem 0; border-bottom: 1px solid #ececec; } 
.year-title { font-size: 4.8rem; font-weight: 700; line-height: 150%; /* 7.2rem */
 letter-spacing: -0.192rem; margin-bottom: 2rem; } 
.year-desc { font-size:1.6rem; color:#666; margin-bottom:2.4rem; } 
.year-list { padding-left: 2rem; } 
.year-list li { font-size:1.6rem; line-height:1.8; margin: .8rem 0; list-style: disc; } 

/* 활성 연도 표시 */
.history-year.is-active .year-title { color:#0b6b46; text-decoration: underline 0.2rem; text-underline-offset: .4rem; } 

/* 하단 마크 */
.history-mark { padding:4rem 0 2rem; } 
.history-mark img { width:16rem; } 
/* 고정 비주얼 상단 텍스트 */
.visual-meta { display:flex; flex-direction:column; gap:.8rem; margin-bottom: 2rem; } 
.visual-year { color: var(--color-main); font-size: clamp(3.2rem, 7.03vw, 7rem); font-weight: 700; line-height: 150%; /* 10.5rem */
 letter-spacing: -0.28rem; } 
.visual-headline { font-size:1.6rem; color:#555; line-height:1.6; max-width:46rem; transition:opacity .2s, transform .2s; } 
.visual-headline.is-fading { opacity:0; transform:translateY(.6rem); } 

@media (max-width:960px){
 .visual-meta { position:relative; top:0; margin-bottom:1.6rem; } 
 .history-year { padding: 3rem 0; } 
 }

/* 반응형 */
@media (max-width: 960px){
 .history-inner { flex-direction: column; gap:3rem; } 
 .history-visual { width: 100%; } 
 .history-visual .visual-wrap {position: relative;top: 0;border-radius: 0 0 1.2rem 1.2rem;background-color: #ffffff;}
 }


/* 비전 */
.vm-inner { } 
.vm__container { display: flex; padding: 8rem 0; align-items: flex-start; gap: 8rem; align-self: stretch; } 
/* 공통 */
.vm-label { color: #2A2A2A; font-size: clamp(3.2rem, 7.03vw, 7rem); font-weight: 700; line-height: 150%; /* 10.5rem */
 letter-spacing: -0.28rem; } 
.vm-caption { color: #2A2A2A; font-size: clamp(1.5rem, 1.41vw, 2rem); font-weight: 300; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 
.vm-hero { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; gap: 8rem; flex: 1 0 0; } 
.vm-divider { width: 28rem; height: 0.1rem; background: var(--color999); } 
.vm-hero__right { display:flex; flex-direction:column; } 
.vm-hero__right span { color: var(--color-dark); font-size: clamp(3.2rem, 7.03vw, 12rem); font-weight: 800; line-height: 100%; /* 12.8rem */
 letter-spacing: -0.512rem; } 

/* ============ Goals ============ */
.vm-goals { padding:6rem 0; display:flex; flex-direction:column; } 
.goal { display: flex; padding: 4rem 0; flex-direction: column; align-items: flex-start; gap: 2rem; align-self: stretch; border-top: 1px solid #E6E6E6; } 
.goal:first-child { padding-top:0; } 
.goal__ico img { width: 8rem; height: 8rem; } 
.goal__title { color: #2A2A2A; font-size: clamp(2.4rem, 3.75vw, 4.8rem); font-weight: 700; line-height: 150%; /* 7.2rem */
 letter-spacing: -0.192rem; } 
.goal__desc { color: #2A2A2A; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 500; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 
:root { --stagger: 12rem; } 
.vm-values { padding: 6rem 0 4rem; } 
.values__grid { display:grid; grid-template-columns: repeat(2, 1fr); gap: 2.4rem 2.4rem; align-items: start; } 

.vcard:nth-child(2n) { transform: translateY(var(--stagger)); } 

/* 모바일에서는 한 줄로 & 스태거 해제 */
@media (max-width:960px){
 .values__grid { grid-template-columns: 1fr; } 
 .vcard:nth-child(2n) { transform:none; } 
 }
.vcard { display: flex; width: 46rem; padding: 4rem; flex-direction: column; align-items: flex-start; gap: 4rem; background: #F8F8F8; } 
.vcard__no { color: var(--color-main); font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; } 
.vcard__title { color: #2A2A2A; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; } 
.vcard__desc { color: #2A2A2A; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 500; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 

/* ============ Openmark ============ */
.vm-openmark { padding:3.6rem 0 1.2rem; } 
.vm-openmark img { width:16rem; } 

/* ============ Responsive ============ */
@media (max-width: 1024px){
 .vm-hero { grid-template-columns: 1fr; gap:2rem; padding:4rem 0 6rem; } 
 .vm-hero__left:after { display:none; } 
 .vm-hero__right span { font-size: clamp(4.2rem, 8vw, 7.2rem); } 
 .values__grid { grid-template-columns: 1fr; } 
 .vm__container { flex-direction: column; } 
.vcard { width: 100%; padding: 3rem; gap: 2rem; } 
.vm-hero__right span { letter-spacing: -0.2rem; } 
.vm__container { padding: 4rem 0; gap: 2rem; } 
.vm-divider { display: none; } 
.vm-goals { padding: 2rem 0; display: flex; flex-direction: column; } 
.goal { width: 100%; border-top:0; } 
.vm-sec { padding: 0 2rem; } 
 }


/* 조직도 */
.orga-section .pc__img { display: flex; } 
.orga-section .mo__img { display: none; } 
@media (max-width: 1024px){
 .orga-section .pc__img { display: none; } 
.orga-section .mo__img { display: flex; } 
 }

/* 상징물 */
/* Base */
/*.identity-sec { background:#fff; padding:8rem 0 }*/ 
.identity-sec { background:#fff; padding:0rem 0 }
.id-inner { max-width:120rem; margin:0 auto;} 

/* Page head */
.id-pagehead { margin-bottom:4rem } 
.id-title { font-size:3.2rem; font-weight:800; letter-spacing:-.02em } 

/* Block */
/*.id-block { margin-top:4rem }*/ 
.id-block { margin-top:0rem }
.id-block__head { margin-bottom: 4rem; } 
.id-h3 { color: #2A2A2A; font-size: clamp(3.2rem, 7.03vw, 7rem); font-weight: 700; line-height: 150%; /* 10.5rem */
 letter-spacing: -0.28rem; } 
.id-sub__title { color: #2A2A2A; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; } 
.id-sub__desc { color: #2A2A2A; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 300; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 

/* Logo card */
.id-card--logo { padding:4rem 2rem } 
.id-card__media { display: flex; max-height: 56rem; justify-content: center; align-items: center; gap: 1rem; align-self: stretch; } 
.id-card__media img { max-width:40rem; width:100%; height:auto } 

/* Download */
.id-actions { display:flex; justify-content:center; margin:4rem 0 4.8rem } 
/* Palettes */
.palette { margin:4.8rem 0 } 
.palette__head { margin-bottom:1.2rem } 
.palette__title { color: #2A2A2A; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; } 
.palette__desc { color: #2A2A2A; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 300; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 
.swatch { --h:12rem; background:var(--color); border-radius:.8rem; border:1px solid #e8e8e8; height: 30rem; display:flex; align-items:flex-end; padding: 3.2rem; } 
.swatch__label { display: flex; flex-direction: column; align-items: flex-start; gap: 0.4rem; align-self: stretch; } 
.swatch__label span , .swatch__label strong { color: #FFF; font-size: clamp(1.8rem, 1.88vw, 2.4rem); font-weight: 700; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 
.swatch--white { background:#fff } 
.swatch--white .swatch__label span ,.swatch--white .swatch__label strong { background:#fff; color:#222; } 

/* Open mark */
.id-openmark { padding:3.2rem 0 1.2rem } 
.id-openmark img { width:16rem } 

/* Responsive */
@media (max-width:960px){
 .swatch { height: 16rem; padding: 2.2rem; } 
.identity-sec { padding: 0rem 0; } 
 }


/* 게시판 */
/* Base */

/* Title */
.disc-head { margin-bottom:4rem; text-align:center } 
.disc-title { font-size:3.2rem; font-weight:800 } 

/* Controls */
.disc-controls { display:flex; gap:1.2rem; justify-content:flex-end; align-items:center; margin-bottom:1.2rem } 
.select-wrap { position:relative } 
.select-wrap select { appearance:none; -webkit-appearance:none; -moz-appearance:none; border-bottom: 1px solid #E6E6E6; padding:1rem 3.2rem 1rem 1.2rem; background:#fff; min-width: 9rem; position: relative; display: flex; width: 100%; height: 5.4rem; padding: 1rem 0; justify-content: space-between; align-items: center; color: #909090; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 400; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
.select-wrap .arrow { display: flex; width: 2.4rem; height: 2.4rem; flex-shrink: 0; background: url("data:image/svg+xml; utf8,<svg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none'><path d='M7 10L12.0008 14.58L17 10' stroke='%230A090B' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/></svg>") center center no-repeat; background-size: contain; pointer-events: none; position: absolute; bottom: 1.6rem; right: 0; } 
.disc-search { display: flex; width: 100%; max-width: 36.1rem; height: 5.4rem; padding: 1rem 0; justify-content: space-between; align-items: center; border-bottom: 1px solid #E6E6E6; } 
.disc-search input { width:24rem; max-width:40vw; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 400; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
.disc-search input::placeholder { color: var(--color999); } 
.btn-search { width:3.4rem; height:3.4rem; border-radius:.6rem; background:#fff; display:inline-grid; place-items:center; color:#333 } 
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap }
.disc-table { width: 100%; border-collapse: collapse; border-top: 2px solid #222; border-bottom: 1px solid #e8e8e8; } 
.disc-table th,
.disc-table td {cursor: pointer; padding: 2.4rem 0.4rem; font-size: clamp(1.5rem, 1.41vw, 1.8rem); border-bottom: 1px solid #E6E6E6; } 
.disc-table th { border-bottom: 1px solid #E6E6E6; background: #F8F8F8; color: #2A2A2A; font-size: clamp(1.6rem, 1.88vw, 2rem); font-weight: 500; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 
.disc-table td a { color: inherit; text-decoration: none; display: block; font-size: clamp(1.5rem, 1.41vw, 1.8rem); } 
.disc-table tbody tr:hover { background: #f8faf8; }
.col-no { width: 10rem; text-align: center; color: #666; } 
.col-title { text-align: left; padding-left: .6rem;overflow: hidden;text-overflow: ellipsis;} 
.col-date { width: 16rem; text-align: center; color: #666; } 
.col-an { width: 16rem; text-align: center; } 
.an__wait { color: var(--colorCDB061); } 
.an__confirm { color: var(--color999); } 
/* hover */
.disc-tbody .disc-row:hover { background:#f8faf8 } 

/* Pagination */
.pagination { display:flex; gap:1.2rem; justify-content:center; align-items:center; margin:3.2rem 0 2.4rem } 
.page-btn { font-size:1.4rem; padding:.8rem 1.2rem; } 
.page-list { display:flex; gap:.6rem; align-items:center } 
.page-list a { display:inline-flex; align-items:center; justify-content:center; width:4rem; height:4rem; border-radius:.6rem; text-align: center; font-size: 1.7rem; background:#fff; } 
.page-list a.is-active { background:#0b6b46; color:#fff; font-weight: 700; border-color:#0b6b46 } 
.ellipsis { color:#999 } 
.page-list a:hover { background-color: #f8faf8; } 
.page-list a.is-active:hover { background:#0b6b46; } 
/* Open mark */
.disc-openmark { display:flex; justify-content:center; padding:2rem 0 1rem } 
.disc-openmark img { width:16rem } 

/* Responsive */
@media (max-width: 920px){
	.disc-tbody .disc-row .disc-row { grid-template-columns:6rem 1fr 12rem } 
	.disc-tbody .disc-row .col-no {width: 10%;}
	.disc-tbody .disc-row .col-an {width: 12%;}
	.disc-tbody .disc-row .col-title {width: 24rem;max-width: 24rem;}
	.disc-tbody .disc-row .col-author {width: 16%;}
	.disc-tbody .disc-row .col-date {width: 16%;} 
 }
@media (max-width: 640px){
	.disc-controls {justify-content: space-between;}
	.disc-search {position: relative;width: calc(100% - 10.6rem);}
	.disc-search button.btn-search {position: absolute;right: 0;}
	.disc-search input {font-size: clamp(1.5rem, 1.41vw, 1.8rem);max-width: 100%;}
	.qna_list .disc-search {width: calc(100% - 19.6rem);}
	.disc-row { grid-template-columns:1fr; gap:.6rem }
	.disc-thead { display:none } /* 모바일: 헤더 숨김 */
	.disc-cell {vertical-align: middle;}
	.disc-tbody .disc-row .col-no {max-width: 4rem;} 
	.disc-tbody .disc-row .col-an {max-width: 6rem;}
	.disc-tbody .disc-row .col-title {width: 1rem;max-width: 1rem;}
	.disc-tbody .disc-row .col-author {max-width: 3rem;} 
	.disc-tbody .disc-row .col-date {min-width: 8rem;}	
 }
/* 스폰서 */
/* Base */

/* Head */
.sp-head { margin-bottom:4rem; } 
.sp-kicker { font-size:1.6rem; color:#0b6b46; font-weight:800; margin-bottom:.8rem } 
.sp-title { color: #2A2A2A; font-size: clamp(2.4rem, 3.75vw, 4.8rem); font-weight: 700; line-height: 150%; /* 10.5rem */
letter-spacing: -0.28rem; } 
.sp-desc { font-size: clamp(1.8rem, 1.88vw, 2.4rem); font-weight: 700; line-height: 150%; /* 4.8rem */
letter-spacing: -0.128rem; } 

/* Main sponsor card */
.sp-maincard { display: flex; height: 36rem; justify-content: center; align-items: center; gap: 1rem; align-self: stretch; border-radius: 2rem; border: 1px solid #E6E6E6; background: #FFF; box-shadow: 0 20px 50px 0 rgba(0, 0, 0, 0.10); margin-bottom: 4rem; } 
.sp-maincard img { display:block; margin:0 auto; max-width:56rem; width:100%; height:auto } 

/* Sub cards (KIT / MEDICAL) */
.sp-subcards { display:grid; grid-template-columns: 1fr 1fr; gap:2rem; margin-bottom:4rem; } 
.sp-sub { display: flex; padding: 4rem 2rem; flex-direction: column; align-items: center; gap: 5rem; flex: 1 0 0; border-radius: 2rem; background: #4A6656; } 
.sp-sub--medical { background:#3a8b73; } 
.sp-sub__title { color: #FFF; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 600; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; } 
.sp-sub__logo img { max-width:22rem; width:100%; height:auto; /*filter:brightness(0) invert(1); */opacity:.95 } 
.sp-sub__logos { display: flex; justify-content: center; align-items: center; gap: 2rem; } 
.sp-sub__logos img { height: auto; max-height:7rem; width:auto; /*filter:brightness(0) invert(1);*/ opacity:.95 } 

/* Official sponsor grid */
.sp-official { margin-top:1rem } 
.sp-official__title { color: #2A2A2A; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; margin-bottom: 4rem; } 
.sp-grid { display:grid; grid-template-columns: repeat(6, 1fr); gap: 2.4rem 2rem; align-items:center; } 
.sp-grid li { list-style:none } 
.sp-grid img { max-height:8rem; width:auto; display:block; margin:0 auto; filter: none; opacity: .95; transition: transform .15s ease, opacity .15s ease; } 
.sp-grid img:hover { transform: translateY(-.2rem); opacity:1 } 

/* Openmark */
.sp-openmark { display:flex; justify-content:center; padding:3.2rem 0 1.2rem } 
.sp-openmark img { width:16rem } 

/* Responsive */
@media (max-width: 1120px){
 .sp-grid { grid-template-columns: repeat(5, 1fr); } 
 }
@media (max-width: 920px){
 .sp-subcards { grid-template-columns: 1fr; } 
 .sp-grid { grid-template-columns: repeat(4, 1fr); } 
 .sp-maincard img { max-width: 28rem; } 
 }
@media (max-width: 640px){
 .sp-grid { grid-template-columns: repeat(3, 1fr); gap:1rem } 
 .sp-grid img { max-height: 4rem; } 
 /*.page-list .ellipsis { display: none; } */
 /* .page-list li:last-child { display: none; } 251205 게시판 페이지네이션 문제로 주석 처리 */
 .pagination { display: flex; gap: .4rem; justify-content: center; align-items: center; margin: 2rem 0; } 
.page-list a { width: 3.2rem; height: 3.2rem; font-size: 1.5rem; } 
.sp-maincard { height: 24rem; margin-bottom: 2rem; } 
.sp-sub__logos { flex-direction: column; } 
.page-btn {
    font-size: 0;}
 }
@media (max-width: 420px){
 .sp-grid { grid-template-columns: repeat(2, 1fr); } 
 }

/* 매치 */
.fixtures-sec { max-width: var(--container); width: 100%; } 
.fx-inner { width: 100%; display: flex; padding: 8rem 0; flex-direction: column; align-items: center; gap: 4rem; } 
/* NEXT card */
.next-card { position: relative; display: flex; padding: 4rem 0; flex-direction: column; align-items: center; gap: 4rem; align-self: stretch; border-radius: 4rem; overflow: hidden; border-radius: 4rem; background: url(../img/img-result-sec-bg1.png) center center no-repeat; background-size: cover; width: 100%; } 
.next-body { display: flex; padding: 4rem 0; flex-direction: column; align-items: center; width: 100%; gap: 4rem; align-self: stretch; } 
.next-kicker { color: #FFF; text-align: center; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 5.4rem */
 letter-spacing: -0.144rem; } 
.next-meta { display:flex; gap:.6rem } 
.badge { display: flex; justify-content: center; align-items: center; gap: 1rem; align-self: stretch; color: #FFF; text-align: center; font-size: clamp(1.5rem, 2.50vw, 2rem); font-weight: 600; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 
.badge.home { display: flex; height: 3.6rem; padding: 1rem 2rem; justify-content: center; align-items: center; gap: 1rem; border-radius: 9.9rem; background: rgba(44, 134, 83, 0.68); backdrop-filter: blur(2px); color: #FFF; text-align: center; font-size: clamp(1.5rem, 2.50vw, 2rem); font-weight: 400; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 
.next-row { display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:2rem; margin-top:.4rem } 
.next-team { display:flex; align-items:center; gap:.8rem } 
.next-team img { width: 10.8rem; height: 10.8rem; object-fit:contain; filter:drop-shadow(0 2px 6px rgba(0,0,0,.35)) } 
.next-vs { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 1rem;width: max-content;} 
.next-vs time { color: #FFF; text-align: center; font-size: clamp(1.5rem, 2.50vw, 1.8rem); font-weight: 600; line-height: 100%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
.next-vs em { color: #FFF; text-align: center; font-size: clamp(1.5rem, 2.50vw, 1.8rem); font-weight: 600; line-height: 100%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
.btn-book { margin-top:auto; align-self:flex-start; display:inline-flex; gap:.6rem; align-items:center; background:#1aa276; color:#fff; border-radius:3rem; padding:1.0rem 1.6rem; font-weight:800; font-size:1.4rem } 
.fc-name { color: #FFF; text-align: center; font-size: clamp(1.8rem, 2.50vw, 2.4rem); font-weight: 600; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 
.m-loca { display: flex; align-items: center; gap: 0.4rem; } 
/* Month selector */
.fx-month { position: relative; display: flex; justify-content: center; align-items: center; gap: 4rem; align-self: stretch; border-bottom: 1px solid #E6E6E6; width: 100%; } 
.month-btn { display: flex; justify-content: center; align-items: center; gap: 2rem; cursor: pointer; color: #2A2A2A; font-size: clamp(1.8rem, 2.50vw, 4rem); font-weight: 700; line-height: 150%; /* 6rem */
 letter-spacing: -0.16rem; } 
.month-btn strong { color: #2A2A2A; font-size: clamp(1.8rem, 2.50vw, 4rem); font-weight: 700; line-height: 150%; /* 6rem */
 letter-spacing: -0.16rem; }
.month-btn.is-open .chev { transform: rotate(180deg); } 

/* 드롭다운 */
.month-dropdown { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); margin-top: .6rem; background: #fff; border: 1px solid #e6e8ea; border-radius: 1.2rem; box-shadow: 0 6px 20px rgba(0,0,0,.08); padding: .8rem 0; width: 14rem; max-height: 22rem; overflow-y: auto; display: none; z-index: 10; } 
.month-dropdown.show { display: block; } 
.month-dropdown li { list-style: none; text-align: center; font-size: 1.7rem; padding: .8rem 0; cursor: pointer; transition: background .2s ease; } 
.month-dropdown li:hover { background: #f1f7f4; color: #0b6b46; } 
.month-dropdown li.active { background: #0b6b46; color: #fff; } 

/* List */
.fx-list { display:flex; flex-direction:column; gap:1rem; width: 100%; } 
.fx-item { border-bottom: 1px solid #E6E6E6; width: 100%; } 
.fx-link { display: flex; padding: 2rem 0; justify-content: space-between; align-items: center; align-self: stretch; } 
.fx-link:hover { background:#f8fbf9 } 
.fx-col.left { display: flex; align-items: center; gap: 4rem; width: 36rem; } 
.fx-col.right { width: 36rem; } 
.round { display: flex; flex-direction: column; align-items: flex-start; gap: 0.4rem; font-size: clamp(1.4rem, 2.50vw, 1.6rem); font-weight: 700; letter-spacing: -0.064rem; } 
.round strong { font-size: clamp(1.4rem, 2.50vw, 1.6rem); font-weight: 700; letter-spacing: -0.064rem; } 
.dt { display: flex; flex-direction: column; align-items: flex-start; gap: 0.4rem; } 
.dt time { color: #2A2A2A; font-size: clamp(1.4rem, 2.50vw, 1.8rem); font-weight: 700; letter-spacing: -0.072rem; } 
.dt p { font-size: clamp(1.4rem, 2.50vw, 1.8rem); } 
.fx-col.mid { display:grid; grid-template-columns:1fr auto 1fr; gap: 4rem; align-items:center } 
.team img { width: 4.8rem; max-height:6rem; object-fit:contain } 
.team .name { color: #2A2A2A; font-size: clamp(1.6rem, 2.50vw, 2.4rem); font-weight: 600; letter-spacing: -0.096rem; }
.score span { font-family: 'KoreaInstituteOfMachineryAndMaterials'; font-weight: 700; font-size: clamp(2rem, 2.50vw, 3.2rem); color: var(--color999); } 
.fx-col.right { display:flex; justify-content:flex-end } 
.btn-outline { display: flex; width: 12rem; height: 4.8rem; padding: 0 1rem; justify-content: space-between; align-items: center; border-radius: 0.4rem; border: 1px solid #2E533E; background: #FFF; } 
.btn-outline span { background: #FFF; color: #2E533E; font-size: clamp(1.4rem, 2.50vw, 1.8rem); font-weight: 600; letter-spacing: -0.072rem; } 
/* Openmark */
.fx-openmark { display:flex; justify-content:center; padding:2.4rem 0 1.2rem } 
.fx-openmark img { width:16rem } 

/* Responsive */
@media (max-width:960px){
 .next-bg { height:30rem } 
 .fx-link { grid-template-columns:1fr; gap:.6rem } 
 .fx-col.right { justify-content:flex-start } 
 }
@media (max-width:640px){
 .next-row { grid-template-columns:1fr; justify-items:flex-start } 
 .score { font-size:1.8rem } 
 }


/* 경기결과 상세페이지 */
/* Base */
/* .match-sec { background:#fff; padding:8rem 0 } 
.match-inner { max-width:120rem; margin:0 auto; padding:0 2rem } */
/* ===== Match Card ===== */
.match-inner , .match-sec { display: flex; flex-direction: column; align-items: center; gap: 4rem; width: 100%; } 
.match-inner .table-wrap { width: 100%; } 
.match-card { display: flex; width: 100%; height: 28.8rem; padding: 2rem 0; justify-content: center; align-items: center; gap: 4rem; align-self: stretch; background: url(../img/img-result-sec-bg2.png); border-radius: 2rem; overflow: hidden; } 
.mc-row { display: flex; padding: 2rem 0; justify-content: center; align-items: center; gap: 4rem; align-self: stretch; } 
.team { display: flex; gap: 4rem; } 
.team .emblem { width:6.4rem; height:6.4rem; object-fit:contain; filter:drop-shadow(0 2px 6px rgba(0,0,0,.35)) } 
.team .name { font-size:1.6rem; font-weight:800 } 
.badge.lose { color: var(--color999); font-size: clamp(1.6rem, 2.50vw, 2.4rem); font-weight: 600; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 
.badge.win { color: var(--color47F5B6); text-align: center; font-size: clamp(1.6rem, 2.50vw, 2.4rem); font-weight: 600; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 
.scorebox { display:flex; align-items: center; gap: 4rem; }
.match-inner .result_list {font-size: clamp(1.6rem, 2.3vw, 2rem);}


/* ===== Lineup / Substitutions ===== */
.match-lineup { width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 2rem; } 
.sec-ttl {margin-bottom: 1rem;color: #2A2A2A; font-size: clamp(2rem, 2.8vw, 2.6rem); font-weight: 600; letter-spacing: -0.096rem; } 
.chip-grid { display:grid; grid-template-columns:repeat(5,1fr); gap:1rem; } 
.chip { border-radius: 0.8rem; overflow: hidden; display: flex; width: 26rem; height: 7.4rem; padding: 1.3rem 2.4rem; align-items: center; gap: 1rem; flex-shrink: 0; background: url(../img/img-result-player-name.svg) no-repeat center center; background-size: cover; } 
.chip .no { color: #CDB061; font-size: clamp(1.6rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; } 
.chip .player { color: #FFF; font-size: clamp(1.6rem, 2.50vw, 2.4rem); font-weight: 700; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 
.chip .pos { color: #FFF; font-size: clamp(1.6rem, 2.50vw, 2.4rem); font-weight: 500; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 

/* Responsive */
@media (max-width:960px){
 .mc-bg img { height:26rem } 
 .chip-grid { grid-template-columns:repeat(3,1fr) } 
 }
@media (max-width:640px){
 .mc-row { grid-template-columns: 1fr; row-gap: 1.2rem; justify-items: center; flex-direction: column; } 
 .team { flex-direction:column; } 
 .team .name { font-size:1.4rem } 
 .score { font-size:4.2rem } 
 .meta { font-size:1.1rem } 
 .chip-grid { grid-template-columns:repeat(2,1fr) }
 .chip { display: flex; width: 100%; height: 7.4rem; padding: 1.3rem 2.4rem; align-items: center; gap: 1rem; flex-shrink: 0; background: url(../img/img-result-player-name.svg) no-repeat center center; } 
 }
@media (max-width:420px){
 .chip-grid { grid-template-columns:1fr } 
 }


/* 티켓 */
.ticket-wrap { padding: 8rem 0; width: 100%; } 
.seat-illustration { margin-bottom: 4rem; display: flex; justify-content: center; flex-direction: column; } 
.seat-illustration img { max-width: 100%; height: auto; } 

/* Section Title */
.sec-title { font-size: clamp(1.5rem, 1.41vw, 2rem); font-weight: 700; margin: 4rem 0 1.5rem; } 

/* Table */
.table-box { width: 100%; overflow-x: auto; } 
.style-table { width: 100%; border-collapse: collapse; font-size: 1.4rem; } 
.style-table th,
.style-table td { border: 1px solid #ddd; padding: 1.2rem; text-align: center; } 
.style-table thead th { background: #f5f7f6; font-weight: 700; } 

/* Note Section */
.note-list { padding: 3rem; gap: 1rem; border-radius: 2rem; border: 1px solid #E6E6E6; background: #F7F7F8; } 
.note-list li { color: #2A2A2A; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 300; line-height: 180%; /* 2.7rem */
 letter-spacing: -0.072rem; } 

/* 시즌권 */
.season-wrap { width: 100%; max-width: var(--container); } 
.inner { width: 100%; max-width: var(--container); } 
.season-img img { display: block; margin: 0 auto 4rem; max-width: 150rem; width: 100%; } 
.tbl.tbl-row tbody th { background: #F7F7F8; } 
.btn-area { text-align: center; margin: 3rem 0; } 

.openmark { text-align: center; margin-top: 2rem; } 
.openmark img { width: 14rem; } 

.membership-wrap { width: 100%; max-width: var(--container); } 

.ms-hero { display:flex; justify-content:center; margin-bottom:3.2rem } 
.ms-hero img { max-width: 150rem; width:100%; height:auto; border-radius:.8rem } 

/* 좌석 안내 */
.ms-seat { display:grid; grid-template-columns:28rem 1fr; gap:2rem; align-items:start; margin-top:2.4rem } 
.seat-guide-card { display: flex; padding: 4rem; flex-direction: column; align-items: flex-start; gap: 1rem; border-radius: 2rem; background: #F7F7F8; } 
.seat-guide-card h4 { font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 500; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 
.seat-guide-card ul li { font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 300; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
.seat-illust img { width:100%; height:auto; border-radius:.6rem; border:1px solid #eee } 

/* FAQ */
.ms-faq { margin-top:4rem } 
.faq { display: flex; padding: 4rem; flex-direction: column; justify-content: center; align-items: flex-start; gap: 4rem; align-self: stretch; border-radius: 2rem; border-bottom: 1px solid #F7F7F8; background: #F7F7F8; } 
.faq-q { display:flex; align-items:center; gap:.6rem; padding:1.6rem 1.4rem; font-weight:500; cursor:pointer; font-size: clamp(1.8rem, 1.88vw, 2.4rem); } 
.q-icon { color:#0b6b46; font-size: clamp(1.8rem, 1.88vw, 2.4rem); } 
.faq[open] .faq-q { background:#f3f7f5 } 
.faq-a { padding:1.4rem 1.6rem; color: #2A2A2A; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 400; line-height: 150%; /* 3rem */
letter-spacing: -0.08rem; } 

/* 반응형 */
@media (max-width:960px){
 .ticket-wrap { padding: 4rem 2rem; width: 100%; } 
 .ms-seat { grid-template-columns:1fr } 
 .faq { padding: 1rem; gap: 1rem; border-radius: 1.2rem; } 
.seat-guide-card { padding: 3rem; } 
 }


/* 게시판 뷰어 */
.bview-head { padding: 8rem 0; flex-direction: column; justify-content: center; align-items: center; display: flex; gap: 2rem; } 
.bview-head .bview-title { text-align: center; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 5.4rem */
 letter-spacing: -0.144rem; } 
.bview-meta { display: flex; justify-content: flex-end; align-items: flex-start; gap: 4rem; align-self: stretch; } 
.bview-meta > div { display: flex; align-items: center; gap: 1rem; } 
.sr-view { color: #2A2A2A; text-align: center; font-size: clamp(1.4rem, 1.25vw, 1.6rem); font-weight: 700; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; } 
.bview-meta .sr-view { color: #2A2A2A; text-align: center; font-size: clamp(1.4rem, 1.25vw, 1.6rem); font-weight: 700; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; } 
.bview-author , .bview-date , .bview-views { color: var(--color999); text-align: center; font-size: clamp(1.4rem, 1.25vw, 1.6rem); font-weight: 400; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; } 
.bview-body { display: flex; padding: 4rem 0; flex-direction: column; align-items: flex-start; align-self: stretch; border-top: 1px solid #2A2A2A;}
/* 첨부/태그 영역 옵션 */
.bview-attach { padding: 1.6rem 2rem; border-top:1px solid #f5f5f5; } 
.attach-list { margin:0; padding:0; list-style:none; display:flex; gap:1.2rem; flex-wrap:wrap; } 
.attach-list a { font-size: clamp(1.5rem, 1.41vw, 1.8rem); color: var(--color-main); } 

/* 액션 버튼 (이전/목록/다음) */
.bview-actions { display: flex; justify-content: space-between; align-items: flex-start; align-self: stretch; margin-top: 4rem; } 
.bview-actions .spacer { flex:1; } 
.btn-line { display: flex; height: 5.6rem; padding: 0 2rem; justify-content: center; align-items: center; gap: 1rem; border-radius: 0.8rem; border: 1px solid #E6E6E6; background: #FFF; color: #070707; text-align: center; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 600; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; transition: background 0.3s; } 

.btn-line:hover { background:#f6faf8; } 

.btn-text { padding:.4rem .6rem; background:transparent; border:0; color:#6b7a72; cursor:pointer; } 
.btn-text:hover { color:#2E533E; } 

/* ----- 댓글 ----- */
.comment-wrap { margin-top: 4rem; display: flex; padding: 3rem; flex-direction: column; align-items: flex-start; gap: 2rem; border-radius: 0.6rem; border: 1px solid #E8E8E8; background: #FFF; } 
.comment-form { display: flex; height: 14rem; padding: 1rem; align-items: center; gap: 1rem; align-self: stretch; border-radius: 0.4rem; border: 1px solid #D5D6D9; background: #FAFAFA; } 
textarea { display: flex; padding: 2rem; align-items: flex-start; gap: 1rem; flex: 1 0 0; border-radius: 0.4rem; border: 1px solid #D5D6D9; background: #FFF; color: #070707; font-family: "Pretendard Variable"; font-size: 1.5rem; font-weight: 300; line-height: 100%; /* 1.5rem */
 letter-spacing: -0.06rem; } 
textarea::placeholder { color: var(--color999); } 
textarea:focus { border-color: var(--color999); } 
.btn-submit { display: flex; padding: 0.8rem 2.7rem; justify-content: center; align-items: center; gap: 1rem; border-radius: 0.6rem; border: 1px solid var(--color-dark); background: var(--color-dark); color: #FFF; font-size: 1.6rem; font-weight: 400; line-height: 100%; /* 1.6rem */
 letter-spacing: -0.064rem; height: calc(100% - 1.6rem); } 
/* 댓글 리스트 */
.comment-list { width: 100%; } 
.comment { display: flex; width: 100%; flex-direction: column; align-items: flex-start; gap: 1rem; align-self: stretch; width: 100%; } 
.cmt-head { display: flex; justify-content: space-between; align-items: center; align-self: stretch; } 
.cmt-head > div { display: flex; align-items: center; gap: 1rem; } 
.cmt-author { font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 600; line-height: 100%; /* 1.8rem */ } 
.cmt-date { color: var(--color999); font-size: clamp(1.3rem, 1.02vw, 1.4rem); font-weight: 600; } 
.cmt-tools { display: flex; align-items: center; gap: 1rem; } 
.cmt-tools button { font-size: clamp(1.4rem, 1.25vw, 1.6rem); font-weight: 300; line-height: 100%; /* 1.6rem */ } 
.cmt-body { display: flex; padding: 2rem; align-items: center; gap: 1rem; align-self: stretch; border-radius: 0.4rem; background: #FAFAFA; width: 100%; font-size: clamp(1.5rem, 1.41vw, 1.8rem); } 

@media (max-width:960px){
.bview-meta { display: flex; justify-content: space-between; align-items: center; gap: 2rem; } 
.bview-body { padding: 2rem 0; } 
.bview-body img { width: 100%; } 
.comment-wrap { padding: 2rem; } 
 }
 @media (max-width: 960px) {
}

/* 응원가 */
/* 히어로 */
.chant-hero {max-width: var(--container); margin: 4rem auto; } 
.chant-hero .hero-media { display: flex; height: 28.8rem; padding: 2rem 0; flex-direction: column; justify-content: center; align-items: center; gap: 4rem; border-radius: 2rem; background: url(../img/img-song-bg.png) no-repeat 0% 0%; background-size: cover; } 
.audio-custom { display: flex; align-items: center; gap: 1rem; width: 100%; max-width: 100%; color: #fff; } 

.audio-play { width: 16px; height: 16px; border: none; background: transparent; color: white; font-size: 16px; cursor: pointer; } 

.audio-progress { flex: 1; height: 6px; background: rgba(255, 255, 255, 0.3); border-radius: 3px; cursor: pointer; position: relative; } 

.audio-progress-bar { position: absolute; top: 0; left: 0; height: 6px; width: 0%; background: #fff; /* 원하는 녹색 */
 border-radius: 3px; } 
.audio-time span { color: #FFF; text-align: center; font-size: 1.3rem; font-weight: 400; line-height: 150%; /* 1.95rem */
 letter-spacing: -0.052rem; } 
.audio-time { font-size: 14px; white-space: nowrap; } 
.chant-hero .hero-body { display: flex; padding: 2rem 0; flex-direction: column; justify-content: center; align-items: center; gap: 2rem; max-width: 88rem; width: 100%; } 
.chant-hero .kicker { color: #FFF; text-align: center; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 400; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
.chant-hero .hero-title { color: var(--color47F5B6); text-align: center; font-size: clamp(1.8rem, 1.88vw, 2.4rem); font-weight: 600; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; align-items: center; } 
.chant-hero .hero-audio { width:100%; max-width:80rem } 

/* 리스트 */
.chant-grid { display:grid; grid-template-columns:repeat(3,1fr); gap:2rem; list-style:none; margin:0; padding:0; margin-top: 4rem; } 
.chant-item { display: flex; padding: 4rem 2rem; justify-content: space-between; align-items: flex-start; border-radius: 0.8rem; border: 1px solid transparent; background: #F7F7F8; cursor: pointer; } 

.chant-title { color: #595757; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 500; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
.chant-actions { display: flex; align-items: flex-start; gap: 2rem; } 
.icon-btn { width: 2.4rem; height: 2.4rem; } 

.chant-item:hover { border-radius: 0.8rem; border: 1px solid #A4E2CB; background: rgba(71, 245, 182, 0.10); } 
.chant-item:hover .chant-title { color: #40AF8C; } 
.chant-item:hover .icon-btn svg path { /* fill: #40AF8C; */
 stroke: #40AF8C; } 

/* 접근성 도움 */
.sr-only { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap } 

/* 반응형 */
@media (max-width:960px){
	.chant-grid { grid-template-columns:repeat(2,1fr) } 
	.chant-hero .hero-title { gap:1rem; padding: 1rem 2rem; } 
	.chant-hero .hero-media { padding: 2rem; } 
 }
@media (max-width:640px){
 .chant-grid { grid-template-columns:1fr } 
 }
/* 원정버스 */
.btn-status { padding: 0.4rem 1.6rem; gap: 1rem; border-radius: 9.9rem; background: var(--color-main); color: #FFF; font-size: clamp(1.4rem, 1.25vw, 1.6rem); font-weight: 400; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; cursor: pointer; } 
.btn-status.disabled { background: #595757; } 
@media (max-width:960px){
	.bus-sec .tbl tbody td { padding: 1rem 0; }
 }
/* 아카데미 */

/* ===== Hero / Banners ===== */
.hero-illust, .intro-illust { margin:4rem 0; } 
.intro-illust { border-radius: 4rem; background: #009C6D; overflow: hidden; background-size: cover; display: flex; height: 44.4rem; padding: 4rem; align-items: flex-start; flex-direction: column; gap: 4rem; position: relative; } 
.intro-illust h1 { color: #FFF; font-size: clamp(1.7rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.192rem; } 
.intro-illust p { color: #FFF; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 400; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 
.hero-illust img { width:100%; height:auto; border-radius:1.2rem; display:block; } 
.intro-illust img { width:auto; max-height:33rem; position: absolute; bottom: 4rem; right: 4rem; object-fit: contain; } 
/* ===== Table (공통 규칙) ===== */
.table-wrap { margin:2.4rem 0; } 
.tbl { width:100%; border-collapse:collapse; background:#fff; border-radius:.8rem; overflow:hidden; } 
.tbl thead th { background:#f7f9f8; font-weight:800; } 
.tbl th, .tbl td { padding:1.4rem 1.2rem; border-bottom:1px solid #eef2f1; font-size:1.4rem; } 
.tbl tbody tr:last-child th, .tbl tbody tr:last-child td { border-bottom:none; } 
.t-left { text-align:left; } 
.t-right { text-align:right; } 

/* ===== Feature Cards ===== */
.feature-cards { display:grid; grid-template-columns: 1fr 1fr; gap:2rem; margin:2.4rem 0; } 
.fcard { position:relative; border-radius:1.2rem; padding:2rem; color:#fff; overflow:hidden; min-height:22rem; display:flex; flex-direction:column; gap:1.2rem; justify-content:space-between; height: 53rem; } 
.fcard h3 { color: #FFF; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; } 
.fcard img { height:28rem; object-fit:contain; position: absolute; bottom: 4rem; right: 4rem; } 
.fcard.-blue { background:#3562F5; } /* 포인트 블루 */
.fcard.-yellow { background:#FFC861; color:#1d1d1d; } 

/* ===== Program Flow (chips) ===== */
.program-flow { margin:2.4rem 0 1.2rem; } 
.pg-chips
 {
 list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:1rem; align-items: center; } 
.pg-chip { display: flex; width: 24.8rem; padding: 1.6rem 3rem; justify-content: center; align-items: center; gap: 1rem; border-radius: 9.9rem; background: #5BD690; color: #FFF; font-size: clamp(1.8rem, 1.88vw, 2.4rem); font-weight: 700; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 

/* ===== Vision ===== */
.vision { margin:3.2rem 0 2rem; } 
.vision-quote { font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; margin-bottom: 4rem; } 
.vision-desc { font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 300; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
.vision-graph { margin:2rem 0; } 
.vision-graph img { width:100%; height:auto; display:block; } 
.tbl-kv tbody tr { display:grid; grid-template-columns: 18rem minmax(0,1fr) 18rem minmax(0,1fr); /* th, td, th, td */
 column-gap: 3.2rem; row-gap: .8rem; /* 모바일에서 2줄로 떨어질 때 간격 */ } 

/* 좌측 key(제목) 스타일 */
.tbl-kv .t-left { color: #2E533E; font-size: clamp(1.8rem, 1.88vw, 2.4rem); font-style: normal; font-weight: 700; line-height: 100%; /* 2.4rem */
 letter-spacing: -0.048rem; } 

/* 우측 value(내용) 스타일 */
.tbl-kv .t-right { text-align:left; /* 내용은 좌정렬이 더 자연스럽습니다 */
 font-size: clamp(1.6rem, 1.56vw, 2rem); color:#1f1f1f; border:0; } 
#panel-kids { width: 100%; display: flex; flex-direction: column; gap: 4rem; } 
/* 행 간격 여유 */
.tbl-kv tbody tr + tr { margin-top: .8rem; } 

/* 반응형: 2단 → 1단(두 쌍을 두 줄로) */
@media (max-width: 768px){
 .tbl-kv tbody tr { grid-template-columns: 12rem minmax(0,1fr); /* th, td만 두고 다음 쌍은 아래 줄 */ } 
 .tbl-kv tbody tr > :nth-child(1) { grid-column:1; } /* 1번째 th */
 .tbl-kv tbody tr > :nth-child(2) { grid-column:2; } /* 2번째 td */
 .tbl-kv tbody tr > :nth-child(3) { grid-column:1; } /* 3번째 th (다음 줄 왼쪽) */
 .tbl-kv tbody tr > :nth-child(4) { grid-column:2; } /* 4번째 td (다음 줄 오른쪽) */

 .tbl-kv .t-left { font-size:1.8rem; text-align: left; height: auto; } 
 .tbl-kv .t-right { font-size:1.6rem; } 
 .tbl-kv tbody tr + tr { margin-top: 0rem; } 
 .pg-chips { flex-direction: column; } 
 .pg-chips svg { transform: rotate(90deg); } 
 .aca__info {gap: 1rem; } 
.academy-intro .desc { margin-top: 0rem !important; } 
.table-wrap .tbl-kv th { height: auto; }
#main .aca__info {gap: 0rem; border: none; } 
 .academy-intro { text-align: center; margin: 0 !important; } 
.academy-visual , .academy-intro, .aca__info , .academy-vision {margin: 0; } 
.aca__info > section { width: 100%; margin: 1rem 0; } 
 }
/* ===== Utilities ===== */
.mt20 { margin-top:2rem !important; } 

/* ===== Responsive ===== */
@media (max-width: 1024px){
 .feature-cards { grid-template-columns: 1fr; } 
 }
@media (max-width: 640px){
 .academy-vision .vision-desc p { margin-top: 1rem !important } 
 }
/* 반응형 필요 */




/* 여성 아카데미 */

/* ========== Visual ========== */
.academy-visual .img { position: relative; border-radius:1.2rem; overflow:hidden; } 
.academy-visual img { width:100%; height:auto; display:block; } 
.academy-visual .txt-box { position:absolute; left:3rem; bottom:3rem; right:3rem; color:#fff; text-shadow:0 2px 8px rgba(0,0,0,.35); } 
.academy-visual .txt-box .sub { font-size:2rem; margin:0 0 .6rem; font-weight:700; } 
.academy-visual .txt-box .main { font-size:3.2rem; margin:0; font-weight:900; line-height:1.25; } 

/* ========== Intro ========== */
.academy-intro { text-align:center; margin: 4rem 0 } 
.academy-intro .sec-title { text-align: center; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
letter-spacing: -0.128rem; } 
.academy-intro .desc { text-align: center; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 300; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; margin-top: 4rem; } 
.aca__info { display: flex;flex-direction: column; justify-content: center; align-items: flex-start; gap: 2rem; align-self: stretch; border-radius: 1.2rem; border: 1px solid #E6E6E6; background: #FFF; } 
.aca__info > section { width: 100%; } 
/* Key-Value 2쌍 한 줄 (th,td,th,td) */
.tbl-kv tbody tr { display:grid; grid-template-columns: 18rem minmax(0,1fr) 18rem minmax(0,1fr); column-gap:3.2rem; row-gap:.8rem; } 
.table-wrap .tbl-kv th { color:#2E533E; border:0; border-bottom: none !important; } 
.tbl-kv td { height: auto !important; border-bottom: none !important; } 

/* ========== Note ========== */
.academy-note { margin: 1.2rem 0 2.4rem; background:#fff; border:1px solid #eef2f1; border-radius:1.2rem; padding:1.6rem 2rem; } 
.academy-note ul { } 
.academy-note li { font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 300; line-height: 150%; /* 3rem */
 letter-spacing: -0.04rem; } 

/* ========== Vision ========== */
.academy-vision { margin: 4rem 0; } 
.academy-vision .sec-title { font-size: clamp(1.8rem, 1.88vw, 2.4rem); font-weight: 700; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 
.academy-vision .vision-img { border-radius:1.2rem; overflow:hidden; } 
.academy-vision .vision-img img { width:100%; height:auto; display:block; } 
.academy-vision .vision-desc { margin-top:1.6rem; } 
.academy-vision .vision-desc h4 { font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 700; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; margin-top: 4rem; } 
.academy-vision .vision-desc p { font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 300; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; margin-top: 4rem; } 

/* ========== Responsive ========== */
@media (max-width: 1024px){
	.academy-visual .txt-box .main { font-size:2.6rem; } 
	.tbl-kv tbody tr { grid-template-columns: 8rem minmax(0,1fr); gap: 1rem; } 
 }
@media (max-width: 640px){
 .sub-tabs ul { overflow-x:auto; } 
 .sub-tabs .sub-tab { flex:0 0 auto; } 
 .academy-visual .txt-box { left:1.6rem; right:1.6rem; bottom:1.6rem; } 
 .academy-visual .txt-box .sub { font-size:1.6rem; } 
 .academy-visual .txt-box .main { font-size:2.2rem; } 
 .tbl th, .tbl td { padding:1.2rem .8rem; font-size:1.35rem; } 

 /* KV 테이블을 1단(두 줄)로 */
 .tbl-kv tbody tr { grid-template-columns: 8rem minmax(0,1fr); gap: 1rem; } 
 .tbl-kv tbody tr > :nth-child(1) { grid-column:1; } /* 1st th */
 .tbl-kv tbody tr > :nth-child(2) { grid-column:2; } /* 1st td */
 .tbl-kv tbody tr > :nth-child(3) { grid-column:1; } /* 2nd th */
 .tbl-kv tbody tr > :nth-child(4) { grid-column:2; } /* 2nd td */
 .tbl-kv th { font-size:1.7rem; } 
 .tbl-kv td { font-size:1.4rem; } 
.intro-illust { border-radius: 2rem; background: #009C6D; overflow: hidden; background-size: cover; display: flex; height: auto; padding: 2.4rem; align-items: flex-start; flex-direction: column; gap: 2rem; position: relative; margin: 0; } 
 .intro-illust img { display: none; } 
 #panel-kids { gap: 0rem; } 
 .fcard img { height: 12rem; bottom: 2rem; right: 2rem; } 
.fcard { height: 100%; } 
 }



/* faq */
/* 컨트롤 */


/* 리스트 */
.faq-list { border-top: 2px solid #2A2A2A; } 
.faq-item { border-bottom: 1px solid #E6E6E6; } 
.faq-head { display:grid; grid-template-columns:20rem 1fr; align-items:center; height: 10rem; } 
.faq-date { font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 500; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; text-align: center; } 

.faq-toggle .chev { transition:transform .2s ease } 
.faq-toggle[aria-expanded="true"] .chev { transform:rotate(180deg) } 
/* 슬라이드 기본값: 닫힘 */
.faq-body { height: 0; overflow: hidden; transition: height .28s ease; } 

/* 실제 패딩은 inner에 둡니다(높이 계산이 깔끔) */
.faq-body__inner {margin-left: 200px;padding:3rem 3rem 3rem 3rem;background: #F7F7F8; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 300; line-height: 150%;white-space: pre-wrap;} 

/* 아이콘 기본 표시: 닫힘 상태 */
.faq-toggle .icon-up { display: none; } 
.faq-toggle .icon-down { display: inline-block; } 

/* 열림 상태일 때 아이콘 변경 */
.faq-toggle[aria-expanded="true"] .icon-down { display: none; } 
.faq-toggle[aria-expanded="true"] .icon-up { display: inline-block; } 

/* 위치 정렬 */
.faq-toggle { display: flex; justify-content: space-between; align-items: center; width: 100%; color: #2A2A2A; font-size: clamp(1.6rem, 1.41vw, 2rem); font-weight: 500; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 


/* 열림 상태에서 버튼 화살표 뒤집기(선택) */
.faq-toggle[aria-expanded="true"] .chev { transform: rotate(180deg); } 

/* 사용자 선호: 모션 최소화 */
@media (prefers-reduced-motion: reduce){
 .faq-body { transition: none; } 
 }

/* 반응형 */
@media (max-width:960px){
 .faq-body__inner {margin-left: 0;}
 .faq-controls { flex-wrap:wrap } 
 .faq-head { grid-template-columns:8rem 1fr } 
 .faq-body { padding-left:80px} 
 .faq-search input { min-width:16rem } 
 }

/* 갤러리형 게시판 */
/* ========== Gallery (분실물) ========== */
/* 래퍼 간격 */
.gallery-sec .disc-inner { margin-top: 4em; } 

/* 그리드 */
.gal-wrap { margin-top: 4rem; } 
.gal-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 4rem; /* 카드 간격 */
 list-style: none; padding: 0; margin: 0; } 
.gal-list.tr3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } 
/* 카드 */
.gal-card { display: flex; flex-direction: column; overflow: hidden; text-decoration: none; transition: transform .12s ease; will-change: transform, box-shadow; gap: 1rem; } 
/* .gal-card:hover { transform: translateY(-.2rem);} */
.gal-card:focus-visible { outline: .3rem solid #2E533E33; outline-offset: .2rem; } 

/* 썸네일 */
.gal-thumb { position: relative; width: 100%; /* 4:3 비율 – 브라우저가 aspect-ratio 지원하면 이게 적용되고,
 구형 브라우저는 아래 padding-hack로 백업 가능 */
 border: 1px solid #e0e0e0;
 aspect-ratio: 4 / 3; background: #FFF; border-radius: 1.3rem; overflow: hidden; } 
.gal-thumb img { width: 100%; height: auto; object-fit: contain; display: block; } 
.gal__info { width: 100%; display: flex; justify-content: space-between; align-items: center; } 
.gal-views { color: var(--color999); font-size: 1.5rem; font-weight: 500; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; } 
/* NEW 뱃지 */
.badge-new { padding: 0.4rem 1rem; gap: 1rem; border-radius: 0.4rem; background: #EBFFF8; color: #47F5B6; font-size: 1.4rem; font-weight: 600; line-height: 100%; /* 1.4rem */
 letter-spacing: -0.056rem; } 

/* 메타 */
.gal-meta { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; } 
.gal-title { color: #2A2A2A; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 500; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; margin: 0 0 .6rem; display: -webkit-box; -webkit-line-clamp: 2; /* 두 줄 말줄임 */
 -webkit-box-orient: vertical; overflow: hidden; } 
.gal-date { font-size: 1.4rem; color: #8E95A9; } 

/* 반응형 */
@media (max-width: 1200px){
 .gal-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } 
 }
@media (max-width: 960px){
 .gal-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; } 
 .gal-list.tr3 { grid-template-columns: repeat(2, minmax(0, 1fr)); } 
 }

.gal--square .gal-thumb { aspect-ratio: 1 / 1; } 

/* 선택/검색 영역 살짝 정돈(옵션) */
.gallery-sec .disc-controls { margin-bottom: 1.6rem; } 
.gallery-sec .disc-controls .disc-filter,
.gallery-sec .disc-controls .disc-search { margin-top: .8rem; } 

/* 공지사항 */
/* 공지사항 – 우측 글쓰기 버튼 정렬 */
.notice-sec .disc-controls { } 
.notice-sec .disc-controls .disc-filter { order: 1; } 
.notice-sec .disc-controls .disc-search { order: 2; } 
.notice-sec .notice-actions { width: 100%; display: flex; justify-content: flex-end; align-items: center; padding: 2rem 0; } 
/* 글쓰기 버튼 */
.btn-write { display: inline-flex; width: 20rem; height: 5.6rem; padding: 2rem 1rem; justify-content: center; align-items: center; gap: 1rem; border-radius: 0.8rem; border: 1px solid #E6E6E6; background: #FFF; color: #070707; text-align: center; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 600; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
.btn-write:hover { background: #254734; color: #FFF; box-shadow: 0 .3rem 1rem rgba(0,0,0,.08); } 
.btn-write:active { transform: translateY(.5px); } 
.btn-write:focus-visible { outline: .3rem solid #2E533E33; outline-offset: .2rem; } 

/* 공지 뱃지 */
.badge-notice { display: inline-flex; align-items: center; justify-content: center; min-width: 3.8rem; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 700; color: var(--color-main); } 

/* 상단 고정(공지) 줄 – 배경 살짝 */
.disc-row.is-sticky .disc-cell { background: #F9FBFA; } 


/* 타이틀 링크 줄바꿈/말줄임 */
.disc-table .col-title a { display: -webkit-box; -webkit-line-clamp: 1; /* 한 줄 말줄임 (필요 시 2로 변경) */
 -webkit-box-orient: vertical; overflow: hidden; color: #111316; } 

/* 반응형 */
@media (max-width: 980px){
 .notice-sec .disc-controls { grid-template-columns: 1fr; gap: .8rem; } 
 .notice-sec .disc-controls .notice-actions { justify-self: end; } 
 }
/* --- 사회공헌활동 배너 영역 --- */
.csr-hero { width: 100%; margin: 0 auto; max-width: var(--container); /* 필요에 따라 조정 가능 */
 padding: 0 2rem; /* 양쪽 여백 */ } 

.csr-hero__figure { width: 100%; aspect-ratio: 16 / 4; /* 비율 유지 */
 overflow: hidden; border-radius: 2rem; background: url(../img/csr_hero.svg) center center no-repeat; display: flex; justify-content: center; align-items: center; padding: 0 2.4rem; } 

.csr-hero__figure img { width: 100%; height: 100%; object-fit: cover; /* 이미지 비율 유지 + 꽉 채우기 */
 display: block; } 
.csr-hero__caption { display: flex; flex-direction: column; align-items: center; gap: 2rem; } 
.csr-hero__caption strong { color: #FFF; text-align: center; font-size: clamp(1.6rem, 1.88vw, 3.2rem); font-style: normal; font-weight: 700; line-height: 150%; /* 4.8rem */
letter-spacing: -0.128rem; } 
.csr-hero__caption span { color: #FFF; text-align: center; font-size: clamp(1.3rem, 1.41vw, 1.8rem); font-style: normal; font-weight: 300; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
/* --- 모바일 대응 --- */
@media (max-width: 768px){
 .csr-hero { padding: 0 1rem; } 

 .csr-hero__figure { aspect-ratio: 16 / 9; /* 동일 비율 유지 */
 border-radius: 6px; } 
 }
/* 버스 배너 영역 */
.bus-banner { width: 100%; display: flex; justify-content: center; /* 가운데 정렬 */
 margin: 4rem auto; } 

.bus-banner__wrap { width: 100%; max-width: 80rem; /* 1280px 정도 */
 aspect-ratio: 1 / 1; /* 1:1 비율 유지 */
 position: relative; } 

.bus-banner__wrap img { width: 100%; height: 100%; object-fit: cover; /* 이미지 꽉 채우기 + 비율 유지 */
 display: block; border-radius: 0.8rem; /* 선택사항 (있으면 더 깔끔) */ } 

/* 모바일 대응 */
@media (max-width: 768px){
 .bus-banner { margin: 2rem auto; padding: 0 1.5rem; /* 좌우 여백 살짝 추가 */ } 

 .bus-banner__wrap { max-width: 100%; aspect-ratio: 1 / 1; } 
 }

/* 신청폼 퍼블리싱 */
.sub_title { display: flex; width: 100%; max-width: var(--container); flex-direction: column; align-items: flex-start; gap: 2rem; margin-bottom: 2rem; } 
.sub_title h1 { color: #2A2A2A; font-size: clamp(1.8rem, 1.41vw, 2.4rem); font-style: normal; font-weight: 700; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 
.d-text { display: flex; padding: 2rem; align-items: center; gap: 1rem; align-self: stretch; border: 1px solid #E6E6E6; background: #F8F8F8; color: #2A2A2A; font-size: clamp(1.4rem, 1.41vw, 1.8rem); font-weight: 300; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
.form-table { width: 100%; border-collapse: collapse; font-size: 1.6rem; margin-bottom: 4rem; border-radius: 1.2rem; } 
.form-table th { width: 20%; padding: 2rem; background: #f7f7f8; font-weight: 600; text-align: left; color: #2A2A2A; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 500; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; } 
.form-table td { padding: 2rem; color: #2A2A2A; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 300; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; border-bottom: 1px solid #eee; } 

.bus-form { margin: 0 auto; }
.bus-form .bus-table td {white-space: pre-wrap;}

.form-buttons { text-align: center; margin-top: 3rem; } 
.btn-primary { background: #2b5f2c; color: white; padding: 1.2rem 3rem; border-radius: 0.4rem; font-size: 1.6rem; border: none; cursor: pointer; } 
.btn-primary:hover { background: #244d23; } 
/* 체크박스 */
/* 기본 체크박스 숨기기 */
.ch-box input[type="checkbox"] { display: none; } 

/* 라벨 + 커스텀 체크박스 */
.ch-box label { position: relative; display: inline-flex; align-items: center; gap: 0.6rem; font-size: 1.6rem; cursor: pointer; } 

/* 체크박스 모양 (비어있을 때) */
.ch-box label::before { content: ""; width: 20px; height: 20px; display: inline-block; background: url("../img/checkbox.svg") no-repeat center/cover; /* 체크 안된 상태 */
 transition: all 0.2s ease; } 

/* ✅ 체크된 상태 */
.ch-box input[type="checkbox"]:checked + label::before { background: url("../img/checkbox-active.svg") no-repeat center/cover; /* 체크된 상태 */ }

/* ✅ 호버 시 (선택사항) */
.ch-box label:hover::before { filter: brightness(0.9); } 
.ch-box.row { display: flex; gap: 2rem; align-items: center; } 
/* 인풋 */
.form-group { margin-bottom: 2rem; border-top: 1px solid var(--color-line); }
.form .form-table .form-group td .ch-box label {margin-bottom: 2rem;}
.form.qna_section .form-table .form-group td .ch-box label {margin-bottom: 0;}
.form-group label { color: #2A2A2A; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 500; line-height: 150%; /* 2.7rem */
 letter-spacing: -0.072rem; margin-bottom: 2rem; min-width: 10rem; }
.t-red { color: #FF3D3D; font-size: clamp(1.4rem, 1.41vw, 1.6rem); } 
.form-group input { display: flex; width: 100%; height: 5.4rem; padding: 1rem 2rem; align-items: center; gap: 1rem; border-radius: 0.8rem; border: 1px solid #E6E6E6; background: #FFF; box-shadow: 0 2px 1px 0 rgba(119, 130, 137, 0.15); font-size: clamp(1.4rem, 1.41vw, 1.6rem); } 
.form-group input::placeholder { color: var(--color999); } 
@media (max-width:960px){
 .bus__wrap { padding: 0 2rem; } 
.form-table th {
    width: 20%;
    padding: 1rem;
}
.form-table .form-group th label {
    font-size: clamp(1.4rem, 1.41vw, 1.8rem);
    margin-bottom: 2rem;
    min-width: auto;
}
.form-table {
  border-top: 1px solid #111316;
}
.form .form-table .form-group td {
	margin-bottom: 2rem;
    padding: 1rem;
    font-size: clamp(1.4rem, 1.41vw, 1.8rem);
}
 }

/* 조직도 퍼블리싱 추가 */
 /* ========== 조직도 공통 ========== */
 .orgchart { --c-main:#149D77; /* 메인 그린 */
 --c-dark:#2B2B2B; /* 진한 검정(헤더) */
 --c-line:#E5E7EB; --c-card:#FFFFFF; --r-12:12px; --shadow:0 8px 24px rgba(0,0,0,.06); display:block; padding:40px 0 80px 0; background: #fff;; } 

/* 최상단 원형 */
#orgchart .org-top { display:flex; justify-content:center; margin-bottom:20px; } 
#orgchart .org-top__circle { width: 16.8rem; height: 16.8rem; border-radius:50%; background:var(--c-main); color:#fff; display:flex; align-items:center; justify-content:center; flex-direction:column; text-align:center; gap:6px; } 
#orgchart .org-top__label { font-size: clamp(1.5rem, 1.41vw, 2rem); opacity:.9; color:#fff; } 
#orgchart .org-top__name { font-size: clamp(1.5rem, 1.41vw, 2rem);;font-weight:700; color:#fff; } 

/* 세로 연결 라인 */
#orgchart .org-connector--down { width:1px; height:24px; background:var(--c-line); margin:0 auto 24px; } 

/* 중간 3분할 */
#orgchart .org-middle { display:grid; grid-template-columns:repeat(5,1fr); max-width:920px; margin:0 auto 28px; align-items: flex-end; justify-content: center; text-align: center; width: 100%; place-items: center; } 
#orgchart .org-mid__item { display: flex; width: 16.8rem; padding: 2rem 1rem; justify-content: center; align-items: center; gap: 1rem; border-radius: 0.4rem; background: #E7F9F3; color: #3AA880; text-align: center; font-size: clamp(1.5rem, 1.41vw, 2rem); font-weight: 600; letter-spacing: -0.04rem; } 
#orgchart .org-mid__item.is-primary { border-radius: 0.4rem; border: 1px solid #9DD8C4; background: #FFF; box-shadow: 0 4px 2px 0 rgba(165, 216, 197, 0.25); color: #2A2A2A; text-align: center; font-size: clamp(1.5rem, 1.41vw, 2rem); font-weight: 600; letter-spacing: -0.04rem; display: flex; margin-top: 0.3rem; } 
.line-ver { width: 100%; height: 1px; background: #e8e8e8; } 

#orgchart .org-mid__item.is-primary strong { font-weight:700; } 

/* 검정 헤더 카드 (사무국장/선수단장) */
#orgchart .org-heads { display:grid; grid-template-columns:repeat(2, minmax(260px, 420px)); justify-content:center; gap:16px; margin:0 auto 28px; } 
#orgchart .lead-card { background:#fff; border-radius:12px; border:1px solid var(--c-line); box-shadow:var(--shadow); overflow:hidden; } 
#orgchart .lead-card__head { display: flex; height: 5.6rem; padding: 1rem; flex-direction: column; justify-content: center; align-items: center; gap: 1rem; align-self: stretch; border-radius: 0.4rem; background: #3C3C3C; } 
#orgchart .lead-card__head h3 { color: #FFF; text-align: center; font-size: clamp(1.5rem, 1.41vw, 2rem); font-weight: 600; letter-spacing: -0.04rem; } 
#orgchart .lead-card__body small { color: #2A2A2A; text-align: center; font-size: clamp(1.5rem, 1.41vw, 2rem); font-weight: 400; letter-spacing: -0.04rem; } 
#orgchart .lead-card__body { display: flex; padding: 2rem 0; flex-direction: column; justify-content: center; align-items: center; gap: 2rem; align-self: stretch; border-radius: 0.4rem; border: 1px solid #BEBEBE; background: #FFF; box-shadow: 0 4px 2px 0 rgba(144, 144, 144, 0.25); } 
#orgchart .lead-card__tel { display: flex; justify-content: center; align-items: flex-start; gap: 1rem; color: #2A2A2A; text-align: center; font-family: Pretendard; font-size: clamp(1.5rem, 1.41vw, 2rem); font-style: normal; font-weight: 400; line-height: normal; letter-spacing: -0.04rem; } 

/* 전화 아이콘 공통 */
#orgchart .ico-phone { display:inline-flex; width:20px; height:20px; align-items:center; justify-content:center; } 
#orgchart .ico-phone svg { display:block; } 

/* 팀 그리드 */
#orgchart .org-grid { display:grid; gap:4rem; grid-template-columns: repeat(4 , 1fr); align-items: flex-start; margin:0 auto; place-items: start center; } 

/* 팀 컬럼 */
#orgchart .team-col-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 2rem; } 
#orgchart .team-col__title { display: flex; width: 100%; max-width: 50rem; height: 5.6rem; padding: 1rem; flex-direction: column; justify-content: center; align-items: center; gap: 1rem; flex-shrink: 0; color: #FFF; text-align: center; font-size: clamp(1.5rem, 1.41vw, 2rem); font-weight: 600; letter-spacing: -0.04rem; border-radius: 0.4rem; background: #213D40; } 
#orgchart .team-col__title.is-solid { background:#15B78A; } 

/* 직무 카드 */

#orgchart .role-card { display: flex; width: 24rem; flex-direction: column; align-items: flex-start; gap: 0.4rem; align-self: stretch; position: relative; } 
/* 260121: 경영지원팀 마지막 두번째 숨김 */ #orgchart .team-col-grid .role-card:nth-last-child(2) {opacity: 0;}
#orgchart .role-card__tel { display: flex; align-items: center; gap: 1rem; color: #2A2A2A; text-align: center; font-size: clamp(1.5rem, 1.41vw, 2rem); font-weight: 400; letter-spacing: -0.04rem; } 
#orgchart .role-card__tel::before { content: ""; display: flex; width: 20px; height: 20px; background-repeat: no-repeat; background-size: contain; background-image: url("data:image/svg+xml; utf8,<svg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 20 20' fill='none'><path d='M16.8121 17.9683C14.8577 19.9226 9.85282 18.0863 5.63327 13.8667C1.41372 9.64718 -0.422609 4.64227 1.5317 2.68795L2.81847 1.40118C3.7068 0.512856 5.17054 0.536338 6.08784 1.45363L8.08092 3.44672C8.99822 4.36401 9.0217 5.82776 8.13337 6.71609L7.85699 6.99247C7.37737 7.47209 7.33045 8.24581 7.7761 8.78587C8.20597 9.30679 8.6694 9.82565 9.17188 10.3281C9.67435 10.8306 10.1932 11.294 10.7141 11.7239C11.2542 12.1696 12.0279 12.1226 12.5075 11.643L12.7839 11.3666C13.6722 10.4783 15.136 10.5018 16.0533 11.4191L18.0464 13.4122C18.9637 14.3295 18.9871 15.7932 18.0988 16.6815L16.8121 17.9683Z' fill='%23515151' stroke='%23515151' stroke-width='1.5'/></svg>"); } 
#orgchart .role-card__task { color: #2A2A2A; text-align: center; font-size: clamp(1.5rem, 1.41vw, 2rem); font-style: normal; font-weight: 600; line-height: normal; letter-spacing: -0.04rem; } 
#orgchart .role-card__tel { display:inline-flex; align-items:center; gap:8px; color:#333; font-weight:600; } 
#orgchart .role__name { display: flex; height: 5.6rem; padding: 1rem; flex-direction: column; justify-content: center; align-items: center; gap: 1rem; align-self: stretch; border-radius: 0.4rem; background: #F4F5F3; color: #525352; text-align: center; font-family: Pretendard; font-size: clamp(1.5rem, 1.41vw, 2rem); font-style: normal; font-weight: 600; line-height: normal; letter-spacing: -0.04rem; } 
#orgchart .role__box { display: flex; padding: 2rem 0; flex-direction: column; justify-content: center; align-items: center; gap: 2rem; align-self: stretch; border-radius: 0.4rem; border: 1px solid #BEBEBE; background: #FFF; box-shadow: 0 4px 2px 0 rgba(144, 144, 144, 0.25); } 
/* 감독 칩 (우측 세로) */
#orgchart .team-col--side { display: flex; width: 24rem; flex-direction: column; align-items: flex-start; gap: 2rem; } 
#orgchart .rank-chip { width: 100%; display: flex; flex-direction: column; align-items: flex-start; gap: 0.4rem; align-self: stretch; } 
#orgchart .rank-chip .rank-name { width: 100%; display: flex; padding: 2rem 0; flex-direction: column; justify-content: center; align-items: center; gap: 2rem; align-self: stretch; border-radius: 0.4rem; border: 1px solid #BEBEBE; background: #FFF; box-shadow: 0 4px 2px 0 rgba(144, 144, 144, 0.25); color: #2A2A2A; text-align: center; font-size: clamp(1.5rem, 1.41vw, 2rem); font-weight: 600; letter-spacing: -0.04rem; } 
#orgchart .rank-chip strong { font-weight:800; } 
#orgchart .rank-chip .role__name { background: #84E9C4; color: #525352; } 
/* 반응형 */
@media (max-width: 1180px){
	 #orgchart .org-grid { grid-template-columns: repeat(3 ,1fr) } 
	 #orgchart .org-heads { grid-template-columns:1fr; } 
 }
@media (max-width: 760px){
	 #orgchart .org-middle { grid-template-columns:1fr; } 
	 #orgchart .org-grid { grid-template-columns: repeat(1, 4fr); } 
	 #orgchart .role-card { width: 100%; } 
	 #orgchart .team-col--side { width: 100%; } 
	 .line-ver { height: 2rem; width: 1px; } 
	 #orgchart .role__box { padding: 2rem; } 
 }
@media (max-width: 520px){
	 #orgchart .org-grid { grid-template-columns: repeat(2, 4fr); gap: 1rem; } 
	 #orgchart .team-col-grid { display: grid; grid-template-columns: repeat(1, 1fr);}
	 #orgchart .team-col-grid .role-card:nth-last-child(2) {display: none;}
 }

/* 오시는 길 */
#visit .visit-grid { display:grid; grid-template-columns: 1.2fr 1fr; gap:24px; } 

#visit .visit-map { background:#fff; overflow:hidden; border-radius: 16px 16px 0 0;} 

#visit .visit-map iframe { width:100%; height:48rem; border:0; } 

#visit .visit-address { display: flex; flex-direction: column; gap: 2rem; border-radius: 1.2rem; margin-top: 2rem; } 
#visit .visit-address strong { display:block; font-size: clamp(1.5rem, 1.41vw, 2rem); font-weight: 500; } 
#visit .visit-address span { font-size:13px; color:#667085; margin-top:4px; } 

#visit .visit-card { display: flex; padding: 4rem; flex-direction: column; align-items: flex-start; gap: 4rem; flex: 1 0 0; border-radius: 2rem; background: #F7F7F8; } 

#visit .visit-block { display: flex; flex-direction: column; align-items: flex-start; gap: 1rem; align-self: stretch; } 

#visit .visit-ttl { color: #2A2A2A; font-size: clamp(1.8rem, 1.41vw, 2.4rem); font-weight: 700; line-height: 150%; /* 3.6rem */
 letter-spacing: -0.096rem; } 

#visit .visit-dl > div { display:flex; gap:12px; padding:8px 0; border-top:1px dashed #eef2f0; } 

#visit .visit-dl > div:first-child { border-top:0; } 
#visit .visit-dl dt { display: flex; min-width: 8rem; align-items: center; gap: 0.4rem; color: #02A47D; font-size: clamp(1.4rem, 1.41vw, 1.6rem); font-weight: 700; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; } 
#visit .visit-dl dd { font-size: clamp(1.4rem, 1.41vw, 1.6rem); font-weight: 400; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; display: flex; align-items: center; } 

#visit .visit-ul li { font-size: clamp(1.4rem, 1.41vw, 1.6rem); font-weight: 400; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; } 
#visit .visit-ul li b { font-size: clamp(1.4rem, 1.41vw, 1.6rem); font-weight: 400; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; } 
@media (max-width:960px){
 #visit { padding: 2rem; } 
 #visit .visit-grid { grid-template-columns:1fr; } 
 #visit .visit-map iframe { height:300px; } 
 #visit .visit-card { padding: 3rem; gap: 2rem; } 
 }
/* 이용약관, 개인정보처리방침 */
/* ========= Terms of Service ========= */
/* #tos { padding: 0 2rem; } */
#tos .tos-wrap { display: flex; padding: 4rem; flex-direction: column; align-items: flex-start; border-top: 1px solid #2A2A2A; } 

#tos .tos-title { padding-bottom: 2rem; font-size: clamp(1.6rem, 1.41vw, 2rem); font-weight: 800; } 

#tos .tos-section + .tos-section { margin-top: 2rem; } 

#tos .tos-section h4 { font-size: clamp(1.4rem, 1.41vw, 1.8rem); font-weight: 700; color: #22332f; } 

#tos .tos-section p { font-size: clamp(1.4rem, 1.41vw, 1.6rem); color: #2e2e2e; line-height: 1.8; } 

#tos .tos-section ol { margin: 0; padding-left: 2rem; color: #2e2e2e; } 
#tos .tos-section ol li { margin: 8px 0; line-height: 1.8; font-size: clamp(1.4rem, 1.41vw, 1.6rem); } 
#tos .tos-section ol li strong { font-weight: 700; font-size: clamp(1.4rem, 1.41vw, 1.6rem); } 

@media (max-width: 960px){
 #tos .sub-head h2 { font-size: 24px; } 
 #tos .tos-wrap { padding: 2rem; } 
 #tos .tos-title { font-size: 20px; } 
 }

/* 게시판 등록 */
#boardWrite .file-field .file-label { display:block; font-weight:700; margin-bottom:6px; } 
#boardWrite .file-wrap { display: flex; align-items: center; gap: 0.4rem; flex: 1 0 0; } 
#boardWrite .file-inline { display:flex; gap:8px; align-items:center; } 
#boardWrite .file-name { flex:1 1 auto; height:44px; border:1px solid #e6ece9; border-radius:8px; padding:0 12px; background:#fafcfa; } 
#boardWrite .file-inline input[type="file"] { display: none; } 
#boardWrite .file-btn { display:inline-flex; align-items:center; justify-content:center; height: 4.8rem; border-radius: 0.4rem; border: 1px solid #303030; background: #303030; box-shadow: 0 2px 2px 0 rgba(0, 0, 0, 0.10); color:#fff; cursor:pointer; margin-bottom: 0; } 
#boardWrite .file-field .help { display:block; margin-top:6px; color:#7a8883; } 

#boardWrite .pw-field label { display:block; font-weight:700; margin-bottom:6px; } 
#boardWrite .pw-field input { width:100%; height:44px; border:1px solid #e6ece9; border-radius:8px; padding:0 12px; } 
/* Editor */
#boardWrite .editor { border:1px solid #e6ece9; border-radius:14px; background:#fff; overflow:hidden; } 
#boardWrite .editor-toolbar { display:flex; justify-content:space-between; align-items:center; gap:12px; padding:8px; background:#fafcfb; border-bottom:1px solid #eef3f1; } 
#boardWrite .editor-toolbar .tool { border:1px solid #e6ece9; background:#fff; border-radius:6px; min-width:36px; height:34px; padding:0 8px; display:inline-flex; align-items:center; justify-content:center; cursor:pointer; } 
#boardWrite .editor-toolbar .tool + .tool { margin-left:6px; } 
#boardWrite .editor-toolbar .sep { width:1px; height:20px; background:#e8efec; margin:0 8px; display:inline-block; } 

#boardWrite .editor-toolbar select { height:34px; border:1px solid #e6ece9; border-radius:6px; padding:0 10px; background:#fff; } 

#boardWrite .editor-area { min-height:320px; padding:16px; line-height:1.7; outline:none; } 
#boardWrite .editor-area p { margin:0 0 12px; } 
#boardWrite .editor-sample-thumb { width:100%; margin:16px 0; background:#f6faf8; border-radius:10px; overflow:hidden; display:block; } 
#boardWrite .editor-sample-thumb img { width:100%; height:auto; display:block; } 

#boardWrite .btn-area { display:flex; gap:8px; justify-content:center; margin:20px 0 6px; } 
#boardWrite .btn { display:inline-flex; align-items:center; justify-content:center; height:44px; padding:0 16px; border-radius:10px; cursor:pointer; font-weight:700; min-width:120px; } 
#boardWrite .btn.primary { font-size: clamp(1.4rem, 1.41vw, 1.6rem); height: 5.6rem; background:#2f5f52; color:#fff; } 
#boardWrite .btn.line { font-size: clamp(1.4rem, 1.41vw, 1.6rem); height: 5.6rem; border:1px solid #dfe6e2; background:#fff; color:#22332f; } 

/* util */
#boardWrite .sr-only { position:absolute; clip:rect(1px,1px,1px,1px); width:1px; height:1px; overflow:hidden; } 


@media (max-width: 960px){
 #boardWrite .form-table th { width:auto; display:block; } 
 #boardWrite .form-table th { padding: 0rem; background: transparent; margin-bottom: 0; } 
 #boardWrite .form-table td { display:block; border-bottom: 0 !important; padding: 0; /* margin-bottom: 0; */ } 
 #boardWrite .select-wrap select { width:100%; min-width:0; } 
 #boardWrite .write-opts { grid-template-columns: 1fr; } 
 .form-group:first-child th {margin-top: 2rem;}
 .form-table tr.form-group {margin-bottom: 2rem; border-top: 0 !important; } 
/* #boardWrite .sub_title, #boardWrite .form { padding: 0 2rem; } 250115 */
#boardWrite .file-wrap { display: flex !important; align-items: center !important; gap: 0.4rem; flex: 1 0 0; } 
#boardWrite .form-group input { height: 4.8rem; } 
 }
/* 로그인 회원가입 */
/* Root of account pages */
#account { --maxw: 560px; --gap: 2rem; --radius: 8px; --line: #e8e8e8; --text: #303030; --muted: #999; --bg: #fff; /* 김포FC 메인 컬러 추정 (필요시 조정) */
 --green: #02A47D; --green-pressed: #007c5f; --green-soft: #e7f4ef; font-family: inherit; color: var(--text); } 

#account .account__inner { max-width: var(--maxw); padding: 18rem 2rem; margin: 0rem auto; } 

#account .account__title { margin: 0 0 28px; text-align: center; font-weight: 800; font-size: clamp(22px, 2.6vw, 36px); letter-spacing: -0.02em; } 

#account .account-form { display: grid; gap: var(--gap); } 

#account .form-row input[type="text"],
#account .form-row input[type="password"],
#account .form-row input[type="email"] { width: 100%; display: flex; height: 5.4rem; padding: 1rem 2rem; align-items: center; gap: 1rem; align-self: stretch; border-radius: 0.8rem; border: 1px solid #E6E6E6; background: #FFF; box-shadow: 0 2px 1px 0 rgba(119, 130, 137, 0.15); font-size: 1.6rem; } 

#account .form-row input::placeholder { color: #b7bdc5; } 

#account .form-row input:focus { border-color: var(--green); } 

/* meta row */
#account .form-meta { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-top: 4px; } 

#account .links { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; color: var(--muted); } 
#account .links a { color: var(--muted); text-decoration: none; font-size: 1.6rem; } 
#account .links a:hover { color: var(--text); } 
#account .links .divider { opacity: .35; font-size: 1.6rem; } 

/* actions */
#account .form-actions { display: grid; grid-template-columns: 1fr 1.4fr; gap: 12px; margin-top: 6px; } 

#account .btn { height: 52px; border-radius: 999px; border: 1px solid var(--line); font-weight: 700; font-size: 1.6rem; display: inline-flex; align-items: center; justify-content: center; text-decoration: none; cursor: pointer; transition: transform .02s ease, background-color .2s ease, border-color .2s ease; } 

#account .btn-line { background: #fff; color: var(--text); } 
#account .btn-line:hover { background: #F7F7F8; } 

#account .btn-primary { background: var(--green); color: #fff; border-color: var(--green); } 
#account .btn-primary:hover { background: var(--green-pressed); border-color: var(--green-pressed); } 

/* accessibility helpers */
#account .sr-only { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); border: 0; } 
.btn-round { border-radius: 50%; } 
/* responsive */
@media (max-width: 480px){
 #account .form-actions { grid-template-columns: 1fr; } 
 }
/* 아이디 비밀번호 찾기 */
#account .find-id , #account .find-pw { margin-top: 4rem; } 
#account .account-form .label { color: #303030; font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight: 500; line-height: 100%; /* 1.8rem */
 letter-spacing: -0.072rem; margin-bottom: 1rem; } 
#account .find-id { display: block; } 
#account .find-pw { display: none; } 
#account .find-pw .form-row , #account .find-id .form-row { margin-bottom: 2rem; } 
#account .account--login .form-actions { margin-top: 2rem; } 
/* 회원가입 */
/* 안내 박스 */
#account .account-note { display: flex; padding: 4rem; justify-content: center; align-items: center; gap: 1rem; border-radius: 2rem; background: #F7F7F8; color: #303030; text-align: center; font-size: 1.8rem; font-weight: 400; line-height: 160%; /* 2.88rem */
 letter-spacing: -0.072rem; } 

/* 약관 리스트 */
#account.account--join .account__inner { max-width: 68rem; width: 100% } 
#account .account-terms { display:block; } 
#account .terms-list { list-style:none; margin:0; padding:0; } 
#account .terms-item { display:flex; align-items:center; gap:12px; justify-content:space-between; padding:14px 6px; } 
#account .terms-item--all { background:#fff; border-bottom:1px solid var(--line); } 
#account .terms-item .view { flex:0 0 auto; font-size:14px; color:var(--muted); text-decoration:none; } 
#account .terms-item .view:hover { color:#111; } 


@media (max-width:480px){
 #account .form-actions { grid-template-columns:1fr; } 
#account .account-note { padding: 2rem; font-size: 1.5rem; } 
 }

/* 회원가입 */
#account .join-form { display:grid; gap:2rem; } 
#account .field { display:block; } 
#account .label { display:block; margin-bottom:1rem; font-size: 1.8rem; font-weight:700; } 
#account .req { color:#e34b4b; font-weight:800; } 

/* 인풋 */
#account input[type="text"],
#account input[type="password"],
#account input[type="email"],
#account input[type="tel"] { width:100%; height: 5.4rem; padding: 1rem 2rem; border:1px solid var(--line); border-radius:10px; background:#fff; font-size:15px; outline:none; transition:border-color .2s, box-shadow .2s; } 
#account input::placeholder { color:#b7bdc5; } 
#account input:focus { border-color:var(--green); } 
#account .mt8 { margin-top:8px; } 

/* 인풋 + 버튼 */
#account .input-with-btn { display:grid; grid-template-columns:1fr auto; gap:8px; align-items:center; } 
#account.account--join-form .btn { display:inline-flex; display: flex; height: 5.4rem; padding: 1rem 2rem; align-items: center; gap: 1rem; border-radius: 0.8rem; color: #FFF; text-align: center; font-size: 1.6rem; font-weight: 400; } 
#account.account--join-form .btn--sm { height:40px; padding:0 14px; border-radius:10px; } 
#account.account--join-form .btn--line { background:#fff; color:#111; } 
#account.account--join-form .btn--line:hover { background:#f6f9fb; } 
#account.account--join-form .btn--ghost { border: 1px solid #3C3C3C; background: #3C3C3C; } 
#account.account--join-form .btn--ghost:hover { border: 1px solid #404040; background: #404040; } 
#account.account--join-form .btn--primary { background:var(--green); border-color:var(--green); color:#fff; } 
#account.account--join-form .btn--primary:hover { background:var(--green-pressed); border-color:var(--green-pressed); } 

/* 라디오 */
#account .radios { display:flex; gap:16px; } 
#account .radio { display:inline-flex; align-items:center; gap:8px; color:#111; cursor:pointer; user-select:none; } 
#account .radio input { appearance:none; width:20px; height:20px; border:1.5px solid var(--line); border-radius:50%; position:relative; background:#fff; transition:.2s; } 
#account .radio input:checked { border-color:var(--green); } 
#account .radio input:checked::after { content:""; position:absolute; inset:3.5px; border-radius:50%; background:var(--green); } 
#account .radio span { font-size: clamp(1.4rem, 1.41vw, 1.7rem); } 
#account.account--join-form .form-actions .btn { color: #000; border-radius: 99rem; } 
#account.account--join-form .form-actions .btn.btn-primary { color: #FFF; } 
/* 버튼 영역 */
#account .form-actions { display:grid; grid-template-columns:1fr 1.2fr; gap:12px; margin-top:10px; } 

@media (max-width:480px){
 #account .form-actions { grid-template-columns:1fr; } 
 #account .account__inner { max-width: var(--maxw); padding: 15rem 2rem; margin: 0rem auto; } 
 }
#account .delete-account { display: inline-block; text-align: center; font-size: 1.6rem; font-weight: 500; line-height: 100%; /* 1.6rem */
 letter-spacing: -0.064rem; text-decoration-line: underline; text-decoration-style: solid; text-decoration-skip-ink: auto; text-decoration-thickness: auto; text-underline-offset: auto; text-underline-position: from-font; margin-top: 1rem; } 
#modal.notice .modal__contants { overflow-y: inherit; } 
.m-con-title { font-size: 2rem; font-weight: 600; text-align: center; margin-bottom: 2rem; } 
#modal.notice .modal__contants p { text-align: center; font-size: 1.6rem; line-height: 1.5; } 
.modal-actions { display: flex; align-items: center; gap: 0.4rem; margin-top: 2rem; } 
.modal-actions .btn-line { display: flex; height: 5rem; padding: 0 2rem; justify-content: center; align-items: center; gap: 2rem; border-radius: 9.9rem; flex: 1 0 0; } 
.modal-actions .btn-primary { display: flex; height: 5rem; padding: 0 2rem; justify-content: center; align-items: center; gap: 2rem; flex: 1 0 0; border-radius: 9.9rem; background: var(--ColorMain, #02A47D); } 


/* 회원가입 완료 */
#account .cp-action { display: flex; flex-direction: column; justify-content: center; align-items: center; gap: 0rem; } 
#account .cp-action p { font-size: 2rem; } 
#account .cp-action .cp-img { margin-bottom: 4rem; } 
.cp-guide { text-align: center; font-size: 1.6rem; color: var(--color999); font-weight: 500; line-height: 1.5; margin-top: .6rem; margin-top: .8rem; } 
#account .input-guide { font-size: 1.4rem; color: var(--color999); font-weight: 500; line-height: 1.5; margin-top: .6rem; } 
#account .input-error { font-size: 1.4rem; color: #FF3D3D; font-weight: 500; line-height: 1.5; margin-top: .6rem; } 
.btn-primary:disabled { background: var(--color999) !important; border: 0 !important; } 
/* 전환 사유 카드 */
.reason-card { margin-top: 1.2rem; padding: 1.6rem; background: #FAFAFA; /* 연한 회색 배경 */
 border: 1px solid #EEEEEE; /* 옅은 라인 */
 border-radius: 12px; } 

.reason-card__title { margin: 0 0 .6rem; font-size: 1.4rem; /* 제목은 살짝 더 큼 */
 font-weight: 600; color: #666; } 

.reason-card__desc { margin: 0; font-size: 1.3rem; line-height: 1.6; color: #888; /* 본문은 더 연한 회색 */
 word-break: keep-all; /* 한국어 단어 단위 줄바꿈 */ } 

/* 컨테이너 폭이 좁을 때 여백 보정(옵션) */
@media (max-width: 420px){
 .reason-card { padding: 1.4rem; border-radius: 10px; } 
 .reason-card__title { font-size: 1.35rem; } 
 .reason-card__desc { font-size: 1.25rem; } 
 }



/* SNS */
.sns-page .sns-intro { display: flex; align-items: center; justify-content: center; gap: 3.1rem; } .sns-page .sns-intro .sns-logo { width: 100%; max-width:25.5rem; } 
.sns-page .sns-intro .sns-logo img { width: 100%; } 
.sns-page .sns-intro .sns-title { color: #2E533E; font-size: clamp(2.4rem, 3.75vw, 4.8rem); font-weight: 200; line-height: 150%; letter-spacing: -0.192rem; } 
.sns-page .sns-intro .sns-title strong { color: #2E533E; font-size: clamp(2.4rem, 3.75vw, 4.8rem); font-weight: 700; line-height: 150%; letter-spacing: -0.192rem; } 
/* SNS 배경카드 */
.sns-links { margin: 4rem 0 4rem; } 
.sns-links__grid { display:grid; grid-template-columns: repeat(4, 1fr); gap: 4rem; } 
@media (max-width: 1200px){
	.sns-links__grid { grid-template-columns: repeat(2, 1fr); } 
 }
@media (max-width: 640px){
	#snsContent {width: 100%;}
	.sns-links__grid { grid-template-columns: repeat(1, 1fr); } 
	.sns-links {margin-top: 0; } 
	.sns-links__grid { gap: 1rem; } 
	.sns-page .sns-intro .sns-logo { width: 100%; max-width: 18rem; } 
	.sns-page .sns-intro { flex-direction: column; gap: 1rem; margin: 4rem 0; } 
	.sns-links__grid .sns-card__inner { padding: 0rem; gap: 1rem; } 
 }
@media (max-width: 340px){
 .sns-links__grid { grid-template-columns: 1fr; } 
 }
.sns-card { border-radius: 20px; overflow: hidden; } 
.sns-card__link { position: relative; display: block; min-height: 22rem; border-radius: 20px; isolation: isolate; } 

@media (min-width: 1280px){
 .sns-card__link { min-height: 32rem; } 
 }

/* 배경이미지 + 오버레이 */
.sns-card__bg { position:absolute; inset:0; z-index:-1; background-image: var(--bg); background-size: cover; background-position: center; } 
.sns-card__bg::after { content:""; position:absolute; inset:0; border-radius:inherit; } 

/* 내용 */
.sns-card__inner { height:100%; padding: 2.4rem; color:#fff; display:flex; flex-direction: column; align-items: center; justify-content: center; gap: 1.6rem; flex: 1 0 0; aspect-ratio: 1/1; } 
.sns-card__icon img, .sns-card__icon svg { display:block; } 
.sns-card__title { color: #FFF; text-align: center; font-family: "Pretendard Variable"; font-style: italic; font-size: clamp(2rem, 2.50vw, 3.2rem); font-weight: 600; line-height: 150%; /* 4.8rem */
 letter-spacing: -0.128rem; } 
.sns-card__desc { font-size: clamp(1.3rem, 1.4vw, 1.6rem); color: #FFF; text-align: center; font-weight: 300; line-height: 150%; /* 2.4rem */
 letter-spacing: -0.064rem; } 

/* 호버 효과 */
.sns-card__link:hover .sns-card__bg { transform: scale(1.2); transition: transform .45s ease; } 
.sns-card__link:hover .sns-card__bg::after { background: linear-gradient(180deg, rgba(0,0,0,.3) 0%, rgba(0,0,0,.45) 100%); } 


/* 피드 그리드 */
/* SNS 피드 전용 네임스페이스 */
#snsFeed .feed-wrap { margin: 2.4rem 0 4.8rem; } 
#snsFeed .feed-head { font-size: clamp(1.8rem, 1.6vw, 2.2rem); font-weight: 800; margin: 0 0 1.2rem; } 

/* 그리드 */
#snsFeed .feed-grid { display: grid; gap: 2rem; } 

/* 인스타: 정방형 카드 3→2→1 */
#snsFeed .feed--insta { grid-template-columns: repeat(4, 1fr); } 
@media (max-width: 1080px){
 #snsFeed .feed--insta { grid-template-columns: repeat(2, 1fr); } 
 }
@media (max-width: 580px){
 #snsFeed .feed--insta { grid-template-columns: 1fr; } 
 }

/* 유튜브: 16:9 카드 2→1 */
#snsFeed .feed--youtube { grid-template-columns: repeat(3, 1fr); } 
@media (max-width: 960px){
 #snsFeed .feed--youtube { grid-template-columns: 1fr; } 
#snsFeed { padding: 0 2rem; } 
 }

/* 카드 베이스 */
#snsFeed .feed-card { position: relative; display: block; border-radius: 18px; overflow: hidden; color: #fff; isolation: isolate; } 

/* 비율 – 인스타(1:1), 유튜브(16:9) */
#snsFeed .feed--insta .feed-card { aspect-ratio: 1 / 1; } 
#snsFeed .feed--youtube .feed-card { aspect-ratio: 16 / 9; } 

/* 배경이미지 & 오버레이 */
#snsFeed .feed-bg { position: absolute; inset: 0; z-index: -1; background-image: var(--bg); background-size: cover; background-position: center; transform: scale(1); transition: transform .45s ease; } 
#snsFeed .feed-bg::after { content:""; position:absolute; inset:0; background: linear-gradient(180deg, rgba(0,0,0,.28) 0%, rgba(0,0,0,.55) 70%, rgba(0,0,0,.65) 100%); } 

/* 로고(좌측 상단) */
#snsFeed .feed-logo { position: absolute; left: 2.4rem; top: 2.4rem; display: inline-flex; align-items: center; justify-content: center; width: 2.4rem; height: 2.4rem; filter: drop-shadow(0 2px 6px rgba(0,0,0,.35)); } 

/* 제목(좌측 하단) */
#snsFeed .feed-title { position: absolute; left: 2.4rem; bottom: 2.4rem; right: 2.4rem; color: #FFF; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight: 300; line-height: 150%; /* 3rem */
 letter-spacing: -0.08rem; } 

/* 호버 효과 */
#snsFeed .feed-card:hover .feed-bg { transform: scale(1.05); } 



/* 게시판 타입 2 */
#content .list { margin-bottom:2rem; } 
#content .list ul { display:grid; grid-template-columns:repeat(3, 1fr); gap:2rem; } 

#content .list.list-ty2 { } 
#content .list.list-ty2 ul { grid-template-columns:1fr; gap:2rem; border-top: 2px solid #222; } 
#content .list.list-ty2 li { border-bottom: 1px solid #e8e8e8; } 
#content .list.list-ty2 li .inner { display:flex; gap: 2rem; padding:2rem; background:#ffffff; } 
#content .list.list-ty2 li .img { width:100%; min-width: 16rem; max-width: 32rem; aspect-ratio:160/90; overflow:hidden;position:relative;} 
#content .list.list-ty2 li .img img { width:100%;display:block;position: absolute;left: 50%;top: 50%;transform: translate(-50%, -50%);} 
#content .list.list-ty2 li .con { padding-top:2rem; } 
#content .list.list-ty2 li .type { margin-bottom:0.4rem; line-height:1.5; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight:700; color:#33363d; } 
#content .list.list-ty2 li .title { margin-bottom:0.4rem; line-height:1.5; font-size: clamp(1.6rem, 1.56vw, 2rem); font-weight:700; color:#33363d; } 
#content .list.list-ty2 li .desc { font-size: clamp(1.5rem, 1.41vw, 1.8rem); font-weight:300; color:#909090; line-height: 1.7; display: -webkit-box; -webkit-line-clamp: 2; /* 표시할 줄 수 */
 -webkit-box-orient: vertical; overflow: hidden; text-overflow: ellipsis; white-space: normal; } 

/* 수정 */
 #content .list.list-ty3 .thum-list { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4rem; } 
 #content .list.list-ty3 .thum-list li .thumb { max-width: 34rem; display: flex; align-items: center; justify-content: center; overflow: hidden; border-bottom: 1px solid #E8E8E8; padding: 3rem; } 
 #content .list.list-ty3 .thum-list li .thumb img { width: 100%; object-fit: contain;} 
 #content .list.list-ty3 .thum-list li a { display: flex; align-items: center; justify-content: center; gap: 0rem; flex-direction: column; text-align: center; border-radius: 1.2rem; border: 1px solid #E8E8E8; background: #FFF; overflow: hidden; box-shadow: 0 10px 20px 0 rgba(0, 0, 0, 0.10); } 
 #content .list.list-ty3 .thum-list li strong { font-size: clamp(1.8rem, 1.88vw, 2.2rem); font-weight: 600; } 
 #content .list.list-ty3 .thum-list li p { font-size: clamp(1.5rem, 1.41vw, 1.8rem); color: #909090; margin-top: 1rem; } 
 #content .list.list-ty3 .thum-list li .desc { width: 100%; padding: 2rem; background: #FFF; } 
#content .banner-wrap { width: 100%; margin-bottom: 4rem; } 
#content .banner-wrap img { width: 100%; } 
#content .partner-map { width: 100%; margin-bottom: 4rem; max-height: 80rem; overflow: hidden; } 
 .form-group .select-wrap { border: 1px solid #e8e8e8; border-radius: .8rem; padding: 0 2rem; } 
.form-group .select-wrap .arrow { right: 16px; } 
.form-group textarea { width: 100%; } 

 @media (max-width : 768px){
 #content .list.list-ty2 li .img { max-width: 100%; } 
 #content .list.list-ty2 li .inner { display:block; } 
 #content .list.list-ty3 .thum-list { grid-template-columns: repeat(2, 1fr); gap: 1rem; } 
 #content .banner-wrap img { } 
 #content .list.list-ty3 .thum-list li .desc { width: 100%; padding: 1.2rem; background: #FFF; } 
.form-group textarea { width: calc(100% - 4rem); height: 30rem; } 
.btn-primary { background: #2b5f2c; color: white; padding: 0.8rem 1rem; border-radius: 0.4rem; font-size: 1.6rem; border: none; cursor: pointer; } 
.bus-form { padding: 0 1rem; } 
/* 수정 */
 #content .list.list-ty3 .thum-list li .thumb { padding: 2rem; } 
 .form-group .select-wrap {
    max-width: 100% !important;
    width: 100%;
}

/* 모바일 헤더 수정 */
#header.header.new-header.header--transparent .m_menu svg line {
    stroke: #fff;
}
 }

 /* 비디오 재생버튼 추가 */
/* 기본 썸네일 박스 */
.gal-thumb.video-thumb{
  position: relative;
  display: inline-block;
  overflow: hidden;      /* 둥근 모서리 쓰면 마스크도 같이 잘림 */
  border-radius: 0.75rem;/* 선택 사항 */
}

/* 반투명 블랙 마스크 */
.gal-thumb.video-thumb::before{
  content: "";
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events: none;
}

/* 중앙 플레이 아이콘 (SVG data URI) */
.gal-thumb.video-thumb::after{
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 60px;
  height: 60px;
  transform: translate(-50%, -50%);
  background: no-repeat center / contain
    url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="60" height="60" viewBox="0 0 60 60" fill="none"><circle cx="30" cy="30" r="29.5" stroke="white"/><path d="M43 26.5359C45.6667 28.0755 45.6667 31.9245 43 33.4641L26.5 42.9904C23.8333 44.53 20.5 42.6055 20.5 39.5263L20.5 20.4737C20.5 17.3945 23.8333 15.47 26.5 17.0096L43 26.5359Z" fill="white"/></svg>');
  opacity: 0;
  transition: opacity .2s ease;
  pointer-events: none;
}

/* hover & focus 상태에서만 노출 */
.gal-thumb.video-thumb:hover::before,
.gal-thumb.video-thumb:hover::after,
.gal-thumb.video-thumb:focus-within::before,
.gal-thumb.video-thumb:focus-within::after{
  opacity: 1;
}

 /* 신청양식 수정 */
 @media (max-width : 640px){
 .form.qna_section .form-table .form-group td input#author {width: 100%!important;} /* 260115 추가 */
 .form-table tr.form-group{
  display: flex;
  flex-direction: column;
  gap: 1rem;
  margin-top: 2rem;
  margin: 0;
 }
 .form-table tr.form-group th {
    width: 100%;
    padding: 0;
    background: initial;
}
 .form-table tr.form-group th br{
  display: none;
 }
 .form-table .form-group td {
    padding: 0;
    border-bottom : none;
}
 .form-table .form-group td input{
  height: 4.8rem;
 }
 .form-table .form-group .chk-list{
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
 }
 .form-table .form-group .chk-list label {
    min-width: 6rem;
    margin-bottom: 0;
}
 .form-table .form-group .chk-list .flex-form{
  display: flex;
  width: 100%;
  align-items: center;
 }
  .form-table .form-group .chk-list .flex-form label{margin-bottom: 0;}

.gal-thumb.video-thumb::after{
  width: 3rem;
  height: 3rem;
}
 }
 
 
 /*스폰서 ui변경 */
 .sp-sub--medical,.sp-sub {
    background: #ffffff;padding:0;    border-radius: 15px;
    border: 1px solid #000;
}
.sp-sub__title{background:#000;width: 100%;text-align: center;border-top-left-radius: 15px;
    border-top-right-radius: 15px;}
.sp-sub__logos {
    display: grid;
    justify-content: center;
    align-items: center;
    gap: 1rem;
    grid-template-columns: repeat(3, 1fr);
    margin-bottom: 6rem;
    text-align:center;
} 
.sp-sub__logo{margin-bottom: 6rem;}  
@media (max-width:1435px){
 .sp-sub__logos {
    grid-template-columns: repeat(2, 1fr);
    padding: 5%;
    gap: 3rem;
}  
.sp-sub__logos img{max-height:100%;width:100%;}
  }
  
  
/*기록/순위 */
.year-select-wrap {
  display: flex;
  justify-content: flex-end; 
  align-items: center;
  gap: 10px;
  position: relative; 
  z-index: 10;
}

.highlight {
  background-color: #f0f8ff;
  font-weight: bold;
}

.custom-select-wrapper {
  position: relative;
  font-family: Arial, sans-serif;
}

.custom-select-trigger {
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 32px;
  font-weight: bold;
  color: #2E533E; 
  border-radius: 6px;
  cursor: pointer;
  background-color: #fff;
  white-space: nowrap; 
}

.arrow-svg {
  width: auto;
  height: 30px;
  transition: transform 0.2s ease-in-out;
  margin-left: 10px; 
}

.custom-select-options {

  display: none; 
  

  position: absolute; 
  top: 100%; 
  left: 0;
  right: 0;
  
  background-color: #fff;
  border: 1px solid #ccc;
  border-radius: 4px;
  margin-top: 5px; 
  

  max-height: 200px;
  overflow-y: auto;
  
  list-style: none;
  padding: 0;
  margin: 0;
}

.custom-select-options li {
  padding: 10px 15px;
  font-size: 16px;
  color: #333;
  cursor: pointer;
}

.custom-select-options li:hover {
  background-color: #f4f4f4;
}

.custom-select-options li.selected {
  background-color: #2E533E; /* 짙은 녹색 배경 */
  color: #fff; /* 흰색 글씨 */
  font-weight: bold;
}

/* 'is-open' 클래스가 붙었을 때 (열렸을 때) */
.custom-select-wrapper.is-open .custom-select-options {
  display: block; /* 옵션 목록을 보여줌 */
}

.custom-select-wrapper.is-open .arrow-svg {
  transform: rotate(180deg); /* 화살표를 180도 회전 (위로) */
}

#selectedYearText{    padding: 5px;
    border-radius: 4px;
    outline: none;
    min-width: 40px;
    display: inline-block;
    color: #2A2A2A;
    font-size: clamp(2.8rem, 2.50vw, 4rem);
    font-weight: 700;
    line-height: 150%;
    letter-spacing: -0.16rem;
    }
@media (max-width: 768px) {
	.arrow-svg {height: 22px;}
	.sub-head {gap: 1rem;padding: 4rem 0;}
	.sub__header {height: 20rem;} /* 251203 수정 */
	.sub__header h1 {margin: 0;}
}
.year-select-wrap {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  gap: 10px;
}

.year-select {
  min-width: 120px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23333' d='M1 1l5 5 5-5'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 10px center;
  appearance: none;
  -webkit-appearance: none;
  -moz-appearance: none;
}

.highlight {
  background-color: #f0f8ff;
  font-weight: bold;
}

/* 시작: 251119 추가: 큐앤에이 리스트 중 비밀글 아이콘 */
.disc-table .disc-tbody .disc-row .disc-cell .fa-solid.fa-secret {
    display: inline-block;
    margin-left: 0.4rem;
    width: clamp(1.5rem, 1.41vw, 1.8rem);
    height: clamp(1.4rem, 1.25vw, 1.6rem);
    background: url(../img/icon/icon_lock_gray.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain;
}
/* 끝: 251119 추가: 큐앤에이 리스트 중 비밀글 아이콘 */
 
  /* 시즌종료 css 추가 : 모바일배너 추가 */
   .MO{display:none !important;}
  @media (max-width: 500px) {
    .MO{display:block !important;}
    .PC{display:none !important;}
    .end_season {height: auto;}
    .end_season img {
      width: 100%;
      height: auto;
      object-fit: contain;
      object-position: center;
      image-rendering: pixelated;
    }
  }