@charset "utf-8";

/* 색 설정 (Figma code mode 기준) */
:root {
    --bg:        #081a33;   /* 베이스(어두운 섹션) */
    --bg-slate:  #303e53;   /* 밝은 섹션 / 박스 */
    --footer-bg: #0a1322;   /* 푸터 */
    --gold:      #dac783;   /* 포인트 골드 */
    --gold-tan:  #c9a86a;   /* 선수 포지션 텍스트 */
    --sub:       #949dab;   /* 보조 텍스트 */
    --txt:       #ffffff;
    --glass:     rgba(255,255,255,.1);   /* 반투명 박스 */
    --glass-05:  rgba(255,255,255,.05);  /* 옅은 반투명 박스 */
    --line:      rgba(255,255,255,.12);
}

/* size */
@media screen and (max-width: 1250px) { } /* tablet */
@media screen and (max-width: 950px) { }  /* 햄버거 */
@media screen and (max-width: 650px) { }  /* mobile */

/* 스크롤 커스텀 */
html::-webkit-scrollbar {width: 8px;}
html::-webkit-scrollbar-track {background-color: var(--bg);}
html::-webkit-scrollbar-thumb {background-color: var(--gold); border-radius: 10px;}

/* 드래그 블록 커스텀 */
::selection { background-color:var(--gold); color:var(--bg); }

.paging_box{ display: flex; align-self: center; justify-content: center; margin-top: 40px; }

/* default */
*{
    font-size: inherit;
    font-weight: inherit;
    font-family: inherit;
    color : inherit;
    box-sizing: border-box;
    letter-spacing: inherit;
    line-height: inherit;
}

body{ font-family: 'Montserrat', 'Pretendard', sans-serif; font-weight:400; font-size: 16px; letter-spacing: -0.02em; line-height:1.4; }
section{ display:block; }
a{ color:inherit; }
a:hover{ text-decoration: none; color: inherit; }
img{ max-width:100%; display:block; }
em{ font-style:normal; }

.inner{ width:1200px; margin:0 auto; padding:0 20px; }

@media screen and (max-width: 1250px) {
    .inner{ width:100%; padding:0 20px; }
    header .inner{ width:100%; padding:0 20px; }
} /* tablet */

.viewContent b{ font-weight: 600; }

/* =========================================================
   공통 요소
   ========================================================= */

