@charset "utf-8";
/* ========================================
   강남구체스연맹 /sub 공통 스타일
   ======================================== */
.chess-sub {width:100%;margin:0 auto;color:var(--color-text,#22252B);font-size:16px;line-height:1.8;word-break:keep-all;}
.chess-sub *, .chess-sub *::before, .chess-sub *::after {box-sizing:border-box;}
.chess-sub .sub-heading {padding:65px 0 54px;text-align:center;}
.chess-sub .sub-eyebrow,.chess-sub .sub-section-label {display:block;color:var(--color-primary,#233E80);font-size:14px;font-weight:750;letter-spacing:.13em;}
.chess-sub .sub-title {margin:12px 0 14px;font-size:clamp(34px,3.3vw,52px);line-height:1.25;font-weight:800;}
.chess-sub .sub-description {margin:0;color:var(--color-text-sub,#666);font-size:18px;}
.chess-sub .sub-section {padding:65px 0;border-top:1px solid var(--color-border-gray,#DDE1E8);}
.chess-sub .sub-section-heading {margin-bottom:26px;}
.chess-sub .sub-section-heading h3 {margin:7px 0 0;font-size:clamp(26px,2.2vw,36px);line-height:1.35;font-weight:800;}
.chess-sub .sub-prose {max-width:1080px;}
.chess-sub .sub-prose p {margin:0;font-size:18px;line-height:1.95;}
.chess-sub .sub-grid {display:grid;gap:20px;}
.chess-sub .sub-grid-2 {grid-template-columns:repeat(2,minmax(0,1fr));}
.chess-sub .sub-card {min-width:0;padding:36px;border:1px solid var(--color-border-gray,#DDE1E8);border-radius:var(--radius-md,20px);background:var(--color-bg,#fff);}
.chess-sub .sub-card-index {display:inline-block;margin-bottom:13px;color:var(--color-accent,#D69A45);font-size:16px;font-weight:800;}
.chess-sub .sub-card h4 {margin:0 0 18px;font-size:23px;line-height:1.4;font-weight:750;}
.chess-sub .sub-bullet-list {padding:0;margin:0;list-style:none;}
.chess-sub .sub-bullet-list li {position:relative;padding-left:16px;margin-top:10px;color:var(--color-text-sub,#666);font-size:16px;line-height:1.75;}
.chess-sub .sub-bullet-list li::before {content:"";position:absolute;left:0;top:.8em;width:5px;height:5px;border-radius:50%;background:var(--color-primary,#233E80);}
/* ========================================
   0101 연맹소개 전용 스타일
   ======================================== */
.chess-about .chess-about-intro {border-top:3px solid var(--color-navy,#172B54);}
.chess-about .sub-quote {position:relative;max-width:1450px;padding:10px 0 8px 28px;border-left:4px solid var(--color-accent,#D69A45);background:transparent;border-radius:0;}
.chess-about .sub-quote p {margin:0;font-size:24px;font-weight:750;line-height:1.65;letter-spacing:-.035em;color:var(--color-text,#22252B);}
.chess-about .sub-vision-statement {max-width:1450px;margin:0 0 36px;padding:4px 0;background:transparent;border:0;border-radius:0;color:var(--color-navy,#172B54);font-size:24px;font-weight:800;line-height:1.65;letter-spacing:-.035em;}
@media(max-width:767px){
 .chess-sub .sub-heading{padding:38px 0 34px;}
 .chess-sub .sub-description{font-size:16px;}
 .chess-sub .sub-section{padding:42px 0;}
 .chess-sub .sub-prose p{font-size:16px;}
 .chess-sub .sub-grid-2{grid-template-columns:1fr;}
 .chess-sub .sub-card{padding:25px 22px;}
 .chess-sub .sub-card h4{font-size:20px;}
 .chess-about .sub-quote{padding:4px 0 4px 18px;border-left-width:3px;}
 .chess-about .sub-vision-statement{padding:0;margin-bottom:24px;}
}

/* ========================================
   0103 조직도
   ======================================== */
.chess-org .org-chart {padding:0 0 70px;}
.chess-org .org-leadership {display:flex;flex-direction:column;align-items:center;}
.chess-org .org-top-row {width:min(100%,1000px);display:grid;grid-template-columns:1fr minmax(260px,360px) 1fr;gap:24px;align-items:center;}
.chess-org .org-side {display:flex;flex-direction:column;gap:16px;}
.chess-org .org-support {position:relative;padding:20px 16px;text-align:center;background:var(--color-bg-gray,#F5F6F8);border:1px solid var(--color-border-gray,#DDE1E8);border-radius:12px;}
.chess-org .org-support h3 {margin:0;font-size:18px;font-weight:750;}
.chess-org .org-support p {margin:5px 0 0;font-size:14px;color:var(--color-text-sub,#666);line-height:1.55;}
.chess-org .org-side-left .org-support::after,.chess-org .org-side-right .org-support::before {content:"";position:absolute;top:50%;width:24px;height:1px;background:var(--color-border-gray,#DDE1E8);}
.chess-org .org-side-left .org-support::after {right:-25px;}
.chess-org .org-side-right .org-support::before {left:-25px;}
.chess-org .org-position {width:min(100%,360px);padding:23px 20px;text-align:center;border-radius:16px;}
.chess-org .org-position-label {display:block;margin-bottom:6px;font-size:12px;letter-spacing:.13em;font-weight:750;opacity:.8;}
.chess-org .org-position h3 {margin:0;font-size:25px;font-weight:800;line-height:1.4;}
.chess-org .org-position p {margin:9px 0 0;font-size:15px;line-height:1.65;}
.chess-org .org-president {background:var(--color-navy,#172B54);color:#fff;}
.chess-org .org-vice {border:1px solid #ccd6e6;background:#eef2f9;color:var(--color-navy,#172B54);}
.chess-org .org-vice-inner {margin:14px auto 0;padding:13px;border-radius:10px;background:#fff;}
.chess-org .org-vice-inner h4 {margin:0;font-size:19px;font-weight:750;}
.chess-org .org-vice-inner p {margin:5px 0 0;font-size:14px;}
.chess-org .org-office {background:var(--color-primary,#233E80);color:#fff;}
.chess-org .org-vertical-line {width:1px;height:30px;background:#9daec8;}
.chess-org .org-line-to-committees {height:42px;}
.chess-org .org-committees {position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;padding-top:27px;}
.chess-org .org-committees::before {content:"";position:absolute;top:0;left:calc((100% - 70px)/12);right:calc((100% - 70px)/12);height:1px;background:#9daec8;}
.chess-org .org-committee {position:relative;min-width:0;border:1px solid var(--color-border-gray,#DDE1E8);border-radius:14px;overflow:visible;background:#fff;}
.chess-org .org-committee::before {content:"";position:absolute;left:50%;top:-27px;height:27px;width:1px;background:#9daec8;}
.chess-org .org-committee-head {min-height:174px;padding:24px 14px 18px;border-bottom:1px solid var(--color-border-gray,#DDE1E8);text-align:center;}
/* 조직도 위원회 아이콘 */
.chess-org .org-committee-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    margin: 0 auto 12px;
    border-radius: 50%;
    background: #f0f3f8;
    color: var(--color-primary);
    font-size: 17px;
}
.chess-org .org-committee-head h3 {margin:9px 0;font-size:18px;line-height:1.4;font-weight:800;color:var(--color-navy,#172B54);}
.chess-org .org-committee-head p {margin:0;font-size:14px;line-height:1.6;color:var(--color-text-sub,#666);}
.chess-org .org-teams {list-style:none;margin:0;padding:15px 12px 18px;display:flex;flex-direction:column;gap:8px;}
.chess-org .org-teams li {padding:10px 8px;text-align:center;font-size:14px;line-height:1.4;border-radius:7px;background:var(--color-bg-gray,#F5F6F8);color:var(--color-text,#22252B);}
@media(max-width:1250px){
 .chess-org .org-committees {grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;padding-top:30px;}
 .chess-org .org-committees::before,.chess-org .org-committee::before,.chess-org .org-line-to-committees {display:none;}
 .chess-org .org-committee-head {min-height:148px;}
}
@media(max-width:767px){
 .chess-org .org-top-row {display:flex;flex-direction:column;gap:14px;}
 .chess-org .org-top-row .org-president {order:0;}
 .chess-org .org-side-left {order:1;}
 .chess-org .org-side-right {order:2;}
 .chess-org .org-side {width:100%;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
 .chess-org .org-side-right {grid-template-columns:1fr;}
 .chess-org .org-support {padding:14px 10px;}
 .chess-org .org-support::before,.chess-org .org-support::after {display:none;}
 .chess-org .org-position {width:100%;padding:20px 16px;}
 .chess-org .org-position h3 {font-size:22px;}
 .chess-org .org-vertical-line {height:22px;}
 .chess-org .org-committees {grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;}
 .chess-org .org-committee-head {min-height:168px;padding:18px 10px 12px;}
 .chess-org .org-committee-head h3 {font-size:16px;}
 .chess-org .org-committee-head p {font-size:14px;}
 .chess-org .org-teams {padding:10px 8px 12px;gap:7px;}
 .chess-org .org-teams li {font-size:14px;padding:9px 5px;}
}
@media(max-width:390px){
 .chess-org .org-committees {grid-template-columns:1fr;}
 .chess-org .org-committee-head {min-height:0;}
}



/* ========================================
   0104 오시는 길
   ======================================== */
.chess-location .location-map {
    width: 100%;
    height: clamp(340px, 34vw, 540px);
    overflow: hidden;
    border: 1px solid var(--color-border-gray, #DDE1E8);
    border-radius: 18px;
    background: var(--color-bg-gray, #F5F6F8);
}
.chess-location .location-map iframe {
    display: block;
    width: 100%;
    height: 100%;
    border: 0;
}
.chess-location .location-map-empty {
    display: flex;
    align-items: center;
    justify-content: center;
    height: 100%;
    padding: 24px;
    text-align: center;
    font-size: 16px;
    color: var(--color-text-sub, #666);
}
.chess-location .location-info {
    display: grid;
    grid-template-columns: minmax(240px, .85fr) minmax(0, 1.4fr);
    column-gap: 64px;
    row-gap: 22px;
    margin-top: 36px;
    padding: 38px 0 20px;
    border-top: 1px solid var(--color-border-gray, #DDE1E8);
}
.chess-location .location-info-eyebrow {
    display: block;
    margin-bottom: 12px;
    color: var(--color-primary, #233E80);
    font-size: 14px;
    font-weight: 800;
    letter-spacing: .1em;
}
.chess-location .location-info-heading h3 {
    margin: 0 0 12px;
    color: var(--color-navy, #172B54);
    font-size: 26px;
    font-weight: 800;
    line-height: 1.4;
}
.chess-location .location-info-heading p {
    margin: 0;
    color: var(--color-text-sub, #666);
    font-size: 16px;
    line-height: 1.7;
}
.chess-location .location-details {margin: 0;}
.chess-location .location-detail {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 16px;
    padding: 16px 0;
    border-bottom: 1px solid var(--color-border-gray, #DDE1E8);
}
.chess-location .location-detail:first-child {padding-top: 0;}
.chess-location .location-detail dt {
    color: var(--color-navy, #172B54);
    font-size: 16px;
    font-weight: 750;
}
.chess-location .location-detail dt span {
   display: block;
   margin-top: 4px;
   color: var(--color-text-sub, #666);
   font-size: 14px;
   font-weight: 400;
}
.chess-location .location-detail dd {
   display: flex;
   flex-flow: column nowrap;
   justify-content: center;
   min-width: 0;
   margin: 0;
   overflow-wrap: anywhere;
   color: var(--color-text, #22252B);
   font-size: 16px;
   line-height: 1.7;
}
.chess-location .location-detail dd a {color: inherit; text-decoration: none;}
.chess-location .location-detail dd a:hover {color: var(--color-primary, #233E80); text-decoration: underline;}
.chess-location .location-actions {grid-column: 2;}
.chess-location .location-directions {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    min-height: 48px;
    padding: 12px 20px;
    border: 1px solid var(--color-navy, #172B54);
    border-radius: 9px;
    background: var(--color-navy, #172B54);
    color: #fff;
    font-size: 15px;
    font-weight: 700;
    text-decoration: none;
    transition: background .2s, border-color .2s;
}
.chess-location .location-directions:hover {
    background: var(--color-primary, #233E80);
    border-color: var(--color-primary, #233E80);
    color: #fff;
}
@media (max-width: 970px) {
    .chess-location .location-info {grid-template-columns: 1fr; gap: 28px;}
    .chess-location .location-actions {grid-column: 1;}
}
@media (max-width: 767px) {
    .chess-location .location-map {height: 320px; border-radius: 12px;}
    .chess-location .location-info {margin-top: 24px; padding-top: 26px;}
    .chess-location .location-info-heading h3 {font-size: 22px;}
    .chess-location .location-detail {grid-template-columns: 1fr; gap: 8px; padding: 14px 0;}
    .chess-location .location-detail dt span {display: inline; margin-left: 8px;}
    .chess-location .location-directions {width: 100%;}
}




/* ========================================
   0201 연맹 주요 사업
   ======================================== */
.chess-business .sub-description {max-width:1000px;margin:0 auto;}
.chess-business .business-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin:36px 0 70px;}
.chess-business .business-card {min-width:0;padding:36px;border:1px solid var(--color-border-gray,#dce1e9);border-radius:18px;background:#fff;transition:box-shadow .25s ease,border-color .25s ease,transform .25s ease;}
.chess-business .business-card:hover {border-color:var(--color-primary,#233e80);box-shadow:0 14px 36px rgba(23,43,84,.07);transform:translateY(-3px);}
.chess-business .business-card-top {display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:24px;}
.chess-business .business-icon {display:flex;align-items:center;justify-content:center;flex:0 0 58px;width:58px;height:58px;border-radius:16px;background:#eef2f8;color:var(--color-primary,#233e80);font-size:24px;}
.chess-business .business-label {font-size:12px;letter-spacing:.09em;font-weight:750;color:var(--color-accent,#d69a45);text-align:right;}
.chess-business .business-card h3 {margin:0 0 18px;font-size:23px;line-height:1.45;font-weight:800;color:var(--color-primary,#233e80);word-break:keep-all;}
.chess-business .business-card p {margin:0;font-size:16px;line-height:1.9;color:var(--color-text-sub,#666);word-break:keep-all;overflow-wrap:break-word;}
@media(max-width:900px) {
  .chess-business .business-grid {gap:16px;}
  .chess-business .business-card {padding:26px;}
  .chess-business .business-card h3 {font-size:21px;}
}
@media(max-width:767px) {
  .chess-business .business-grid {grid-template-columns:1fr;margin-top:24px;gap:14px;}
  .chess-business .business-card {padding:24px 20px;border-radius:14px;}
  .chess-business .business-card-top {margin-bottom:16px;}
  .chess-business .business-icon {width:50px;height:50px;flex-basis:50px;font-size:21px;border-radius:13px;}
  .chess-business .business-card h3 {font-size:20px;margin-bottom:12px;}
  .chess-business .business-pc-only {display:none;}
}

/* ========================================
   0202 BGM 프로그램
   ======================================== */
.chess-bgm .sub-description {max-width:1080px;margin:0 auto;line-height:1.9;}
.chess-bgm .bgm-steps {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 68px;}
.chess-bgm .bgm-step {display:flex;align-items:center;gap:18px;min-width:0;padding:24px;border:1px solid var(--color-border-gray,#DDE1E8);border-radius:16px;background:var(--color-bg,#fff);color:var(--color-text,#22252B);text-decoration:none;transition:border-color .2s,box-shadow .2s;}
.chess-bgm .bgm-step:hover {border-color:var(--color-primary,#233E80);box-shadow:0 10px 30px rgba(23,43,84,.06);}
.chess-bgm .bgm-step-letter {display:flex;align-items:center;justify-content:center;flex:0 0 62px;width:62px;height:62px;border-radius:14px;background:var(--color-red,#ba4639);color:#fff;font-size:32px;font-weight:800;line-height:1;}
.chess-bgm .bgm-step:nth-child(2) .bgm-step-letter {background:var(--color-accent,#D69A45);}
.chess-bgm .bgm-step:nth-child(3) .bgm-step-letter {background:var(--color-green,#29583f);}
.chess-bgm .bgm-step-text {display:flex;flex:1;min-width:0;flex-direction:column;gap:6px;}
.chess-bgm .bgm-step-text strong {font-size:17px;line-height:1.35;color:var(--color-navy,#172B54);}
.chess-bgm .bgm-step-text span {font-size:14px;line-height:1.55;color:var(--color-text-sub,#666);}
.chess-bgm .bgm-step > .fa {font-size:16px;color:var(--color-primary,#233E80);}
.chess-bgm .bgm-section {scroll-margin-top:130px;}
.chess-bgm .bgm-section-heading {display:flex;align-items:center;gap:20px;margin-bottom:24px;}
.chess-bgm .bgm-stage-symbol {display:flex;align-items:center;justify-content:center;flex:0 0 68px;width:68px;height:68px;border-radius:17px;background:var(--color-red,#ba4639);color:#fff;font-size:34px;font-weight:800;}
.chess-bgm #bgm-grow .bgm-stage-symbol {background:var(--color-accent,#D69A45);}
.chess-bgm #bgm-master .bgm-stage-symbol {background:var(--color-green,#29583f);}
.chess-bgm .bgm-section-heading h3 {margin:6px 0 0;font-size:clamp(23px,2.2vw,32px);font-weight:800;line-height:1.4;color:var(--color-text,#22252B);}
.chess-bgm .bgm-section-intro {max-width:1200px;margin:0 0 30px;font-size:18px;line-height:1.9;color:var(--color-text-sub,#666);}
.chess-bgm .bgm-program-grid {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.chess-bgm .bgm-program-card {min-width:0;padding:32px;border:1px solid var(--color-border-gray,#DDE1E8);border-radius:18px;background:#fff;}
.chess-bgm .bgm-program-card-wide {grid-column:1/-1;}
.chess-bgm .bgm-program-icon {display:flex;align-items:center;justify-content:center;width:50px;height:50px;margin-bottom:20px;border-radius:14px;background:#EEF2F8;color:var(--color-primary,#233E80);font-size:22px;}
.chess-bgm .bgm-program-card h4 {margin:0 0 22px;color:var(--color-navy,#172B54);font-size:21px;font-weight:800;line-height:1.5;}
.chess-bgm .bgm-program-card dl {display:grid;grid-template-columns:72px minmax(0,1fr);gap:14px 18px;margin:0;}
.chess-bgm .bgm-program-card dt {font-size:15px;font-weight:800;color:var(--color-primary,#233E80);}
.chess-bgm .bgm-program-card dd {margin:0;font-size:16px;line-height:1.85;color:var(--color-text-sub,#666);}
.chess-bgm .bgm-program-card .sub-bullet-list li {font-size:16px;line-height:1.85;}
.chess-bgm .bgm-master-stack {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;}
.chess-bgm .bgm-master-stack > :first-child {grid-row:span 2;}
.chess-bgm .bgm-detail-list {list-style:none;padding:0;margin:0;}
.chess-bgm .bgm-detail-list li {padding:17px 0;border-top:1px solid var(--color-border-gray,#DDE1E8);}
.chess-bgm .bgm-detail-list li:first-child {border-top:0;padding-top:0;}
.chess-bgm .bgm-detail-list strong {display:block;font-size:16px;color:var(--color-primary,#233E80);}
.chess-bgm .bgm-detail-list p {margin:7px 0 0;font-size:16px;line-height:1.8;color:var(--color-text-sub,#666);}
@media(max-width:1200px) {
 .chess-bgm .bgm-steps {grid-template-columns:1fr;gap:12px;}
 .chess-bgm .bgm-step {padding:18px 22px;}
}
@media(max-width:767px) {
 .chess-bgm .bgm-steps {margin-bottom:42px;}
 .chess-bgm .bgm-step {gap:14px;padding:16px;}
 .chess-bgm .bgm-step-letter {flex-basis:50px;width:50px;height:50px;font-size:26px;}
 .chess-bgm .bgm-step-text strong {font-size:16px;}
 .chess-bgm .bgm-section {scroll-margin-top:85px;}
 .chess-bgm .bgm-section-heading {gap:14px;align-items:flex-start;}
 .chess-bgm .bgm-stage-symbol {flex-basis:52px;width:52px;height:52px;border-radius:13px;font-size:26px;}
 .chess-bgm .bgm-section-heading h3 {font-size:22px;}
 .chess-bgm .bgm-section-intro {font-size:16px;}
 .chess-bgm .bgm-program-grid,.chess-bgm .bgm-master-stack {grid-template-columns:1fr;gap:14px;}
 .chess-bgm .bgm-master-stack > :first-child {grid-row:auto;}
 .chess-bgm .bgm-program-card {padding:24px 20px;border-radius:14px;}
 .chess-bgm .bgm-program-card h4 {font-size:19px;}
 .chess-bgm .bgm-program-card dl {grid-template-columns:1fr;gap:5px;}
 .chess-bgm .bgm-program-card dd + dt {margin-top:12px;}
}

/* ========================================
   0203 엘리트 선수단 소개
   ======================================== */
.chess-elite .sub-description {max-width:1000px;margin:0 auto;}
.chess-elite .elite-intro {display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);gap:60px;align-items:center;}
.chess-elite .elite-intro-copy h3 {margin:12px 0 26px;font-size:clamp(28px,2.3vw,36px);line-height:1.4;color:var(--color-text,#22252b);}
.chess-elite .elite-intro-copy p {max-width:830px;margin:0;font-size:18px;line-height:1.95;color:var(--color-text-sub,#666);}
.chess-elite .elite-intro-visual {position:relative;display:flex;align-items:center;justify-content:center;min-height:360px;overflow:hidden;border-radius:22px;background:var(--color-navy,#172b54);isolation:isolate;}
.chess-elite .elite-visual-ring {position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border:1px solid rgba(255,255,255,.13);border-radius:50%;}
.chess-elite .elite-visual-ring-outer {width:340px;height:340px;}
.chess-elite .elite-visual-ring-inner {width:250px;height:250px;}
.chess-elite .elite-knight {position:relative;z-index:1;font-family:Georgia,'Times New Roman',serif;font-size:205px;line-height:1;color:var(--color-accent,#d69a45);transform:translateY(-5px);}
.chess-elite .elite-visual-word {position:absolute;bottom:20px;right:26px;font-size:14px;font-weight:800;letter-spacing:.3em;color:rgba(255,255,255,.38);}
.chess-elite .elite-purpose-text {max-width:1150px;margin:0;padding:10px 0 10px 24px;border-left:4px solid var(--color-accent,#d69a45);font-size:24px;font-weight:700;line-height:1.8;color:var(--color-navy,#172b54);}
.chess-elite .elite-support-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;}
.chess-elite .elite-support-card {min-width:0;padding:32px 28px;border:1px solid var(--color-border-gray,#dde1e8);border-radius:18px;background:var(--color-bg,#fff);}
.chess-elite .elite-support-icon {display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin-bottom:22px;border-radius:50%;background:#eef2f8;color:var(--color-primary,#233e80);font-size:24px;}
.chess-elite .elite-support-card h4 {margin:0 0 14px;font-size:22px;font-weight:800;line-height:1.45;color:var(--color-navy,#172b54);}
.chess-elite .elite-support-card p {margin:0;font-size:16px;line-height:1.85;color:var(--color-text-sub,#666);}
.chess-elite .elite-profile-link {display:flex;align-items:center;justify-content:space-between;gap:24px;margin:65px 0 80px;padding:38px 44px;border-radius:18px;background:#f1f4f9;}
.chess-elite .elite-profile-eyebrow {font-size:14px;font-weight:800;letter-spacing:.13em;color:var(--color-primary,#233e80);}
.chess-elite .elite-profile-link h3 {margin:7px 0 6px;font-size:24px;font-weight:800;color:var(--color-navy,#172b54);}
.chess-elite .elite-profile-link p {margin:0;font-size:16px;color:var(--color-text-sub,#666);}
.chess-elite .elite-profile-button {display:inline-flex;align-items:center;justify-content:center;gap:20px;flex-shrink:0;min-height:48px;padding:11px 24px;border:1px solid var(--color-navy,#172b54);border-radius:30px;color:#fff;background:var(--color-navy,#172b54);font-size:16px;font-weight:700;text-decoration:none;transition:background .25s,border-color .25s;}
.chess-elite .elite-profile-button:hover,.chess-elite .elite-profile-button:focus-visible {background:var(--color-primary,#233e80);border-color:var(--color-primary,#233e80);color:#fff;}
@media(max-width:970px) {
 .chess-elite .elite-intro {gap:30px;grid-template-columns:minmax(0,1fr) minmax(260px,.75fr);}
 .chess-elite .elite-support-grid {gap:12px;}
 .chess-elite .elite-support-card {padding:26px 20px;}
}
@media(max-width:767px) {
 .chess-elite .elite-intro {grid-template-columns:1fr;gap:24px;}
 .chess-elite .elite-intro-copy p {font-size:16px;}
 .chess-elite .elite-intro-visual {min-height:240px;}
 .chess-elite .elite-knight {font-size:150px;}
 .chess-elite .elite-purpose-text {padding-left:18px;font-size:22px;}
 .chess-elite .elite-support-grid {grid-template-columns:1fr;gap:12px;}
 .chess-elite .elite-support-card {padding:24px 22px;}
 .chess-elite .elite-support-card h4 {font-size:20px;}
 .chess-elite .elite-profile-link {margin:42px 0 55px;padding:26px 22px;flex-direction:column;align-items:flex-start;}
 .chess-elite .elite-profile-button {width:100%;}
}



/* ========================================================
   0206 국제공익활동 | page-scoped styles
   ======================================================== */
.chess-global{max-width:1320px;margin:0 auto;padding:0 20px 100px;color:var(--color-text,#26344c);font-size:16px;line-height:1.8;box-sizing:border-box}
.chess-global *{box-sizing:border-box}
.chess-global .global-heading{text-align:center;margin:0 auto 65px}
.chess-global .global-eyebrow{display:block;font-size:13px;font-weight:800;letter-spacing:.17em;color:var(--color-accent,#c8913c);line-height:1.4}
.chess-global .global-heading h2{font-size:40px;line-height:1.3;margin:14px 0 18px;font-weight:800;color:var(--color-navy,#192f59)}
.chess-global .global-heading p{font-size:17px;color:var(--color-text-sub,#69758a);margin:0}
.chess-global .global-hero{display:grid;grid-template-columns:minmax(0,1fr) 310px;border:1px solid var(--color-border-gray,#e1e7f0);border-radius:22px;overflow:hidden;background:#fff;box-shadow:0 18px 45px rgba(25,47,89,.045)}
.chess-global .global-hero-main{padding:65px 66px}
.chess-global .global-kicker{display:block;color:var(--color-accent,#c8913c);font-size:13px;letter-spacing:.14em;font-weight:800;margin-bottom:16px}
.chess-global .global-hero h3{color:var(--color-navy,#192f59);font-size:30px;line-height:1.4;margin:0 0 30px;font-weight:800}
.chess-global .global-hero-main p{font-size:17px;line-height:1.95;color:var(--color-text-sub,#56647b);margin:0 0 18px;word-break:keep-all}
.chess-global .global-hero-main p:last-child{margin-bottom:0}
.chess-global .global-hero-aside{background:var(--color-navy,#192f59);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 22px;color:#fff}
.chess-global .global-globe{width:115px;height:115px;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,.32);border-radius:50%;margin-bottom:34px;font-size:53px;color:#fff}
.chess-global .global-aside-label{font-size:12px;font-weight:700;letter-spacing:.2em;color:#d7b477}
.chess-global .global-hero-aside strong{font-size:30px;line-height:1.4;margin:7px 0 15px}
.chess-global .global-aside-date{font-size:14px;color:rgba(255,255,255,.78)}
.chess-global .global-section-heading{text-align:center;margin:105px auto 36px}
.chess-global .global-section-heading h3,.chess-global .global-future h3{font-size:32px;line-height:1.4;color:var(--color-navy,#192f59);font-weight:800;margin:11px 0 0}
.chess-global .global-activities{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}
.chess-global .global-activity{position:relative;min-height:260px;border:1px solid var(--color-border-gray,#e1e7f0);border-radius:18px;background:#fff;padding:32px 27px 28px;display:flex;flex-direction:column;align-items:flex-start}
.chess-global .global-activity-number{font-size:13px;font-weight:800;color:#9aa6b8;letter-spacing:.1em}
.chess-global .global-activity-icon{width:58px;height:58px;border-radius:16px;background:#f0f4fa;color:var(--color-primary,#254782);display:flex;align-items:center;justify-content:center;font-size:25px;margin:22px 0}
.chess-global .global-activity h4{font-size:18px;line-height:1.65;word-break:keep-all;font-weight:700;color:var(--color-navy,#192f59);margin:0}
.chess-global .global-future{display:grid;grid-template-columns:290px minmax(0,1fr);gap:45px;margin-top:90px;padding:53px 58px;background:#f4f7fb;border-radius:22px;align-items:center}
.chess-global .global-future-copy p{font-size:18px;line-height:1.95;color:var(--color-text,#26344c);margin:0;word-break:keep-all}
.chess-global .global-future-tags{display:flex;flex-wrap:wrap;gap:10px;margin-top:25px}
.chess-global .global-future-tags span{border:1px solid #d7e0ee;background:#fff;border-radius:40px;padding:8px 16px;font-size:14px;color:var(--color-primary,#254782);font-weight:700}
@media(max-width:1024px){.chess-global .global-hero{grid-template-columns:minmax(0,1fr) 250px}.chess-global .global-hero-main{padding:45px}.chess-global .global-activities{grid-template-columns:repeat(2,minmax(0,1fr))}.chess-global .global-activity{min-height:220px}.chess-global .global-future{grid-template-columns:1fr;gap:22px;padding:42px}}
@media(max-width:700px){.chess-global{padding:0 16px 65px}.chess-global .global-heading{margin-bottom:35px}.chess-global .global-heading h2{font-size:30px}.chess-global .global-heading p{font-size:16px}.chess-global .global-hero{grid-template-columns:1fr}.chess-global .global-hero-main{padding:33px 26px}.chess-global .global-hero h3{font-size:24px;margin-bottom:20px}.chess-global .global-hero-main p{font-size:16px}.chess-global .global-hero-aside{padding:25px;flex-direction:row;flex-wrap:wrap;gap:8px 16px}.chess-global .global-globe{width:52px;height:52px;font-size:26px;margin:0}.chess-global .global-aside-label{width:calc(100% - 75px);text-align:left}.chess-global .global-hero-aside strong{font-size:21px;margin:0}.chess-global .global-aside-date{font-size:13px}.chess-global .global-section-heading{margin:70px auto 26px}.chess-global .global-section-heading h3,.chess-global .global-future h3{font-size:27px}.chess-global .global-activities{gap:12px}.chess-global .global-activity{padding:22px 19px;min-height:215px}.chess-global .global-activity-icon{margin:17px 0;width:50px;height:50px;font-size:21px}.chess-global .global-activity h4{font-size:16px}.chess-global .global-future{margin-top:65px;padding:30px 25px}.chess-global .global-future-copy p{font-size:16px}}
@media(max-width:420px){.chess-global .global-activities{grid-template-columns:1fr}.chess-global .global-activity{min-height:0;display:grid;grid-template-columns:52px 1fr;column-gap:17px;align-items:center;padding:20px}.chess-global .global-activity-number{grid-column:1 / -1}.chess-global .global-activity-icon{margin:12px 0 0}.chess-global .global-activity h4{margin-top:12px}.chess-global .global-hero-main{padding:28px 21px}.chess-global .global-future{padding:27px 20px}}

/* ========================================
   0206 국제공익활동 - 제목 통일 및 모바일 정렬 수정
   ======================================== */
.chess-global .global-heading {
    padding-top: 65px;
}
.chess-global .global-eyebrow {
    color: var(--color-primary, #233E80);
    font-size: 14px;
    letter-spacing: .13em;
}
.chess-global .global-heading h2 {
    color: var(--color-text, #22252B);
    font-size: clamp(34px, 3.3vw, 52px);
    margin: 12px 0 14px;
}
@media (max-width: 767px) {
    .chess-global .global-heading { padding-top: 38px; }
}
@media (max-width: 700px) {
    .chess-global .global-hero-aside {
        display: grid;
        grid-template-columns: 52px max-content;
        justify-content: center;
        align-items: center;
        column-gap: 16px;
        row-gap: 12px;
        text-align: center;
    }
    .chess-global .global-globe {
        grid-column: 1;
        grid-row: 1;
        margin: 0;
    }
    .chess-global .global-aside-label {
        grid-column: 2;
        grid-row: 1;
        width: auto;
        text-align: center;
    }
    .chess-global .global-hero-aside strong {
        grid-column: 1 / -1;
        grid-row: 2;
        margin: 0;
        text-align: center;
    }
    .chess-global .global-aside-date {
        grid-column: 1 / -1;
        grid-row: 3;
        text-align: center;
    }
}




/* ========================================
   0602 제휴·업무협력 문의
   ======================================== */
.chess-partnership {padding-bottom:110px;}
.chess-partnership .sub-description {max-width:1020px;margin:0 auto;line-height:1.95;word-break:keep-all;}
.chess-partnership .partnership-contact {max-width:1180px;margin:10px auto 0;border:1px solid var(--color-border-gray,#DDE1E8);border-radius:20px;overflow:hidden;background:#fff;}
.chess-partnership .partnership-contact-header {display:flex;align-items:center;gap:24px;padding:38px 44px;background:#f3f6fa;border-bottom:1px solid var(--color-border-gray,#DDE1E8);}
.chess-partnership .partnership-contact-icon {display:flex;align-items:center;justify-content:center;flex:0 0 64px;width:64px;height:64px;border-radius:17px;background:var(--color-navy,#172B54);color:#fff;font-size:28px;}
.chess-partnership .partnership-contact-label {display:block;margin-bottom:7px;color:var(--color-primary,#233E80);font-size:14px;font-weight:800;letter-spacing:.13em;}
.chess-partnership .partnership-contact-header h3 {margin:0;color:var(--color-navy,#172B54);font-size:25px;font-weight:800;line-height:1.5;word-break:keep-all;}
.chess-partnership .partnership-contact-header h3 span {font-weight:600;}
.chess-partnership .partnership-contact-grid {display:grid;grid-template-columns:1fr;}
.chess-partnership .partnership-contact-item {display:flex;align-items:flex-start;gap:24px;padding:34px 44px;border-bottom:1px solid var(--color-border-gray,#DDE1E8);}
.chess-partnership .partnership-contact-item:last-child {border-bottom:0;}
.chess-partnership .partnership-item-icon {display:flex;align-items:center;justify-content:center;flex:0 0 52px;width:52px;height:52px;border-radius:14px;background:#edf2f9;color:var(--color-primary,#233E80);font-size:22px;}
.chess-partnership .partnership-item-copy {min-width:0;}
.chess-partnership .partnership-item-copy h4 {margin:0 0 9px;color:var(--color-navy,#172B54);font-size:20px;font-weight:800;line-height:1.5;}
.chess-partnership .partnership-item-copy h4 span {font-size:16px;font-weight:600;color:var(--color-text-sub,#666);}
.chess-partnership .partnership-item-copy p {margin:0;color:var(--color-text,#22252B);font-size:17px;line-height:1.9;overflow-wrap:anywhere;}
.chess-partnership .partnership-item-copy a {color:inherit;text-decoration:none;}
.chess-partnership .partnership-item-copy a:hover {color:var(--color-primary,#233E80);text-decoration:underline;}
@media(max-width:767px){
 .chess-partnership {padding-bottom:65px;}
 .chess-partnership .partnership-desktop-break {display:none;}
 .chess-partnership .partnership-contact {margin-top:0;border-radius:15px;}
 .chess-partnership .partnership-contact-header {gap:15px;padding:26px 22px;align-items:flex-start;}
 .chess-partnership .partnership-contact-icon {flex-basis:48px;width:48px;height:48px;border-radius:12px;font-size:22px;}
 .chess-partnership .partnership-contact-header h3 {font-size:20px;}
 .chess-partnership .partnership-contact-header h3 span {display:block;}
 .chess-partnership .partnership-contact-item {gap:15px;padding:25px 22px;}
 .chess-partnership .partnership-item-icon {flex-basis:44px;width:44px;height:44px;border-radius:11px;font-size:19px;}
 .chess-partnership .partnership-item-copy h4 {font-size:18px;}
 .chess-partnership .partnership-item-copy p {font-size:16px;}
}
@media(max-width:390px){
 .chess-partnership .partnership-contact-header {padding:22px 17px;}
 .chess-partnership .partnership-contact-item {padding:22px 17px;}
}


/* ========================================
   0701 후원하기 (Donate)
   ======================================== */
.chess-donate {padding-bottom:60px;}
.chess-donate .sub-description {max-width:1000px;margin:0 auto;}
.chess-donate .sub-section-heading h3 {color:var(--color-navy,#172B54);}
.chess-donate .donate-lead {display:flex;align-items:flex-start;gap:26px;padding:36px;border:1px solid var(--color-border-gray,#DDE1E8);border-radius:18px;background:#f7f9fc;}
.chess-donate .donate-lead-icon {display:flex;align-items:center;justify-content:center;flex:0 0 64px;width:64px;height:64px;border-radius:17px;background:var(--color-navy,#172B54);color:#fff;font-size:28px;}
.chess-donate .donate-lead-copy h4,.chess-donate .donate-corporate-intro h4 {margin:0 0 16px;color:var(--color-navy,#172B54);font-size:23px;font-weight:800;line-height:1.5;}
.chess-donate .donate-lead-copy p,.chess-donate .donate-corporate-intro p {margin:0 0 10px;color:var(--color-text-sub,#666);font-size:17px;line-height:1.9;}
.chess-donate .donate-lead-copy p:last-child,.chess-donate .donate-corporate-intro p:last-child {margin-bottom:0;}
.chess-donate .donate-subhead {margin:36px 0 18px;color:var(--color-navy,#172B54);font-size:21px;font-weight:800;}
.chess-donate .donate-fields {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;}
.chess-donate .donate-field {display:flex;align-items:flex-start;gap:18px;min-width:0;padding:28px;border:1px solid var(--color-border-gray,#DDE1E8);border-radius:16px;background:#fff;}
.chess-donate .donate-field-icon,.chess-donate .donate-impact-icon,.chess-donate .donate-benefit-icon {display:flex;align-items:center;justify-content:center;flex-shrink:0;background:#edf2f9;color:var(--color-primary,#233E80);}
.chess-donate .donate-field-icon {width:52px;height:52px;border-radius:14px;font-size:23px;}
.chess-donate .donate-field h5,.chess-donate .donate-benefit h5 {margin:0 0 7px;color:var(--color-navy,#172B54);font-size:19px;font-weight:800;line-height:1.5;}
.chess-donate .donate-field p,.chess-donate .donate-benefit p {margin:0;color:var(--color-text-sub,#666);font-size:16px;line-height:1.75;}
.chess-donate .donate-section-description {margin:0 0 26px;color:var(--color-text-sub,#666);font-size:18px;line-height:1.85;}
.chess-donate .donate-account {display:grid;grid-template-columns:minmax(0,1.35fr) minmax(240px,.85fr);overflow:hidden;border:1px solid var(--color-border-gray,#DDE1E8);border-radius:18px;background:#fff;}
.chess-donate .donate-account-main {display:flex;flex-direction:column;justify-content:center;min-width:0;padding:38px 42px;background:var(--color-navy,#172B54);color:#fff;}
.chess-donate .donate-account-kicker {margin-bottom:17px;color:#e2b36c;font-size:13px;font-weight:800;letter-spacing:.13em;}
.chess-donate .donate-bank {font-size:19px;font-weight:700;}
.chess-donate .donate-account-number {margin-top:5px;font-size:clamp(23px,2.5vw,34px);line-height:1.45;letter-spacing:.01em;overflow-wrap:anywhere;}
.chess-donate .donate-account-details {display:flex;flex-direction:column;justify-content:center;gap:20px;margin:0;padding:30px 36px;}
.chess-donate .donate-account-details>div {display:grid;grid-template-columns:84px minmax(0,1fr);gap:14px;align-items:center;}
.chess-donate .donate-account-details dt {color:var(--color-text-sub,#666);font-weight:700;}
.chess-donate .donate-account-details dd {margin:0;color:var(--color-text,#22252B);font-weight:700;}
.chess-donate .donate-note {display:flex;align-items:flex-start;gap:12px;margin-top:18px;padding:18px 22px;border-radius:12px;background:#f5f7fa;color:var(--color-text-sub,#666);}
.chess-donate .donate-note>i {margin-top:5px;color:var(--color-primary,#233E80);font-size:18px;}
.chess-donate .donate-note p {margin:0;font-size:15px;line-height:1.8;}
.chess-donate .donate-corporate-intro {margin-bottom:30px;}
.chess-donate .donate-impact-grid {display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;}
.chess-donate .donate-impact-card {min-width:0;padding:30px 26px;border:1px solid var(--color-border-gray,#DDE1E8);border-radius:16px;background:#fff;}
.chess-donate .donate-impact-top {display:flex;align-items:center;justify-content:space-between;margin-bottom:24px;}
.chess-donate .donate-impact-icon {width:52px;height:52px;border-radius:14px;font-size:22px;}
.chess-donate .donate-impact-number {color:var(--color-accent,#D69A45);font-size:14px;font-weight:800;letter-spacing:.1em;}
.chess-donate .donate-impact-card h5 {margin:0 0 18px;color:var(--color-navy,#172B54);font-size:20px;line-height:1.5;font-weight:800;}
.chess-donate .donate-impact-card h5 span {display:block;margin-top:2px;color:var(--color-text-sub,#666);font-size:13px;font-weight:650;}
.chess-donate .donate-impact-card .sub-bullet-list li {font-size:15px;line-height:1.75;}
.chess-donate .donate-benefits-heading {margin-top:46px;}
.chess-donate .donate-benefits {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
.chess-donate .donate-benefit {display:flex;align-items:flex-start;gap:17px;padding:24px;border:1px solid var(--color-border-gray,#DDE1E8);border-radius:14px;background:#fff;}
.chess-donate .donate-benefit-icon {width:46px;height:46px;border-radius:12px;font-size:19px;}
.chess-donate .donate-benefit>div {min-width:0;}
.chess-donate .donate-footnote {margin:17px 0 0;color:var(--color-text-sub,#666);font-size:15px;}
.chess-donate .donate-contact-card {overflow:hidden;border:1px solid var(--color-border-gray,#DDE1E8);border-radius:18px;background:#fff;}
.chess-donate .donate-contact-intro {padding:36px 40px;background:#f5f7fb;}
.chess-donate .donate-contact-label {display:block;margin-bottom:12px;color:var(--color-primary,#233E80);font-size:13px;font-weight:800;letter-spacing:.13em;}
.chess-donate .donate-contact-intro h4 {margin:0 0 16px;color:var(--color-navy,#172B54);font-size:25px;font-weight:800;}
.chess-donate .donate-contact-intro p {margin:0 0 9px;color:var(--color-text-sub,#666);font-size:17px;line-height:1.85;}
.chess-donate .donate-contact-intro p:last-child {margin-bottom:0;}
.chess-donate .donate-contact-info {padding:32px 40px;}
.chess-donate .donate-contact-info h5 {margin:0 0 20px;color:var(--color-navy,#172B54);font-size:21px;font-weight:800;}
.chess-donate .donate-contact-info dl {margin:0;}
.chess-donate .donate-contact-info dl>div {display:grid;grid-template-columns:110px minmax(0,1fr);gap:18px;padding:13px 0;border-top:1px solid var(--color-border-gray,#DDE1E8);}
.chess-donate .donate-contact-info dt {color:var(--color-text-sub,#666);font-weight:700;}
.chess-donate .donate-contact-info dd {margin:0;color:var(--color-text,#22252B);overflow-wrap:anywhere;}
.chess-donate .donate-contact-info a {color:var(--color-navy,#172B54);font-weight:750;text-decoration:none;}
.chess-donate .donate-contact-info a:hover {text-decoration:underline;}
.chess-donate .donate-closing {margin:30px 0 0;text-align:center;color:var(--color-navy,#172B54);font-size:20px;font-weight:800;line-height:1.7;}
@media(max-width:970px){
 .chess-donate .donate-impact-grid {grid-template-columns:1fr;}
 .chess-donate .donate-impact-card {padding:26px;}
 .chess-donate .donate-account {grid-template-columns:1fr;}
 .chess-donate .donate-account-details {flex-direction:row;justify-content:flex-start;gap:35px;}
}
@media(max-width:767px){
 .chess-donate {padding-bottom:35px;}
 .chess-donate .donate-lead {flex-direction:column;gap:18px;padding:25px 22px;}
 .chess-donate .donate-lead-icon {flex-basis:auto;width:52px;height:52px;font-size:23px;}
 .chess-donate .donate-lead-copy h4,.chess-donate .donate-corporate-intro h4 {font-size:21px;}
 .chess-donate .donate-lead-copy p,.chess-donate .donate-corporate-intro p,.chess-donate .donate-contact-intro p {font-size:16px;}
 .chess-donate .donate-subhead {margin-top:28px;font-size:19px;}
 .chess-donate .donate-fields,.chess-donate .donate-benefits {grid-template-columns:1fr;gap:12px;}
 .chess-donate .donate-field {padding:22px 18px;gap:14px;}
 .chess-donate .donate-field-icon {width:44px;height:44px;font-size:20px;}
 .chess-donate .donate-field h5,.chess-donate .donate-benefit h5 {font-size:18px;}
 .chess-donate .donate-section-description {font-size:16px;}
 .chess-donate .donate-account-main {padding:28px 23px;}
 .chess-donate .donate-account-number {font-size:clamp(21px,5.4vw,30px);}
 .chess-donate .donate-account-details {flex-direction:column;gap:13px;padding:22px 23px;}
 .chess-donate .donate-note {padding:15px;}
 .chess-donate .donate-impact-card {padding:24px 21px;}
 .chess-donate .donate-benefit {padding:21px 18px;gap:13px;}
 .chess-donate .donate-contact-intro,.chess-donate .donate-contact-info {padding:26px 22px;}
 .chess-donate .donate-contact-intro h4 {font-size:21px;}
 .chess-donate .donate-contact-info dl>div {grid-template-columns:1fr;gap:4px;}
 .chess-donate .donate-closing {font-size:18px;}
}

/* 0701 후원 계좌 복사 버튼 */
.chess-donate .donate-copy-button {display:inline-flex;align-items:center;justify-content:center;gap:9px;align-self:flex-start;min-height:42px;margin-top:20px;padding:10px 17px;border:1px solid rgba(255,255,255,.55);border-radius:9px;background:transparent;color:#fff;font-size:14px;font-weight:700;line-height:1.4;cursor:pointer;transition:background .2s,border-color .2s;}
.chess-donate .donate-copy-button:hover,.chess-donate .donate-copy-button:focus-visible {background:rgba(255,255,255,.13);border-color:#fff;color:#fff;}
.chess-donate .donate-copy-button.is-copied {border-color:#e2b36c;color:#ffe0a4;}
.chess-donate .donate-copy-status {display:block;min-height:0;margin-top:8px;color:#ffe0a4;font-size:13px;line-height:1.5;}
@media(max-width:767px){.chess-donate .donate-copy-button{margin-top:17px;min-height:44px;}}