/* 공통 화살표 버튼 (반투명 채움형) */
.btn{ display:inline-flex; align-items:center; gap:10px; padding:20px 30px; font-size:24px; font-weight:600; color:#fff; border-radius:5px; background:var(--glass); backdrop-filter:blur(4px); -webkit-backdrop-filter:blur(4px); transition:.25s; }
.btn:hover{ background:rgba(255,255,255,.18); color:#fff; }
.btn.sm{ padding:10px 20px; font-size:18px; font-weight:400; }
.btn-arrow{ width:28px; height:auto; flex-shrink:0; transition:transform .25s; }
.btn:hover .btn-arrow{ transform:translateX(4px); }

/* 로고 — 기본(흰색), header.sub 일 때만 검정 */
.logo{ display:inline-flex; align-items:center; line-height:1; }
.logo img{ width:165px; display:block; }
.logo img.black{ display:none; }
header.sub .logo img.default{ display:none; }
header.sub .logo img.black{ display:block; }

/* 섹션 공통 제목 */
.sec-head{ margin-bottom:50px; }
.sec-label{ display:inline-block; font-size:18px; font-weight:600; color:rgba(255,255,255,.3); margin-bottom:14px; }
.sec-title{ font-size:32px; font-weight:600; line-height:1.25; }
.sec-title em{ color:var(--gold); }
.sec-desc{ margin-top:18px; font-size:18px; word-break: keep-all; color:#fff; line-height:1.4; max-width:680px; }
.sec-desc + .sec-desc{ margin-top:12px; }

/* 반응형 줄바꿈 — mo-br: 모바일만, pc-br: PC만 */
.mo-br{ display:none; }
.pc-br{ display:inline; }
@media screen and (max-width: 650px) {
    .mo-br{ display:inline; }
    .pc-br{ display:none; }
}

@media screen and (max-width: 950px) {
    .sec-title{ font-size:28px; }
}
@media screen and (max-width: 650px) {
    .sec-head{ margin-bottom:34px; }
}

.main{ color: var(--txt); background: var(--bg); }

/* .main > section 공통 패딩 */
.main > section{ padding:120px 0; }
@media screen and (max-width: 1250px) {
    .main > section{ padding:90px 0; }
}
@media screen and (max-width: 950px) {
    .main > section{ padding:74px 0; }
}
@media screen and (max-width: 650px) {
    .main > section{ padding:60px 0; }
}

/* 등장 애니메이션 (.ani) — keyframe (idle 상태에서도 재생) */
.ani{ opacity:0; transform:translateY(30px); }
.ani.on{ animation:aniReveal .7s ease forwards; }
@keyframes aniReveal{
    from{ opacity:0; transform:translateY(30px); }
    to{ opacity:1; transform:translateY(0); }
}


/* =========================================================
   header
   ========================================================= */
header{ position:fixed; top:0; left:0; width:100%; z-index:100; transition:.3s; }
header.on{ background:rgba(8,26,51,.92); backdrop-filter:blur(8px); box-shadow:0 1px 0 var(--line); }
header .inner{ display:flex; align-items:center; justify-content:space-between; width:1860px; max-width:100%; height:90px; margin:0 auto; }
header nav ul{ display:flex; gap:42px; }
header nav a{ font-size:16px; font-weight:500; letter-spacing:.04em; color:#fff; transition:.2s; }
header nav a:hover{ color:var(--gold); }

.menu-btn{ display:none; width:30px; height:22px; position:relative; z-index:102; background:none; border:0; cursor:pointer; }
.menu-btn span{ position:absolute; left:0; width:100%; height:2px; background:#fff; transition:.3s; }
.menu-btn span:nth-child(1){ top:0; }
.menu-btn span:nth-child(2){ top:50%; transform:translateY(-50%); }
.menu-btn span:nth-child(3){ bottom:0; }

@media screen and (max-width: 950px) {
    header .inner{ height:68px; }
    header .logo img{ width:140px; }
    .menu-btn{ display:block; }
    header nav{ position:fixed; top:0; right:-100%; width:75%; max-width:320px; height:100vh; background:var(--footer-bg); padding:90px 30px; transition:right .35s; z-index:101; box-shadow:-10px 0 40px rgba(0,0,0,.4); }
    header nav.open{ right:0; }
    header nav ul{ flex-direction:column; gap:0; }
    header nav li{ border-bottom:1px solid var(--line); }
    header nav a{ display:block; padding:18px 0; font-size:16px; }
    .menu-btn.active span:nth-child(1){ top:50%; transform:translateY(-50%) rotate(45deg); }
    .menu-btn.active span:nth-child(2){ opacity:0; }
    .menu-btn.active span:nth-child(3){ bottom:50%; transform:translateY(50%) rotate(-45deg); }
    body.menu-open{ overflow:hidden; }
}
@media screen and (max-width: 650px) {
    header .inner{ height:60px; }
    header .logo img{ width:120px; }
}


/* =========================================================
   visual(hero) — .main .visual-section
   ========================================================= */
.main .visual-section{ position:relative; min-height:100vh; display:flex; align-items:center; background:var(--bg); overflow:hidden; padding:0; }
.main .visual-section .video-bg{ position:absolute; inset:0; width:100%; height:100%; z-index:0; }
.main .visual-section .video-bg video{ width:100%; height:100%; object-fit:cover; display:block; }
.main .visual-section .player-img{ position:absolute; right:-20px; bottom:0; z-index:2; height:87%; width:auto; max-width:52%; object-fit:contain; object-position:bottom right; opacity:.8; }
.main .visual-section .inner{ position:relative; z-index:3; }
.main .visual-section .hero-logo{ display:block; margin-bottom:32px; }
.main .visual-section .hero-logo img{ width:434px; max-width:60%; height:auto; display:block; }
.main .visual-section .hero-title{ font-size:62px; font-weight:700; line-height:1.2; margin-bottom:36px; word-break:keep-all; background:linear-gradient(90deg, #fff5d2 0%, #e2d39b 50%, #ceb96c 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.main .visual-section .btn-wrap{ display:flex; gap:14px; }

@media screen and (max-width: 1250px) {
    .main .visual-section{ height: 600px; min-height: unset; }
    .main .visual-section .hero-title{ font-size:48px; }
    .main .visual-section .btn{ font-size:20px; padding:16px 26px; }
}
@media screen and (max-width: 950px) {
    .main .visual-section .hero-title{ font-size:38px; }
    .main .visual-section .player-img{ max-width:78%; opacity:.7; right: -15%; bottom: 0;  }
}
@media screen and (max-width: 650px) {
    .main .visual-section{ height: auto; display:flex; flex-direction: column; min-height:auto; padding:120px 0 64px; padding-bottom: 0; }
    .main .visual-section .player-img{ order: 1; position: static; max-width:100%; opacity:1; transform: translateX(18%); }
    .main .visual-section .hero-logo{ margin-bottom:24px; }
    .main .visual-section .hero-logo img{ order: 1; width:240px; }
    .main .visual-section .hero-title{ margin-bottom:30px; }
    .main .visual-section .btn-wrap{ flex-wrap:wrap; gap:10px; }
    .main .visual-section .btn{ padding:13px 20px; }
    .main .visual-section .btn-arrow{ width:22px; }
}


/* =========================================================
   featured — .main .featured-section
   ========================================================= */
.main .featured-section{ position:relative; background:#101E32; }
.main .featured-section .feat-card{ position:relative; z-index:1; display:grid; grid-template-columns:460px 1fr; gap:60px; align-items:end; }
.main .featured-section .feat-left{ position:relative; display:flex; flex-direction:column; }
.main .featured-section .feat-photo{ position:relative; display:flex; align-items:flex-end; justify-content:center; }
/* 파란 글로우 워터마크 */
/* .main .featured-section .feat-photo::before{ content:""; position:absolute; left:50%; top:55%; transform:translate(-50%,-50%); width:834px; height:834px; max-width:150%; border-radius:50%; background:radial-gradient(circle, rgba(0,102,255,.2) 0%, rgba(0,102,255,0) 70%); z-index:0; pointer-events:none; } */
.main .featured-section .feat-photo img{ position:relative; z-index:1; width:100%; max-height:556px; object-fit:contain; object-position:bottom; }
.main .featured-section .feat-quote{ margin-top:14px; text-align:center; font-size:24px; font-weight:400; color:#fff; line-height:1.4; }
.main .featured-section .feat-quote strong{ display:inline-block; margin-top:8px; font-weight:600; background:linear-gradient(90deg, #fffae8 0%, #dac783 50%, #b09a4b 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.main .featured-section .feat-right{ padding-bottom:10px; }
.main .featured-section .feat-name{ display:flex; align-items:baseline; gap:16px; }
.main .featured-section .feat-name strong{ font-size:48px; font-weight:600; letter-spacing:2.4px; }
.main .featured-section .feat-name span{ font-size:32px; font-weight:400; }
.main .featured-section .feat-pos{ margin:14px 0; padding-bottom:24px; border-bottom:1px solid var(--line); color:var(--gold); font-weight:500; font-size:24px; }
.main .featured-section .feat-box{ background:var(--glass); border-radius:10px; padding:20px; }
.main .featured-section .feat-meta{ margin-top:30px; }
.main .featured-section .feat-meta > div{ display:flex; gap:30px; padding:4px 0; }
.main .featured-section .feat-meta dt{ width:40px; flex-shrink:0; color:var(--sub); font-size:18px; }
.main .featured-section .feat-meta dd{ color:#fff; font-weight:400; font-size:17px; word-break:keep-all; }
.main .featured-section .feat-careers{ display:grid; grid-template-columns:1fr 1fr; gap:16px; margin-top:16px; }
.main .featured-section .feat-careers li{ display:flex; gap:20px; padding:4px 0; }
.main .featured-section .feat-careers li span{ color:var(--sub); font-size:18px; min-width:74px; flex-shrink:0; }
.main .featured-section .feat-careers li em{ color:#fff; font-weight:400; font-size:15px; }

@media screen and (max-width: 1250px) {
    .main .featured-section .feat-card{ grid-template-columns:360px 1fr; gap:40px; align-items:start; }
    .main .featured-section .feat-name strong{ font-size:38px; }
    .main .featured-section .feat-name span{ font-size:24px; }
}
@media screen and (max-width: 950px) {
    .main .featured-section .feat-card{ grid-template-columns:280px 1fr; gap:30px; }
    .main .featured-section .feat-careers{ grid-template-columns:1fr; }
}
@media screen and (max-width: 650px) {
    .main .featured-section .feat-meta dt{ width: 74px; }
    .main .featured-section .feat-card{ grid-template-columns:1fr; gap:30px; }
}


/* =========================================================
   players — .main .players-section
   ========================================================= */
.main .players-section{ background:var(--bg-slate); }
.main .players-section .player-tabs{ display:flex; gap:10px; margin-bottom:42px; flex-wrap:wrap; }
.main .players-section .player-tabs .tab{ border:none; padding:8px 12px; font-size:20px; font-weight:500; border-radius:5px; background:var(--glass); color:#8c8c8c; cursor:pointer; transition:.2s; }
.main .players-section .player-tabs .tab span{ font-size:16px; font-weight:400; }
.main .players-section .player-tabs .tab.on{ background:#10284c; color:var(--gold); }
.main .players-section .player-tabs .tab:hover{ color:#fff; }
.main .players-section .player-tabs .tab.on:hover{ color:var(--gold); }
.main .players-section .player-panel{ display:none; }
.main .players-section .player-panel.on{ display:block; }
.main .players-section .player-empty{ padding:80px 20px; text-align:center; font-size:18px; color:var(--sub); border-radius:8px; background:var(--glass-05); }
.main .players-section .player-slider{ position:relative; overflow:hidden; padding-bottom:50px; }
.main .players-section .player-slider .swiper-slide{ height:auto; }.main .players-section .player-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.main .players-section .player-card{ position:relative; aspect-ratio:282/336; overflow:hidden; border-radius:5px; transition:.25s; background:radial-gradient(120% 95% at 50% 28%, #1b3c6e 0%, #142d52 55%, #0d1e36 100%); }
.main .players-section .player-card::before{ content:""; position:absolute; inset:0; z-index:0; background:url('../img/main/players/watermark.svg') no-repeat center 36%; background-size:62% auto; opacity:.08; }
.main .players-section .player-card:hover{ transform:translateY(-4px); }
.main .players-section .player-thumb{ background-image: url('../img/main/players/background.jpg'); background-size: cover; background-repeat: no-repeat; background-position: center; position:relative; z-index:1; width:100%; height:100%; object-fit:cover; object-position:top center; }
.main .players-section .player-card::after{ content:""; position:absolute; z-index:2; left:0; right:0; bottom:0; height:55%; background:linear-gradient(transparent, #000); }
.main .players-section .player-info{ position:absolute; z-index:3; left:0; bottom:0; width:100%; padding:20px; }
.main .players-section .player-info strong{ display:block; font-size:24px; font-weight:500; color:#fff; }
.main .players-section .player-info span{ word-break: keep-all; display:block; margin-top:6px; font-size:18px; color:var(--gold-tan); }
.main .players-section .player-slider .swiper-pagination{ position:absolute; right:0; bottom:0; left:auto; width:auto; font-size:18px; color:#fff; }
.main .players-section .player-slider .swiper-pagination .swiper-pagination-current{ color:var(--gold); }

@media screen and (max-width: 1250px) {
    .main .players-section .player-grid{ grid-template-columns:repeat(3,1fr); }
}
@media screen and (max-width: 650px) {
    .main .players-section .player-grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
}


/* =========================================================
   affiliates — .main .affiliates-section
   ========================================================= */
.main .affiliates-section{ align-items: flex-start; background:var(--bg); }
.main .affiliates-section .aff-row{ display:grid; grid-template-columns:minmax(0,1fr) 690px; gap:50px; padding:50px 0; border-top:1px solid var(--line); align-items:start; }
.main .affiliates-section .aff-row:last-child{ border-bottom:1px solid var(--line); }
.main .affiliates-section .aff-eyebrow{ font-size:18px; font-weight:400; color:#fff; margin-bottom:14px; }
.main .affiliates-section .aff-name{ font-size:32px; font-weight:600; line-height:1.3; }
.main .affiliates-section .aff-cat{ word-break: keep-all; margin:14px 0 24px; font-size:18px; font-weight:400; color:var(--gold); }
.main .affiliates-section .aff-text{ margin-top:18px; font-size:18px; font-weight:400; color:#fff; line-height:1.4; }
.main .affiliates-section .aff-left .btn{ margin-top:4px; }

.main .affiliates-section .aff-box{ background:var(--bg-slate); border-radius:10px; padding:20px; }
.main .affiliates-section .aff-box + .aff-box{ margin-top:18px; }
.main .affiliates-section .aff-box-label{ display:block; font-size:18px; color:var(--sub); font-weight:400; }
.main .affiliates-section .aff-area{ display:flex; gap:20px; align-items:flex-start; }
.main .affiliates-section .aff-area .aff-box-label{ width:80px; flex-shrink:0; }
.main .affiliates-section .aff-area p{ word-break: keep-all; flex:1; min-width:0; font-size:18px; color:#fff; line-height:1.4; }

.main .affiliates-section .aff-player{ display:flex; align-items:flex-start; gap:20px; }
.main .affiliates-section .aff-player > .aff-box-label{ width:80px; flex-shrink:0; }
.main .affiliates-section .jk-body{ display:flex; gap:20px; }
.main .affiliates-section .jk-body > .aff-box-label{ width:80px; flex-shrink:0; }
.main .affiliates-section .jk-players{ flex:1; min-width:0; }
.main .affiliates-section .aff-player-info{ flex:1; min-width:0; }
.main .affiliates-section .aff-player-name{ margin:6px 0 14px; }
.main .affiliates-section .aff-player-name strong{ font-size:24px; font-weight:500; }
.main .affiliates-section .aff-player-name em{ font-size:16px; color:#fff; margin-left:6px; }
.main .affiliates-section .aff-tags{ display:flex; gap:24px; margin-bottom:14px; flex-wrap:wrap; }
.main .affiliates-section .aff-tags > div{ display:flex; gap:14px; align-items:baseline; }
.main .affiliates-section .aff-tags dt{ font-size:18px; color:var(--sub); }
.main .affiliates-section .aff-tags dd{ font-size:20px; font-weight:400; color:#fff; }
.main .affiliates-section .aff-hist{ display:flex; gap:14px; font-size:20px; line-height:1.4; color:#fff; }
.main .affiliates-section .aff-hist span{ color:var(--sub); font-size:18px; flex-shrink:0; }
.main .affiliates-section .aff-face{ width:147px; aspect-ratio: 500/666; border-radius:6px; flex-shrink:0; object-fit:cover; object-position:top center; -webkit-mask-image:linear-gradient(#000 70%, transparent); mask-image:linear-gradient(#000 70%, transparent); }

/* JK Sports */
.main .affiliates-section .jk-box .jk-agent{ font-size:20px; font-weight:400; margin-bottom:24px; }
.main .affiliates-section .jk-box > .aff-box-label{ margin-bottom:14px; }
.main .affiliates-section .jk-players li + li{ border-top:1px solid var(--line); }
.main .affiliates-section .jk-players .aff-player{ padding:20px 0; }
.main .affiliates-section .jk-players .aff-player:first-child{ padding-top:0; }

/* CAA BASE 다이어그램 */
.main .affiliates-section .caa-diagram{ display:flex; flex-direction:column; gap:18px; }
.main .affiliates-section .caa-group{ display:grid; grid-template-columns:282px 1fr; gap:0 30px; align-items:flex-start; }
.main .affiliates-section .caa-node{ grid-row:span 3; align-self:start; background:var(--bg-slate); border-radius:10px; min-height:80px; padding:16px; display:flex; flex-direction:column; align-items:center; justify-content:flex-start; gap:6px; text-align:center; }
.main .affiliates-section .caa-node > img{ height:34px; width:auto; max-width:85%; display:block; }
.main .affiliates-section .caa-node > img.size1{ height: 50px; }
.main .affiliates-section .caa-node em{ font-size:15px; color:#fff; }
.main .affiliates-section .caa-list{ display:flex; flex-direction:column; gap:10px; }
.main .affiliates-section .caa-group:first-child .caa-list{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.main .affiliates-section .caa-group:first-child .caa-list li:first-child{ grid-column:1 / -1; }
.main .affiliates-section .caa-group:first-child .caa-node{ grid-row:span 2; }
.main .affiliates-section .caa-list li{ background:var(--glass-05); border-radius:10px; min-height:60px; padding:10px 18px; display:flex; flex-direction:column; justify-content:center; font-size:18px; font-weight:400; }
.main .affiliates-section .caa-list li em{ display:block; margin-top:2px; font-size:15px; color:var(--sub); font-weight:300; }

@media screen and (max-width: 1250px) {
    .main .affiliates-section .aff-row{ grid-template-columns:1fr; gap:24px; }
    .main .affiliates-section .aff-name br{ display:none; }
    .main .affiliates-section .aff-text br{ display:none; }
}
@media screen and (max-width: 650px) {
    .main .affiliates-section .aff-area{ flex-direction:column; gap:8px; }
    .main .affiliates-section .aff-player{ flex-direction: column; flex-wrap:wrap; gap: 10px; }
    .main .affiliates-section .aff-player-info{ order: 2; }
    .main .affiliates-section .caa-group{ grid-template-columns:1fr; gap:12px; }
    .main .affiliates-section .caa-node{ grid-row:auto; }
    .main .affiliates-section .caa-group:first-child .caa-list{ grid-template-columns:1fr; }
    .main .affiliates-section .caa-group:first-child .caa-list li:first-child{ grid-column:auto; }

    .main .affiliates-section .jk-body{ flex-direction: column; }
}


/* =========================================================
   about — .main .about-section
   ========================================================= */
.main .about-section{ position:relative; background:linear-gradient(rgba(8,26,51,.88), rgba(8,26,51,.95)), url('../img/main/about/stadium.jpg') center/cover no-repeat; padding-bottom:120px; }
.main .about-section .about-top{ display:grid; grid-template-columns:1fr 588px; gap:60px; align-items:start; }
.main .about-section .about-top .sec-head{ margin-bottom:0; }
.main .about-section .about-top .sec-label{ font-size:20px; }
.main .about-section .about-top .sec-desc{ word-break: keep-all; font-size:18px; }
.main .about-section .value-list{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.main .about-section .value-card{ position:relative; background:var(--glass-05); border-radius:5px; padding:54px 20px 20px; min-height:198px; }
.main .about-section .value-tab{ position:absolute; top:0; left:0; display:inline-flex; align-items:center; height:40px; padding:0 34px 0 20px; background:linear-gradient(90deg, #e4c77b, #dac783); color:#222; font-size:24px; font-weight:600; border-radius:5px 0 0 0; clip-path:polygon(0 0, 100% 0, calc(100% - 18px) 100%, 0 100%); }
.main .about-section .value-kr{ display:block; font-size:18px; color:#fff; font-weight:500; margin-bottom:12px; }
.main .about-section .value-card p{ word-break: keep-all; font-size:18px; color:#fff; line-height:1.4; }
.main .about-section .value-icon{ position:absolute; right:10px; bottom:10px; width:auto; width: 60px; height:56px;opacity:.5; }

@media screen and (max-width: 1250px) {
    .main .about-section .about-top{ grid-template-columns:1fr; gap:40px; }
}
@media screen and (max-width: 650px) {
    .main .about-section{ padding-bottom:60px; }
    .main .about-section .value-list{ grid-template-columns:1fr; gap:16px; }
}

/* about > business */
.main .about-section .business{ margin-top:110px; }
.main .about-section .business-label{ display:block; text-align:center; font-size:20px; margin-bottom:18px; }
.main .about-section .business-lead{ text-align:center; font-size:28px; font-weight:600; line-height:1.4; margin-bottom:50px; word-break:keep-all; }
.main .about-section .business-list{ display:grid; grid-template-columns:repeat(4,1fr); gap:40px; padding:50px 0; border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.main .about-section .business-list em{ display:block; font-size:24px; font-weight:600; color:#fff; margin-bottom:30px; }
.main .about-section .business-list strong{ display:block; font-size:28px; font-weight:600; margin-bottom:10px; }
.main .about-section .business-list span{ font-size:20px; color:#fff; line-height:1.4; }

@media screen and (max-width: 1250px) {
    .main .about-section .business-list{ grid-template-columns:repeat(2,1fr); gap:40px 30px; }
}
@media screen and (max-width: 950px) {
    .main .about-section .business-list strong{ font-size:24px; }
}
@media screen and (max-width: 650px) {
    .main .about-section .business{ margin-top:64px; }
    .main .about-section .business-lead{ margin-bottom:34px; }
    .main .about-section .business-list{ grid-template-columns:1fr; gap:28px; padding:34px 0; }
    .main .about-section .business-list em{ margin-bottom:14px; }
}


/* =========================================================
   partners — .main .partners-section
   ========================================================= */
.main .partners-section{ background:var(--bg); }
.main .partners-section .partner-wrap .partner-main{ display: flex; flex-direction: column; align-items: flex-start; justify-content: flex-start; }
.main .partners-section .partner-wrap{ display:grid; grid-template-columns:590px 1fr; gap:48px; align-items:start; }
.main .partners-section .partner-main .plco-chip{ display:flex; align-items:center; height:80px; padding:0 28px; background:var(--glass); border-radius:10px; }
.main .partners-section .partner-main .plco-chip img{ height:40px; width:auto; object-fit:contain; object-position:left center; }
.main .partners-section .partner-main h4{ word-break: keep-all; font-family: 'Pretendard', sans-serif; margin-top:24px; font-size:28px; font-weight:500; line-height:1.2; }
.main .partners-section .partner-main p{ word-break: keep-all; margin-top:14px; font-size:20px; color:#fff; line-height:1.4; }
.main .partners-section .partner-list li{ align-items: flex-start; display:flex; gap:24px; padding:14px 0; }
.main .partners-section .partner-list li + li{ border-top:1px solid var(--line); }
.main .partners-section .partner-chip{ flex-shrink:0; width:180px; height:60px; display:flex; align-items:center; justify-content:center; gap:8px; background:var(--glass); border-radius:7px; }
.main .partners-section .partner-chip img{ max-width:75%; max-height:30px; object-fit:contain; }
.main .partners-section .partner-chip.crest img{ max-width:none; width: auto; height:auto; }
.main .partners-section .partner-chip .crest-txt{ font-size:13px; font-weight:400; color:#fff; }
.main .partners-section .partner-text strong{ display:block; font-size:20px; font-weight:500; margin-bottom:8px; }
.main .partners-section .partner-text p{ word-break: keep-all; font-size:18px; color:#fff; line-height:1.4; }

@media screen and (max-width: 1250px) {
    .main .partners-section .partner-wrap{ grid-template-columns:1fr; gap:34px; }
}
@media screen and (max-width: 650px) {
    .main .partners-section .partner-list li{ flex-direction:column; align-items:flex-start; gap:14px; }
}


/* =========================================================
   contact — .main .contact-section
   ========================================================= */
.main .contact-section{ background:var(--bg); padding-top: 0; }
.main .contact-section .contact-inner{ display:grid; grid-template-columns:1fr 586px; gap:50px; align-items:start; }
.main .contact-section .contact-info .sec-title{ margin-bottom:30px; }
.main .contact-section .contact-info dl > div{ display:flex; gap:20px; padding:6px 0; }
.main .contact-section .contact-info dt{ width:100px; flex-shrink:0; font-size:16px; font-weight:400; color:var(--sub); }
.main .contact-section .contact-info dd{ display:flex; align-items:center; gap:8px; font-size:18px; font-weight:400; color:#fff; }
.main .contact-section .contact-info dd img{ width:20px; height:20px; }
.main .contact-section .contact-map{ aspect-ratio:586/290; border-radius:5px; overflow:hidden; }
.main .contact-section .contact-map iframe{ width:100%; height:100%; border:0; display:block; }

@media screen and (max-width: 1250px) {
    .main .contact-section .contact-inner{ grid-template-columns:1fr; gap:30px; }
}
@media screen and (max-width: 650px) {
    .main .contact-section .contact-info dt{ width:80px; }
}


/* =========================================================
   footer
   ========================================================= */
footer{ background:var(--footer-bg); padding:60px 0 56px; }
footer .footer-top{ display:flex; align-items:flex-start; justify-content:space-between; margin-bottom:44px; }
footer .footer-top .logo img{ width:165px; }
footer .footer-sns{ display:flex; gap:20px; }
footer .footer-sns img{ width:24px; height:24px; object-fit:contain; }
/* 인스타는 외곽선 아이콘이라 다크 푸터에서 어둡게 보임 → facebook/linkedin처럼 흰 뱃지로 통일 */
footer .footer-sns a:has(img[alt="instagram"]){ display:inline-flex; align-items:center; justify-content:center; width:24px; height:24px; background:#fff; border-radius:6px; }
footer .footer-sns a:has(img[alt="instagram"]) img{ width:20px; height:20px; filter:invert(1); }
footer .footer-info{ display:flex; flex-direction:column; gap:14px; }
footer .footer-info > div{ display:flex; gap:30px; font-size:14px; }
footer .footer-info dt{ width:240px; flex-shrink:0; font-weight:500; color:#fff; }
footer .footer-info dd{ color:#ddd; }
footer .footer-copy{ margin-top:30px; text-align:right; font-size:14px; color:#ddd; }

@media screen and (max-width: 950px) {
    footer .footer-info dt{ width:200px; }
}
@media screen and (max-width: 650px) {
    footer .footer-top{ flex-direction:column; gap:20px; }
    footer .footer-info > div{ flex-direction:column; gap:2px; }
    footer .footer-info dt{ width:auto; }
    footer .footer-copy{ text-align:left; margin-top:24px; }
}

/* =========================================================
   mobile typography (max-width: 650px)
   ========================================================= */
@media screen and (max-width: 650px) {
    body{ font-size:14px; }

    .btn{ font-size:14px; }
    .btn.sm{ font-size:15px; }
    .sec-label{ font-size:13px; }
    .sec-title{ font-size:21px; }
    .sec-desc{ font-size:13px; }

    header nav a{ font-size:14px; }

    .main .visual-section .hero-title{ font-size:24px; }
    .main .visual-section .btn{ font-size:14px; }

    .main .featured-section .feat-name strong{ font-size:28px; }
    .main .featured-section .feat-name span{ font-size:20px; }
    .main .featured-section .feat-quote{ font-size:16px; }
    .main .featured-section .feat-pos{ font-size:20px; }
    .main .featured-section .feat-meta dt{ font-size:15px; }
    .main .featured-section .feat-meta dd,
    .main .featured-section .feat-careers li em{ font-size:14px; }
    .main .featured-section .feat-careers li span{ font-size:15px; }

    .main .players-section .player-tabs .tab{ font-size:14px; }
    .main .players-section .player-tabs .tab span{ font-size:12px; }
    .main .players-section .player-info strong{ font-size:16px; }
    .main .players-section .player-info span{ font-size:12px; }
    .main .players-section .player-empty{ font-size:15px; }
    .main .players-section .player-slider .swiper-pagination{ font-size:15px; }

    .main .affiliates-section .aff-eyebrow,
    .main .affiliates-section .aff-cat,
    .main .affiliates-section .aff-text,
    .main .affiliates-section .aff-box-label,
    .main .affiliates-section .aff-area p{ font-size:15px; }
    .main .affiliates-section .aff-name{ font-size:22px; }
    .main .affiliates-section .aff-player-name strong{ font-size:20px; }
    .main .affiliates-section .aff-player-name em{ font-size:14px; }
    .main .affiliates-section .aff-tags dt,
    .main .affiliates-section .aff-hist span{ font-size:15px; }
    .main .affiliates-section .aff-tags dd,
    .main .affiliates-section .aff-hist,
    .main .affiliates-section .jk-box .jk-agent{ font-size:17px; }
    .main .affiliates-section .caa-list li{ font-size:15px; }
    .main .affiliates-section .caa-node em,
    .main .affiliates-section .caa-list li em{ font-size:13px; }

    .main .about-section .about-top .sec-label,
    .main .about-section .business-label{ font-size:17px; }
    .main .about-section .about-top .sec-desc{ font-size:15px; }
    .main .about-section .value-tab{ font-size:20px; }
    .main .about-section .value-kr{ font-size:15px; }
    .main .about-section .value-card p{ font-size:14px; }
    .main .about-section .business-lead{ font-size:17px; }
    .main .about-section .business-list em{ font-size:20px; }
    .main .about-section .business-list strong{ font-size:19px; }
    .main .about-section .business-list span{ font-size:14px; }

    .main .partners-section .partner-main h4{ font-size:19px; }
    .main .partners-section .partner-main p{ font-size:14px; }
    .main .partners-section .partner-text strong{ font-size:16px; }
    .main .partners-section .partner-text p{ font-size:13px; }

    .main .contact-section .contact-info dt{ font-size:12px; }
    .main .contact-section .contact-info dd{ font-size:14px; }

    footer .footer-info > div,
    footer .footer-copy{ font-size:12px; }
}


/* =========================================================
   선수 상세 프로필 팝업 — .player-modal
   ========================================================= */
.player-modal{ display:none; position:fixed; inset:0; z-index:1000; align-items:center; justify-content:center; padding:20px; }
.player-modal.on{ display:flex; }
.player-modal .pm-dim{ position:absolute; inset:0; background:rgba(0,0,0,.6); backdrop-filter:blur(2px); cursor:pointer; }
.player-modal .pm-dialog{ height: 600px; background-image: url('../img/main/players/popup-background.jpg'); background-size: cover; background-position: center; background-repeat: no-repeat; position:relative; z-index:1; width:1100px; max-width:100%; max-height:90vh; overflow:hidden; border-radius:10px; box-shadow:0 30px 80px rgba(0,0,0,.5); }
/* 배경 S4 워터마크 */
/* .player-modal .pm-dialog::before{ content:""; position:absolute; left:-40px; top:50%; transform:translateY(-50%); width:70%; height:120%; background:url('../img/main/players/watermark.svg') no-repeat left center; background-size:contain; opacity:.05; pointer-events:none; z-index:0; } */
/* 하단 검정 그라데이션 (배경+인물 아래를 어둡게) */
.player-modal .pm-dialog::after{ content:""; position:absolute; top:0; left:0; right:0; bottom:0; z-index:2; border-radius:inherit; background:linear-gradient(to bottom, transparent 51%, rgba(0,0,0,.8) 98%); pointer-events:none; }

.player-modal .pm-close{ position:absolute; right:24px; top:24px; z-index:3; width:50px; height:50px; border-radius:50%; border:1px solid var(--gold); background:rgba(0,0,0,.2); color:var(--gold); cursor:pointer; display:flex; align-items:center; justify-content:center; transition:.2s; }
.player-modal .pm-close:hover{ background:var(--gold); color:var(--bg); }
.player-modal .pm-close svg{ width:24px; height:24px; }

/* 인물 사진 (우측) */
.player-modal .pm-photo{ background-size: auto 90%; background-position:bottom center; background-repeat: no-repeat;  position:absolute; right:0; bottom:0; z-index:1; width:46%; height:100%; pointer-events:none; background-repeat:no-repeat; -webkit-mask-image:linear-gradient(90deg, transparent 0%, #000 22%); mask-image:linear-gradient(90deg, transparent 0%, #000 22%); }

/* 좌측 정보 */
.player-modal .pm-info{ position:relative; z-index:3; width:60%; min-width:0; height:100%; max-height:100%; box-sizing:border-box; padding:56px 0 80px 60px; overflow-y:auto; -ms-overflow-style:none; scrollbar-width:none; }
.player-modal .pm-info::-webkit-scrollbar{ display:none; }
.player-modal .pm-head{ display:flex; align-items:baseline; gap:16px; flex-wrap:wrap; }
.player-modal .pm-name{ font-size:48px; font-weight:600; letter-spacing:4.8px; line-height:1.1; background:linear-gradient(90deg, #f1e8c7 0%, #dac783 50%, #c9a86a 100%); -webkit-background-clip:text; background-clip:text; color:transparent; }
.player-modal .pm-birth{ font-size:20px; color:#fff; letter-spacing:.8px; }

.player-modal .pm-tags{ display:flex; gap:14px; margin-top:34px; flex-wrap:wrap; }
.player-modal .pm-tag{ display:flex; align-items:center; gap:16px; padding:5px 20px; border-radius:5px; background:rgba(0,0,0,.3); backdrop-filter:blur(5px); }
.player-modal .pm-tag dt{ flex-shrink: 0; font-size:20px; color:#ddd; }
.player-modal .pm-tag dd{ font-size:24px; font-weight:600; color:#fff; }

.player-modal .pm-row{ display:flex; gap:20px; align-items:baseline; padding:18px 0; border-bottom:1px solid var(--line); }
.player-modal .pm-row:first-of-type{ margin-top:30px; }
.player-modal .pm-row dt{ width:84px; flex-shrink:0; font-size:20px; color:rgba(221,221,221,.87); }
.player-modal .pm-row dd{ font-size:20px; font-weight:500; color:rgba(255,255,255,.87); }

.player-modal .pm-career{ margin-top:24px; padding-bottom:16px; }
.player-modal .pm-career-label{ display:block; font-size:20px; color:rgba(221,221,221,.87); margin-bottom:14px; }
.player-modal .pm-career li{ display:flex; gap:20px; padding:5px 0; }
.player-modal .pm-career li span{ line-height: 1.5em; width:150px; flex-shrink:0; font-size:20px; color:rgba(221,221,221,.87); }
.player-modal .pm-career li em{ font-size:20px; font-weight:500; color:rgba(255,255,255,.87); line-height:1.4; word-break:keep-all; }

@media screen and (max-width: 950px) {
    .player-modal .pm-dialog{ height: auto; display:flex; flex-direction:column; max-height:90vh; }
    .player-modal .pm-photo{  background-size: auto 90%; position:relative; flex-shrink:0; width:100%; height:280px; background-position:bottom center; -webkit-mask-image:linear-gradient(#000 70%, transparent); mask-image:linear-gradient(#000 70%, transparent); }
    .player-modal .pm-info{ width:100%; flex:1; min-height:0; max-height:none; height:auto; padding:30px 24px 60px; }
    .player-modal .pm-name{ font-size:34px; }
    .player-modal .pm-tag dd{ font-size:20px; }
    .player-modal .pm-dialog::before{ display:none; }
}
@media screen and (max-width: 650px) {
    .player-modal{ padding:0; }
    .player-modal .pm-dialog{ display:flex; flex-direction:column; max-height:100vh; height:100%; border-radius:0; }
    .player-modal .pm-info{ flex:1; min-height:0; height:auto; padding-bottom:60px; }
    .player-modal .pm-dialog::after{ display: none; }
    .player-modal .pm-photo{ height:130vw; }
    .player-modal .pm-name{ font-size:28px; letter-spacing:2px; }
    .player-modal .pm-birth{ font-size: 16px; }
    .player-modal .pm-tags{ gap:8px; margin-top:24px; }
    .player-modal .pm-tag{ padding:5px 10px; gap:10px; font-size: 14px; }
    .player-modal .pm-tag dt{ font-size:16px; }
    .player-modal .pm-tag dd{ font-size:18px; }
    .player-modal .pm-row dt,
    .player-modal .pm-row dd,
    .player-modal .pm-career-label,
    .player-modal .pm-career li span,
    .player-modal .pm-career li em{ font-size:16px; }
    .player-modal .pm-career li span{ width:104px; }
    .player-modal .pm-close{ width:42px; height:42px; right:16px; top:16px; }
}


/* =========================================================
   PLAYERS 목록 서브페이지 — .players-page
   ========================================================= */
.players-page{ background:#eef1f4; color:#333; }

/* 서브페이지 헤더(.sub): 최상단=투명, 스크롤 시=흰 배경. 글씨는 항상 검정 */
header.sub{ background:transparent; box-shadow:none; backdrop-filter:none; }
header.sub.on{ background:#fff; box-shadow:0 1px 0 rgba(0,0,0,.08); backdrop-filter:none; }
header.sub nav a{ color:#222; }
header.sub nav a:hover{ color:var(--gold); }
header.sub .menu-btn span{ background:#222; }
@media screen and (max-width: 950px) {
    header.sub nav a{ color:#fff; }   /* 모바일 드로어(다크 배경)에서는 흰색 */
}

/* 비주얼 배너 (라이트) */
.players-page .sub-visual{ position:relative; height:380px; display:flex; align-items:center; background:url('../img/main/players/banner.jpg') bottom center/cover no-repeat; }
.players-page .sub-visual h1{ font-size:48px; font-weight:700; letter-spacing:2px; color:#10284c; }

/* 탭바 (a 태그) */
.players-page .ptab-bar{ background:#10284c; }
.players-page .ptab-bar .inner{ display:flex; align-items:center; padding: 20px 0; gap:48px; }
.players-page .ptab{ font-size:24px; font-weight:500; color:rgba(255,255,255,.7); transition:.2s; white-space:nowrap; }
.players-page .ptab span{ font-size:20px; }
.players-page .ptab.on{ font-weight:600; color:var(--gold-tan); }
.players-page .ptab:hover{ color:#fff; }
.players-page .ptab.on:hover{ color:var(--gold-tan); }

/* 선수 목록 그리드 */
.players-page .players-list-section{ padding:80px 0 120px; }
.players-page .player-grid{ display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.players-page .player-card{ position:relative; aspect-ratio:282/336; overflow:hidden; border-radius:5px; transition:.25s; background:url('../img/main/players/background.jpg') no-repeat center / cover, radial-gradient(120% 95% at 50% 28%, #1b3c6e 0%, #142d52 55%, #0d1e36 100%); }
.players-page .player-card::before{ content:""; position:absolute; inset:0; z-index:0; background:url('../img/main/players/watermark.svg') no-repeat center 36%; background-size:62% auto; opacity:.08; }
.players-page .player-card:hover{ transform:translateY(-4px); }
.players-page .player-thumb{ background-image: url('../img/main/players/background.jpg'); background-size: cover; background-repeat: no-repeat; background-position: center; position:relative; z-index:1; width:100%; height:100%; object-fit:cover; object-position:top center; }
.players-page .player-card::after{ content:""; position:absolute; z-index:2; left:0; right:0; bottom:0; height:55%; background:linear-gradient(transparent, #000); }
.players-page .player-info{ position:absolute; z-index:3; left:0; bottom:0; width:100%; padding:20px; }
.players-page .player-info strong{ display:block; font-size:24px; font-weight:600; color:#fff; }
.players-page .player-info span{ display:block; margin-top:6px; font-size:18px; color:var(--gold-tan); }

/* 페이징 (개발 시 .paging_box 안에 실제 페이징 출력) */
.players-page .paging_box{ margin-top:50px; padding:20px 0; display:flex; align-items:center; justify-content:center; gap:6px; color:#888; font-size:15px; }

@media screen and (max-width: 1250px) {
    .players-page .ptab-bar .inner{ gap:32px; }
    .players-page .player-grid{ grid-template-columns:repeat(3,1fr); }
}
@media screen and (max-width: 950px) {
    .players-page .sub-visual{ height:300px; }
    .players-page .sub-visual h1{ font-size:38px; }
    .players-page .ptab-bar .inner{ height:auto; padding:18px 20px; flex-wrap:wrap; gap:14px 28px; }
    .players-page .ptab{ font-size:20px; }
    .players-page .ptab span{ font-size:16px; }
    .players-page .players-list-section{ padding:60px 0 90px; }
}
@media screen and (max-width: 650px) {
    .players-page .sub-visual{ height:240px; }
    .players-page .sub-visual h1{ font-size:30px; }
    .players-page .ptab-bar .inner{ padding:16px 20px; gap:10px 20px; }
    .players-page .ptab{ font-size:15px; }
    .players-page .ptab span{ font-size:13px; }
    .players-page .player-grid{ grid-template-columns:repeat(2,1fr); gap:14px; }
    .players-page .player-info strong{ font-size:18px; }
    .players-page .player-info span{ font-size:14px; }
    .players-page .players-list-section{ padding:50px 0 70px; }
}


/* =========================================================
   AFFILIATES 서브페이지 — .affiliates-page
   ========================================================= */
.affiliates-page{ background:#fff; color:#333; }

/* 비주얼 배너 (라이트) */
.affiliates-page .sub-visual{ position:relative; height:380px; display:flex; align-items:center; background:url('../img/main/affiliates/banner.jpg') bottom center/cover no-repeat; }
.affiliates-page .sub-visual h1{ font-size:48px; font-weight:700; letter-spacing:2px; color:#10284c; }

/* 인트로 */
.affiliates-page .aff-intro{ padding:100px 0 20px; }
.affiliates-page .aff-intro-top{ display:grid; grid-template-columns:1fr 1.4fr; gap:60px; align-items:start; }
.affiliates-page .head-title{ font-size:32px; font-weight:700; line-height:1.3; color:#222; }
.affiliates-page .head-title em{ color:#c9a86a; }
.affiliates-page .head-desc{ font-size:18px; color:#333; line-height:1.7; word-break:keep-all; }
.affiliates-page .aff-intro-our{ margin-top:60px; }
.affiliates-page .our-label{ font-size:24px; font-weight:700; }
.affiliates-page .our-desc{ margin-top:12px; font-size:18px; word-break:keep-all; }

/* 밴드 */
.affiliates-page .aff-band{ background-size: cover; background-repeat: no-repeat; background-position: bottom center; padding:90px 0; border-top:1px solid #e5e7ea; }
.affiliates-page .aff-band.alt{ background:#f6f6f6; }
.affiliates-page .aff-band-head{ max-width:840px; margin:0 auto 40px; text-align:center; }
.affiliates-page .aff-band-head .eyebrow{ font-size:18px; font-weight:500; color:#c9a86a; }
.affiliates-page .aff-band-head h2{ margin:14px 0; font-size:32px; font-weight:700; line-height:1.3; color:#222; }
.affiliates-page .aff-band-head .desc{ font-size:18px; color:#333; line-height:1.5; word-break:keep-all; }
/* 라이트 밴드용 버튼 (반투명 검정 + 검정 화살표) */
.affiliates-page .aff-band-head .btn{ margin-top:24px; background:rgba(34,34,34,.08); color:#222; }
.affiliates-page .aff-band-head .btn:hover{ background:rgba(34,34,34,.16); color:#222; }
.affiliates-page .aff-band-head .btn .btn-arrow{ filter:invert(1); }
.affiliates-page .aff-detail > .btn{ display:flex; width:fit-content; margin:30px auto 0; background:rgba(34,34,34,.08); color:#222; }
.affiliates-page .aff-detail > .btn:hover{ background:rgba(34,34,34,.16); color:#222; }
.affiliates-page .aff-detail > .btn .btn-arrow{ filter:invert(1); }

/* 디테일 행 (사업영역 / 대표선수 / 파트너십 구조) */
.affiliates-page .aff-line{ display:grid; grid-template-columns:140px 1fr; gap:20px; padding:30px 0; border-top:1px solid #e5e7ea; }
.affiliates-page .aff-detail > *:last-child{ border-bottom:1px solid #e5e7ea; }
.affiliates-page .aff-line > .label,
.affiliates-page .aff-rep > .label{ font-size:24px; font-weight:500; color:#1b3c6e; }
.affiliates-page .aff-line .text{ font-size:20px; color:#333; line-height:1.6; word-break:keep-all; }
.affiliates-page .aff-struct .text{ margin-bottom:34px; }

/* 대표선수 행 */
.affiliates-page .aff-rep{ display:grid; grid-template-columns:140px 1fr 200px; gap:20px; padding:30px 0; border-top:1px solid #e5e7ea; align-items:start; }
.affiliates-page .aff-player .name{ display:flex; align-items:baseline; gap:8px; }
.affiliates-page .aff-player .name strong{ font-size:24px; font-weight:600; color:#222; }
.affiliates-page .aff-player .name span{ font-size:16px; color:#999; }
.affiliates-page .aff-tags{ display:flex; flex-wrap:wrap; gap:14px 28px; margin:18px 0; }
.affiliates-page .aff-tags > div{ display:flex; align-items:baseline; gap:14px; }
.affiliates-page .aff-tags dt{ font-size:18px; color:#999; }
.affiliates-page .aff-tags dd{ font-size:20px; font-weight:500; color:#333; }
.affiliates-page .aff-careers li{ display:flex; gap:20px; padding:4px 0; }
.affiliates-page .aff-careers li span{ width:96px; flex-shrink:0; font-size:18px; color:#999; }
.affiliates-page .aff-careers li em{ font-size:20px; color:#333; line-height:1.4; word-break:keep-all; }

/* 대표선수 사진 (다크 카드 유지) */
.affiliates-page .aff-photo{ position:relative; width:200px; aspect-ratio:200/238; border-radius:5px; overflow:hidden; background:radial-gradient(120% 95% at 50% 28%, #1b3c6e 0%, #142d52 55%, #0d1e36 100%); }
.affiliates-page .aff-photo::before{ content:""; position:absolute; inset:0; z-index:0; background:url('../img/main/players/watermark.svg') no-repeat center 36%; background-size:70% auto; opacity:.1; }
.affiliates-page .aff-photo img{ position:relative; z-index:1; width:100%; height:100%; object-fit:cover; object-position:bottom center; }
.affiliates-page .aff-photo::after{ content:""; position:absolute; z-index:2; left:0; right:0; bottom:0; height:50%; background:linear-gradient(transparent, #000); }

/* CAA 다이어그램 (노드=다크 네이비, 리스트=라이트) */
.affiliates-page .caa-diagram{ display:flex; flex-direction:column; gap:18px; }
.affiliates-page .caa-group{ display:grid; grid-template-columns:282px 1fr; gap:0 30px; align-items:center; }
.affiliates-page .caa-node{ grid-row:span 3; align-self:stretch; background:#10284c; border-radius:10px; min-height:80px; padding:16px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; text-align:center; }
.affiliates-page .caa-node > img{ height:34px; width:auto; max-width:85%; }
.affiliates-page .caa-node > img.size1{ height:50px; }
.affiliates-page .caa-node em{ font-size:15px; color:#fff; }
.affiliates-page .caa-list{ display:flex; flex-direction:column; gap:10px; }
.affiliates-page .caa-list li{ background:#eef1f4; border-radius:10px; min-height:60px; padding:10px 18px; display:flex; flex-direction:column; justify-content:center; font-size:18px; font-weight:500; color:#333; }
.affiliates-page .caa-list li em{ display:block; margin-top:2px; font-size:15px; color:#888; font-weight:400; }

@media screen and (max-width: 1250px) {
    .affiliates-page .aff-intro-top{ grid-template-columns:1fr; gap:30px; }
    .affiliates-page .aff-rep{ grid-template-columns:120px 1fr; }
    .affiliates-page .aff-rep .aff-photo{ grid-column:2; justify-self:start; margin-top:10px; }
    .affiliates-page .caa-group{ grid-template-columns:1fr; gap:12px; }
    .affiliates-page .caa-node{ grid-row:auto; }
}
@media screen and (max-width: 950px) {
    .affiliates-page .sub-visual{ height:300px; }
    .affiliates-page .sub-visual h1{ font-size:38px; }
    .affiliates-page .aff-band{ padding:64px 0; }
}
@media screen and (max-width: 650px) {
    .affiliates-page .sub-visual{ height:240px; }
    .affiliates-page .sub-visual h1{ font-size:30px; }
    .affiliates-page .aff-intro{ padding:60px 0 10px; }
    .affiliates-page .head-title{ font-size:26px; }
    .affiliates-page .aff-band-head h2{ font-size:24px; }
    .affiliates-page .aff-line,
    .affiliates-page .aff-rep{ grid-template-columns:1fr; gap:10px; }
    .affiliates-page .aff-rep .aff-player{ order: 1; }
    .affiliates-page .aff-line > .label,
    .affiliates-page .aff-rep > .label{ font-size:20px; }
    .affiliates-page .aff-line .text,
    .affiliates-page .aff-careers li em{ font-size:16px; }
    .affiliates-page .aff-careers li span{ width:88px; font-size:15px; }
    .affiliates-page .aff-rep .aff-photo{ grid-column:1; }
}


/* =========================================================
   ABOUT 서브페이지 — .about-page
   ========================================================= */
.about-page{ background:#fff; color:#333; }

/* 비주얼 배너 (라이트) */
.about-page .sub-visual{ position:relative; height:380px; display:flex; align-items:center; background:url('../img/main/about/banner.jpg') bottom center/cover no-repeat; }
.about-page .sub-visual h1{ font-size:48px; font-weight:700; letter-spacing:2px; color:#10284c; }

/* 공통 라벨/타이틀/설명 (라이트 섹션) */
.about-page .a-label{ display:inline-block; font-size:18px; font-weight:600; color:#1b3c6e; margin-bottom:18px; }
.about-page .a-title{ font-size:36px; font-weight:700; line-height:1.35; color:#222; }
.about-page .a-title.sm{ font-size:28px; }
.about-page .a-title em{ color:#c9a86a; }
.about-page .a-desc{ margin-top:22px; font-size:18px; color:#333; line-height:1.7; word-break:keep-all; }

/* WHO WE ARE */
.about-page .about-who{ padding:100px 0 70px; }

/* OUR BUSINESS (다크 카드 유지) */
.about-page .about-business{ padding:70px 0; }
.about-page .biz-cards{ margin-top:50px; display:grid; grid-template-columns:repeat(4,1fr); gap:20px; align-items:stretch; }
.about-page .biz-card{ background:#10284c; color:#fff; border-radius:5px; padding:36px 22px; text-align:center; display:flex; flex-direction:column; align-items:center; height:100%; box-sizing:border-box; }
.about-page .biz-icon{ display:inline-flex; width:85px; height:85px; flex-shrink:0; align-items:center; justify-content:center; color:var(--gold); }
.about-page .biz-icon img{ width:56px; height:56px; object-fit:contain; }
.about-page .biz-card strong{ display:block; margin-top:14px; font-size:22px; font-weight:600; flex-shrink:0; /*min-height:2.8em;*/ line-height:1.35; }
.about-page .biz-card p{ flex:1; margin-top:24px; padding-top:24px; border-top:1px solid rgba(255,255,255,.15); font-size:17px; color:#dbe3ef; line-height:1.5; word-break:keep-all; width:100%; }

/* OUR SYSTEM (배경 이미지 밴드 — 다크 유지) */
.about-page .about-system{ padding:90px 0; background:linear-gradient(rgba(48,62,83,.9), rgba(48,62,83,.9)), url('../img/main/about/system-bg.jpg') center/cover no-repeat; }
.about-page .about-system .a-label{ color:#dac783; }
.about-page .about-system .a-title{ color:#fff; }
.about-page .about-system .a-desc{ color:#fff; }
.about-page .sys-head{ max-width:840px; }
.about-page .sys-cards{ margin-top:50px; margin-left:auto; max-width:960px; display:grid; grid-template-columns:repeat(3,1fr); gap:24px; }
.about-page .sys-cards .sys-card:first-child{ grid-column:2; }
.about-page .sys-card{ background:rgba(255,255,255,.1); border-radius:5px; padding:24px; }
.about-page .sys-card .eyebrow{ font-size:16px; font-weight:500; color:var(--gold); }
.about-page .sys-card strong{ display:block; margin-top:8px; font-size:24px; font-weight:600; color:#fff; }
.about-page .sys-card p{ margin-top:16px; font-size:18px; color:#fff; line-height:1.5; word-break:keep-all; }

/* PURSUE (라이트, 밸류 카드) */
.about-page .about-pursue{ padding:90px 0; }
.about-page .val-cards{ margin-top:50px; display:grid; grid-template-columns:repeat(4,1fr); gap:24px; }
.about-page .val-card{ padding-top:6px; }
.about-page .val-icon{ width:50px; height:50px; object-fit:contain; filter:brightness(0); opacity:.78; }
.about-page .val-name{ display:flex; align-items:baseline; gap:12px; margin-top:24px; padding-top:24px; border-top:1px solid #e5e7ea; }
.about-page .val-name strong{ font-size:24px; font-weight:600; color:#222; }
.about-page .val-name span{ font-size:18px; color:#c9a86a; }
.about-page .val-card p{ margin-top:14px; font-size:18px; color:#333; line-height:1.5; word-break:keep-all; }

/* VISION (배경 이미지 카드 — 다크 유지) */
.about-page .about-vision{ padding:0 0 110px; }
.about-page .vision-card{ position:relative; border-radius:50px; overflow:hidden; padding:70px 20px; text-align:center; background:#41556e; }
.about-page .vision-card::before{ content:""; position:absolute; inset:0; background:url('../img/main/about/vision-bg.jpg') center/cover no-repeat; mix-blend-mode:overlay; opacity:.9; pointer-events:none; }
.about-page .vision-card > *{ position:relative; z-index:1; }
.about-page .v-label{ font-size:24px; font-weight:600; color:var(--gold); }
.about-page .v-title{ margin-top:18px; font-size:42px; font-weight:600; line-height:1.2; color:#fff; }
.about-page .v-desc{ margin-top:24px; font-size:22px; color:#fff; line-height:1.4; word-break:keep-all; }

@media screen and (max-width: 1250px) {
    .about-page .sys-cards{ max-width:none; margin-left:0; }
    .about-page .sys-cards .sys-card:first-child{ grid-column:auto; }
    .about-page .biz-cards{ grid-template-columns:repeat(2,1fr); gap:24px; grid-auto-rows:1fr; }
    .about-page .biz-card{ padding:36px 28px; }
    .about-page .val-cards{ grid-template-columns:repeat(2,1fr); gap:30px; }
}
@media screen and (max-width: 950px) {
    .about-page .sub-visual{ height:300px; }
    .about-page .sub-visual h1{ font-size:38px; }
    .about-page .a-title{ font-size:30px; }
    .about-page .sys-cards{ grid-template-columns:repeat(2,1fr); }
    .about-page .v-title{ font-size:34px; }
}
@media screen and (max-width: 650px) {
    .about-page .sub-visual{ height:240px; }
    .about-page .sub-visual h1{ font-size:30px; }
    .about-page .about-who{ padding:60px 0 50px; }
    .about-page .about-business,
    .about-page .about-system,
    .about-page .about-pursue{ padding:60px 0; }
    .about-page .a-title{ font-size:24px; }
    .about-page .a-title.sm{ font-size:22px; }
    .about-page .a-desc{ font-size:16px; }
    .about-page .biz-cards{ grid-template-columns:1fr; gap:16px; }
    .about-page .biz-card{ padding:32px 24px; }
    .about-page .sys-cards{ grid-template-columns:1fr; }
    .about-page .val-cards{ grid-template-columns:1fr; }
    .about-page .vision-card{ border-radius:24px; padding:50px 18px; }
    .about-page .v-title{ font-size:26px; }
    .about-page .v-desc{ font-size:16px; }
}


/* =========================================================
   PARTNERS 서브페이지 — .partners-page
   ========================================================= */
.partners-page{ background:#fff; color:#333; }
.partners-page .sub-visual{ position:relative; height:380px; display:flex; align-items:center; background:url('../img/main/partners/banner.jpg') bottom center/cover no-repeat; }
.partners-page .sub-visual h1{ font-size:48px; font-weight:700; letter-spacing:2px; color:#10284c; }

.partners-page .ptn-section{ padding:100px 0 120px; }
.partners-page .a-label{ display:inline-block; font-size:18px; font-weight:600; color:#1b3c6e; margin-bottom:18px; }
.partners-page .ptn-lead{ font-size:28px; font-weight:700; line-height:1.5; color:#222; word-break:keep-all; }
.partners-page .ptn-lead em{ color:#c9a86a; }

/* PLCO 카드 */
.partners-page .plco-card{ margin-top:50px; display:grid; grid-template-columns:1fr 1.2fr; gap:40px; background:#f7f7f7; border-radius:20px; padding:50px; }
.partners-page .plco-logo{ height:42px; width:auto; object-fit:contain; object-position:left center; }
.partners-page .plco-left h3{ margin-top:60px; font-size:28px; font-weight:600; line-height:1.2; color:#333; }
.partners-page .plco-left > p{ margin-top:16px; font-size:18px; color:#949dab; line-height:1.4; word-break:keep-all; }
.partners-page .plco-right{ display:flex; flex-direction:column; gap:30px; }
.partners-page .plco-block{ display:grid; grid-template-columns:160px 1fr; gap:20px; }
.partners-page .plco-block .lbl{ font-size:18px; font-weight:600; color:rgba(34,34,34,.5); line-height:1.4; }
.partners-page .plco-block p{ font-size:18px; color:#222; line-height:1.4; word-break:keep-all; }
.partners-page .plco-block ul{ list-style:disc; padding-left:20px; }
.partners-page .plco-block li{ font-size:18px; color:#777; line-height:1.6; }

/* 파트너 리스트 */
.partners-page .ptn-list{ margin-top:20px; display:flex; flex-direction:column; gap:20px; }
.partners-page .ptn-row{ display:grid; grid-template-columns:200px 1fr 320px; gap:30px; align-items:center; background:#f7f7f7; border-radius:20px; padding:30px 44px; min-height:160px; }
.partners-page .ptn-logo{ display:flex; align-items:center; }
.partners-page .ptn-logo img{ max-width:140px; max-height:34px; object-fit:contain; object-position:left center; }
.partners-page .ptn-logo.crest{ gap:10px; }
.partners-page .ptn-logo.crest img{ width:33px; height:auto; max-height:none; }
.partners-page .ptn-logo.crest span{ font-size:15px; font-weight:600; color:#333; }
.partners-page .ptn-desc{ font-size:18px; font-weight:500; color:#222; line-height:1.4; word-break:keep-all; }
.partners-page .ptn-points{ list-style:disc; padding-left:22px; }
.partners-page .ptn-points li{ font-size:18px; color:#777; line-height:1.55; }

@media screen and (max-width: 1250px) {
    .partners-page .plco-card{ grid-template-columns:1fr; gap:34px; }
    .partners-page .plco-left h3{ margin-top:24px; }
    .partners-page .ptn-row{ grid-template-columns:160px 1fr; row-gap:18px; }
    .partners-page .ptn-points{ grid-column:1 / -1; display:grid; grid-template-columns:repeat(2,1fr); }
}
@media screen and (max-width: 950px) {
    .partners-page .sub-visual{ height:300px; }
    .partners-page .sub-visual h1{ font-size:38px; }
    .partners-page .ptn-lead{ font-size:22px; }
}
@media screen and (max-width: 650px) {
    .partners-page .sub-visual{ height:240px; }
    .partners-page .sub-visual h1{ font-size:30px; }
    .partners-page .ptn-section{ padding:60px 0 80px; }
    .partners-page .ptn-lead{ font-size:18px; }
    .partners-page .plco-card{ padding:30px; }
    .partners-page .plco-left h3{ font-size:22px; }
    .partners-page .plco-block{ grid-template-columns:1fr; gap:8px; }
    .partners-page .plco-left > p, .partners-page .plco-block p, .partners-page .plco-block li{ font-size:16px; }
    .partners-page .ptn-row{ grid-template-columns:1fr; gap:14px; padding:24px; }
    .partners-page .ptn-points{ grid-template-columns:1fr; }
    .partners-page .ptn-desc, .partners-page .ptn-points li{ font-size:16px; }
}


/* =========================================================
   CONTACT 서브페이지 — .contact-page
   ========================================================= */
.contact-page{ background:#fff; color:#333; }
.contact-page .sub-visual{ position:relative; height:380px; display:flex; align-items:center; background:url('../img/main/contact/banner.jpg') bottom center/cover no-repeat; }
.contact-page .sub-visual h1{ font-size:48px; font-weight:700; letter-spacing:2px; color:#10284c; }

/* LOCATION */
.contact-page .location-section{ padding:80px 0 0; }
.contact-page .loc-title{ font-size:32px; font-weight:700; color:#10284c; }
.contact-page .loc-info{ margin-top:40px; padding-top:30px; border-top:1px solid #e5e7ea; }
.contact-page .loc-info > div{ display:flex; gap:30px; padding:12px 0; }
.contact-page .loc-info dt{ width:140px; flex-shrink:0; font-size:20px; font-weight:600; color:#10284c; }
.contact-page .loc-info dd{ font-size:20px; font-weight:500; color:#10284c; line-height:1.4; word-break:keep-all; }
.contact-page .loc-info dd.sns{ display:flex; align-items:center; gap:8px; color:#222; font-size:18px; }
.contact-page .loc-info dd.sns img{ width:20px; height:20px; filter:brightness(0); }
.contact-page .loc-map{ margin-top:50px; height:376px; }
.contact-page .loc-map img,
.contact-page .loc-map iframe{ width:100%; height:100%; border:0; object-fit:cover; display:block; }

/* GET IN TOUCH */
.contact-page .getintouch-section{ padding:80px 0 120px; }
.contact-page .git-title{ font-size:28px; font-weight:700; color:#10284c; padding-bottom:30px; border-bottom:1px solid #e5e7ea; }
.contact-page .git-grid{ margin-top:40px; display:grid; grid-template-columns:1fr 1fr; gap:30px 40px; }
.contact-page .git-field{ display:flex; align-items:center; gap:20px; }
.contact-page .git-field.full{ grid-column:1 / -1; align-items:flex-start; }
.contact-page .git-field > label{ width:90px; flex-shrink:0; font-size:20px; font-weight:500; color:#333; }
.contact-page .git-field em{ color:#c9a86a; }
.contact-page .git-field input,
.contact-page .git-field textarea{ flex:1 1 0; min-width:0; background:#f5f5f5; border:0; border-radius:5px; padding:0 18px; height:45px; font-size:16px; color:#333; font-family:inherit; }
.contact-page .git-field.full > label{ padding-top:12px; }
.contact-page .git-field textarea{ height:180px; padding:14px 18px; resize:none; line-height:1.5; }
.contact-page .git-bottom{ margin-top:30px; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.contact-page .git-agree{ display:flex; align-items:center; gap:8px; font-size:14px; color:#333; cursor:pointer; }
.contact-page .git-agree input{ width:15px; height:15px; }
.contact-page .git-agree .view{ color:#777; text-decoration:underline; }
.contact-page .git-submit{ width:150px; height:50px; flex-shrink:0; border:0; border-radius:0; background:#10284c; color:#fff; font-size:20px; font-weight:700; letter-spacing:.04em; cursor:pointer; }

@media screen and (max-width: 1250px) {
    .contact-page .loc-map{ height:300px; }
}
@media screen and (max-width: 950px) {
    .contact-page .sub-visual{ height:300px; }
    .contact-page .sub-visual h1{ font-size:38px; }
    .contact-page .git-grid{ grid-template-columns:1fr; gap:20px; }
    .contact-page .loc-map{ height:240px; }
}
@media screen and (max-width: 650px) {
    .contact-page .sub-visual{ height:240px; }
    .contact-page .sub-visual h1{ font-size:30px; }
    .contact-page .location-section{ padding:60px 0 0; }
    .contact-page .getintouch-section{ padding:60px 0 80px; }
    .contact-page .loc-info > div{ flex-direction:column; gap:4px; }
    .contact-page .loc-info dt, .contact-page .loc-info dd{ font-size:16px; }
    .contact-page .git-field{ flex-direction:column; align-items:stretch; gap:8px; }
    .contact-page .git-field.full{ align-items:stretch; }
    .contact-page .git-field > label{ width:auto; }
    .contact-page .git-field input{ flex:none; width:100%; padding:10px 18px; height:auto; }
    .contact-page .git-field textarea{ flex:none; width:100%; }
    .contact-page .git-bottom{ flex-direction:column; align-items:flex-start; gap:16px; }
}


/* =========================================================
   게시판 서브페이지 — .board-page (Players 글쓰기 / Contact 목록·상세)
   ========================================================= */
.board-page{ background:#fff; color:#333; }
.board-page .boardArti{ padding:140px 0 100px; }   /* 고정 헤더 보정 */
@media screen and (max-width: 950px) {
    .board-page .boardArti{ padding:120px 0 80px; }
}

/* 게시판 카테고리 — #bo_cate (Players 등) */
.boardArti #bo_cate{ margin-bottom:36px; }
.boardArti #bo_cate h2{
    position:absolute; width:1px; height:1px; padding:0; margin:-1px;
    overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}
.boardArti #bo_cate_ul{
    display:flex; flex-wrap:wrap; gap:10px;
    margin:0; padding:0; list-style:none;
}
.boardArti #bo_cate_ul li{ margin:0; padding:0; }
.boardArti #bo_cate_ul a{
    display:inline-flex; align-items:center;
    padding:10px 18px;
    font-size:18px; font-weight:500; line-height:1.35;
    color:#666; background:#eef1f4; border-radius:5px;
    transition:background .2s, color .2s;
    word-break:keep-all;
}
.boardArti #bo_cate_ul a:hover{ color:#10284c; background:#e2e6eb; }
.boardArti #bo_cate_ul a#bo_cate_on{
    background:#10284c; color:#c9a86a; font-weight:600;
}
.boardArti #bo_cate_ul a#bo_cate_on:hover{ color:#dac783; }

@media screen and (max-width: 950px) {
    .boardArti #bo_cate{ margin-bottom:28px; }
    .boardArti #bo_cate_ul a{ font-size:16px; padding:9px 14px; }
}
@media screen and (max-width: 650px) {
    .boardArti #bo_cate{ margin-bottom:22px; }
    .boardArti #bo_cate_ul{ gap:8px; }
    .boardArti #bo_cate_ul a{ font-size:14px; padding:8px 12px; }
}


/* =========================================================
   서브페이지 모바일 텍스트 축소 (메인페이지 기준)
   ========================================================= */
@media screen and (max-width: 650px) {
    /* 배너 타이틀 */
    .players-page .sub-visual h1,
    .affiliates-page .sub-visual h1,
    .about-page .sub-visual h1,
    .partners-page .sub-visual h1,
    .contact-page .sub-visual h1{ font-size:26px; }

    /* PLAYERS */
    .players-page .ptab{ font-size:14px; }
    .players-page .ptab span{ font-size:12px; }
    .players-page .player-info strong{ font-size:16px; }
    .players-page .player-info span{ font-size:12px; }

    /* AFFILIATES */
    .affiliates-page .head-title{ font-size:20px; }
    .affiliates-page .our-label{ font-size:16px; }
    .affiliates-page .our-desc,
    .affiliates-page .head-desc,
    .affiliates-page .aff-band-head .eyebrow,
    .affiliates-page .aff-band-head .desc,
    .affiliates-page .aff-text{ font-size:14px; }
    .affiliates-page .aff-name,
    .affiliates-page .aff-band-head h2{ font-size:20px; }
    .affiliates-page .aff-line > .label,
    .affiliates-page .aff-rep > .label,
    .affiliates-page .aff-player .name strong{ font-size:16px; }
    .affiliates-page .aff-line .text,
    .affiliates-page .aff-careers li em,
    .affiliates-page .aff-tags dd{ font-size:14px; }
    .affiliates-page .aff-careers li span,
    .affiliates-page .aff-tags dt,
    .affiliates-page .caa-list li{ font-size:13px; }
    .affiliates-page .caa-list li em,
    .affiliates-page .caa-node em{ font-size:12px; }

    /* ABOUT */
    .about-page .a-label{ font-size:14px; }
    .about-page .a-title{ font-size:20px; }
    .about-page .a-title.sm{ font-size:18px; }
    .about-page .a-desc{ font-size:14px; }
    .about-page .biz-card strong,
    .about-page .sys-card strong,
    .about-page .val-name strong{ font-size:18px; }
    .about-page .biz-card p,
    .about-page .sys-card p,
    .about-page .val-card p,
    .about-page .val-name span{ font-size:14px; }
    .about-page .sys-card .eyebrow{ font-size:13px; }
    .about-page .v-label{ font-size:15px; }
    .about-page .v-title{ font-size:20px; }
    .about-page .v-desc{ font-size:14px; }

    /* PARTNERS */
    .partners-page .a-label{ font-size:14px; }
    .partners-page .ptn-lead{ font-size:16px; }
    .partners-page .plco-left h3{ font-size:18px; }
    .partners-page .plco-block .lbl,
    .partners-page .ptn-logo.crest span{ font-size:14px; }
    .partners-page .plco-left > p,
    .partners-page .plco-block p,
    .partners-page .plco-block li,
    .partners-page .ptn-desc,
    .partners-page .ptn-points li{ font-size:14px; }

    /* CONTACT */
    .contact-page .loc-title{ font-size:22px; }
    .contact-page .git-title{ font-size:20px; }
    .contact-page .loc-info dt,
    .contact-page .loc-info dd{ font-size:14px; }
    .contact-page .git-field > label{ font-size:15px; }
    .contact-page .git-field input,
    .contact-page .git-field textarea{ font-size:14px; }
    .contact-page .git-submit{ font-size:16px; }
}
