@charset "utf-8";

.prideClubWrap-02 img{max-width:124px;}
@media only screen and (min-width:1921px){
  .prideClubWrap-02 img{width:124px;}
}

/* 모달 기본 스타일 */
body:not(.editMode) .pop-modal-wrap { display:none; }
.pop-modal-wrap { width:auto; height:auto; } 
.pop-modal-wrap.jModal { max-width:1000px; border-radius:unset; padding:unset; }
.pop-modal-wrap .top-wrap { display:flex; justify-content:space-between; align-items:center; padding:15px 15px; background:#fff; }
.pop-modal-wrap .top-wrap dt { flex:1 0 auto; color:#fff; font-family:'Dream Bold'; font-size:20px; text-align:left; }
.pop-modal-wrap .top-wrap dd { flex:0 0 100px; display:flex; justify-content:flex-end; align-items:center; }
.pop-modal-wrap .modal-wrap { padding:20px 50px 50px 50px; }
@media only screen and (max-width:1000px){
  .pop-modal-wrap { width:95%; height:auto; margin:0 auto; }
}

/* 뎁스4 탭메뉴 */
.dpTabWrap { display:flex; flex-flow:row wrap; width:100%; }
.dpTabWrap > li { flex:1 0 auto; }
.dpTabWrap.div4 > li { flex:1 0 25%; }
.dpTabWrap > li > a { display:block; background:#f4f4f4; color:#787878; font-family:'Pre Bold'; text-align:center; padding:13px 0; }
.dpTabWrap > li > a.active { background:#7c0019; color:#fff; }

/* 모금사업 > KU Circle for Miracle */
.frameWrap.cFmiracleWrap { flex-flow:row wrap; justify-content:space-between; }
.frameWrap.cFmiracleWrap > li {}
/*
.frameWrap.cFmiracleWrap > li:nth-child(1) { flex:1 0 auto; }
.frameWrap.cFmiracleWrap > li:nth-child(2) { flex: 0 0 530px; }
*/
.frameWrap.cFmiracleWrap .tit01 { font-size:38px; font-family:'Pre Black'; margin-bottom:0; }
.frameWrap.cFmiracleWrap .tit02 { font-size:20px; font-family:'Pre Regular'; }
.frameWrap.cFmiracleWrap .itemWrap { display:flex; align-items:center; border-top:1px solid #dadbdf; padding:20px 0; }
.frameWrap.cFmiracleWrap > li:nth-child(2) .itemWrap:last-child { border-bottom:1px solid #dadbdf; }
.frameWrap.cFmiracleWrap .itemWrap > li:nth-child(1) { font-family:'Pre Bold'; flex:0 0 100px; }
.frameWrap.cFmiracleWrap .itemWrap > li:nth-child(2) { flex: 1 0 auto; }
.frameWrap.cFmiracleWrap .itemWrap > li:nth-child(3) { flex:0 0 200px; }
.frameWrap.cFmiracleWrap .statis { display:flex; font-size:38px; font-family:'Pre Black'; column-gap:100px; }
.frameWrap.cFmiracleWrap .statis > p {}
.frameWrap.cFmiracleWrap .statis .up { vertical-align:top; font-family:'Pre Bold'; font-size:20px; }
@media all and (max-width:1280px) {
	.frameWrap.cFmiracleWrap > li:nth-child(1) { flex-basis:100%; }
	.frameWrap.cFmiracleWrap > li:nth-child(2) { flex-basis:100%; margin-top:30px; }
	.frameWrap.cFmiracleWrap .tit01 br { display:none; }
	.frameWrap.cFmiracleWrap .statis { flex-wrap:wrap; }
}
@media all and (max-width:600px) {	
	.frameWrap.cFmiracleWrap .itemWrap { flex-wrap:wrap; row-gap:10px; }
	.frameWrap.cFmiracleWrap .itemWrap > li { flex: 0 0 100% !important; }
	.frameWrap.cFmiracleWrap .tit01 { font-size:35px;}
	.frameWrap.cFmiracleWrap .tit02 { font-size:18px;}
	.frameWrap.cFmiracleWrap .statis { font-size:24px; }
}

/* 모금사업 > KU PRIDECLUB > 소개 및 가입방법 */
.frameWrap.prideClubWrap { border:1px solid #dadbdf; padding:60px 0; column-gap:0; row-gap:50px; }
.frameWrap.prideClubWrap > li { flex:0 0 20%; display:flex; flex-direction:column; justify-content:flex-start; align-items:center; padding:0 15px; }
.frameWrap.prideClubWrap > li:not(:last-child) { border-right:1px solid #dadbdf; }
.frameWrap.prideClubWrap > li .cont { margin-top:50px; text-align:center; }
.frameWrap.prideClubWrap > li .cont .tit01 { font-family:'Pre Black'; font-size:30px; margin-bottom:30px; }
.frameWrap.prideClubWrap > li .cont .tit02 { font-family:'Pre Regular'; margin-bottom:20px; }
.frameWrap.prideClubWrap > li .cont .tit02.underLine { text-decoration:underline; }
.frameWrap.prideClubWrap > li .cont .tel { font-family:'Pre ExtraBold'; font-size:20px; margin-bottom:20px; }
.frameWrap.prideClubWrap > li .cont .btn { margin-bottom:10px; }
.frameWrap.prideClubWrap > li .cont .btn a.btnW { font-size:16px; font-family:'Pre Medium'; }
@media all and (max-width:1280px) {
	.frameWrap.prideClubWrap > li { flex:0 0 33.33333%; }
	.frameWrap.prideClubWrap > li:last-child { border-right:1px solid #dadbdf; }
	.frameWrap.prideClubWrap > li:nth-child(3) { border-right:none; }
}
@media all and (max-width:768px) {
	.frameWrap.prideClubWrap { padding:0; row-gap:unset; }
	.frameWrap.prideClubWrap > li { flex:0 0 100%; padding:50px 0; }
	.frameWrap.prideClubWrap > li:nth-child(odd) { border-right:none; }
	.frameWrap.prideClubWrap > li:nth-child(even) { border-right:none; }
	.frameWrap.prideClubWrap > li:not(:last-child) { border-bottom:1px solid #dadbdf; }
}

.frameWrap.prideClubWrap-02 {}
.frameWrap.prideClubWrap-02 > li { display:flex; width:100%; border-top:1px solid #dadbdf; padding:50px 0; }
.frameWrap.prideClubWrap-02 > li:last-child { border-bottom:1px solid #dadbdf; }
.frameWrap.prideClubWrap-02 > li > .ico { flex: 0 0 160px; }
.frameWrap.prideClubWrap-02 > li > .cont { flex: 1 0 calc(100% - 160px); width:100%; padding-left:50px; }
.frameWrap.prideClubWrap-02 > li > .cont .tit01 { font-family:'Pre Bold'; padding:20px 0; }
@media all and (max-width:768px) {
	.frameWrap.prideClubWrap-02 { row-gap:unset; }
	.frameWrap.prideClubWrap-02 > li { padding:25px 0; }
	.frameWrap.prideClubWrap-02 > li > .ico { display:none; }
	.frameWrap.prideClubWrap-02 > li > .cont { padding-left:0; }
}

/* 모금사업 > KU PRIDECLUB > 회원명단 및 통계 */
.frameWrap.memChart { border:1px solid #dadbdf; padding:50px; column-gap:unset; }
.frameWrap.memChart > li { text-align:center; padding:0 30px; display:flex; flex-direction:column; justify-content:space-between; }
.frameWrap.memChart > li:not(:first-child) { border-left:1px solid #dadbdf; }
.frameWrap.memChart.div3 > li { flex:1 0 33.33333%; }
.frameWrap.memChart > li .tit01 { text-align:left; font-family:'Pre Bold'; font-size:26px; }
.frameWrap.memChart > li .tit02 { text-align:left; min-height:30px; margin-bottom:20px; }
@media all and (max-width:768px) {
	.frameWrap.memChart { row-gap:50px; }
	.frameWrap.memChart > li { padding:0; }
	.frameWrap.memChart > li:not(:first-child) { border-left:none; }
}

.tabWrap-01 { display:flex; justify-content:center; align-items:stretch; }
.tabWrap-01 > li { flex:0 0 auto; }
.tabWrap-01 > li a { display:block; padding:15px 150px; background:#f4f4f4; color:#999999; font-family:'Pre Bold'; }
.tabWrap-01 > li a.active { background:#7c0019; color:#fff; }
body:not(.editMode) .kuLoveWrap { display:none; }
.loveWrap { display:flex; column-gap:5%; }
.loveWrap > .item01 { flex-basis:35%; background:#ebebeb; display:flex; justify-content:center; align-items:center; }
.loveWrap > .item02 { flex-basis:60%; padding:50px 0; }
.loveWrap > .item02 .tit01 { font-size:38px; font-family:'Pre Black'; line-height:1.2; }
.loveWrap > .item02 .tit01 span { display:block; }
.loveWrap > .item02 .tit02 { font-size:24px; font-family:'Pre Black'; }
@media all and (max-width:768px) {
	.loveWrap { flex-wrap:wrap;  }
	.loveWrap > .item01 { flex-basis:100%; padding:20px; }
	.loveWrap > .item02 { flex-basis:100%; padding:20px 0; }
	.loveWrap > .item02 .tit01 { font-size:28px; }
	.loveWrap > .item02 .tit02 { font-size:20px; }
	.loveWrap > .item02 .btnWrap a { margin-bottom:10px; width:100%; }
}

/* 모금사업 > KU PRIDECLUB > 회원특전 */
.frameWrap.memBenefit { column-gap:0; border-top:1px solid #dadbdf; }
.frameWrap.memBenefit > .contWrap { display:flex; border-bottom:1px solid #dadbdf; padding:50px; }
.frameWrap.memBenefit > .contWrap > .ico { display:flex; align-items:center; }
.frameWrap.memBenefit > .contWrap > .cont { margin-left:50px; display:flex; align-items:flex-start; flex-direction:column; justify-content:center; }
.frameWrap.memBenefit > .contWrap > .cont .tit01 { font-family:'Pre Black'; font-size:30px; }
.frameWrap.memBenefit > .contWrap > .cont .tit02 { font-family:'Pre Bold'; margin-top:10px; }


/* 모금사업 > 개교 120주년 기념사업 */
.admissionWrap.anni120 .item .infoWrap .tit01 { font-size:30px; }
.admissionWrap.anni120 .item .infoWrap .tit02 { font-family:'Pre Bold'; font-size:20px; margin-bottom:15px; }

/* 모금사업 > 계획기부 소개 */
.plan_tit01 { font-family:'Pre Bold'; font-size:36px; }
.frameWrap.planGive_01 > li > dl { display:flex; flex-direction:column; align-items:center; }
.frameWrap.planGive_01 > li > dl > dd .tit01 { padding-top:20px; font-family:'Pre Bold'; font-size:23px; text-align:center;}
.frameWrap.planGive_01 > li > dl > dd .tit02 { padding-top:10px; font-size:16px; text-align:center;}

.frameWrap.planGive_02 { border:1px solid #dadbdf; padding:70px; }
.frameWrap.planGive_02 > li { position:relative; }
.frameWrap.planGive_02 > li > dl { display:flex; flex-direction:column; align-items:center; }
.frameWrap.planGive_02 > li > dl > dd .tit01 { padding-top:20px; font-family:'Pre Bold'; font-size:22px; text-align:center;}
.frameWrap.planGive_02 > li > dl > dd .tit02 { padding-top:10px; font-size:18px; text-align:center;}
.frameWrap.planGive_02 > li:not(:last-child)::after { content:"다음"; position:absolute; text-indent:-99999px; font-size:0; width:16px; height:23px; top:27%; right:-7%; background:url("/sites/give/images/sub/arr-right.png") no-repeat center center; }
@media all and (max-width:1280px) {
	.frameWrap.planGive_02 > li:nth-child(2)::after { display:none; }
}
@media all and (max-width:768px) {
	.frameWrap.planGive_02 { row-gap:100px; }
	.frameWrap.planGive_02 > li:nth-child(2)::after { display:block; }
	.frameWrap.planGive_02 > li:not(:last-child)::after { width:21px; height:14px; top:unset; right:unset; bottom:-23%; left:50%; transform:translateX(-50%); background:url("/sites/give/images/sub/arr-down.png") no-repeat center center; }
}

.planGive03Wrap { border:1px solid #dadbdf; padding:60px 50px; }
.planGive03Wrap > .tit01 { font-family:'Pre Black'; font-size:36px; text-align:center; }
.planGive03Wrap .frameWrap.planGive_03 { justify-content:space-between; column-gap:unset; padding:0 150px;}
.planGive03Wrap .frameWrap.planGive_03 > li {}
.planGive03Wrap .frameWrap.planGive_03 > li:nth-child(2) { border-left:1px solid #dadbdf; border-right:1px solid #dadbdf; }
.planGive03Wrap .frameWrap.planGive_03 > li > .circle { flex:0 0 262px; min-height:262px; display:flex; justify-content:center; align-items:center; }
.planGive03Wrap .frameWrap.planGive_03 > .item01 > .circle { background:url("/sites/give/images/sub/bg-01.png") no-repeat center center; }
.planGive03Wrap .frameWrap.planGive_03 > .item02 > .circle { background:url("/sites/give/images/sub/bg-02.png") no-repeat center center; }
.planGive03Wrap .frameWrap.planGive_03 > .item03 > .circle { background:url("/sites/give/images/sub/bg-03.png") no-repeat center center; }
.planGive03Wrap .frameWrap.planGive_03 > li > .circle > .wCircle { background-color:#fff; text-align:center; width:143px; height:143px; border-radius:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; font-size:32px; line-height:1.3; }
.planGive03Wrap .frameWrap.planGive_03 > li > .circle > .wCircle > .tit01 { font-family:'Pre Bold'; }
@media all and (max-width:1280px) {
	.planGive03Wrap .frameWrap.planGive_03 { padding:0;}
}
@media all and (max-width:768px) {
	.planGive03Wrap .frameWrap.planGive_03 { padding:0;}
	.planGive03Wrap .frameWrap.planGive_03 > li:nth-child(2) { border:none; }
}

.planGive03Wrap .grayBox { background:#f4f4f4; margin-top:80px; padding:40px; font-size:20px; }
.planGive03Wrap .grayBox p { margin-bottom:25px; }
.planGive03Wrap .grayBox dl { display:flex; margin-top:5px; }
.planGive03Wrap .grayBox dl > dt { flex:0 0 100px; color:#919191; }
.planGive03Wrap .grayBox dl > dd { flex: 1 0 auto; }

.planGive03Wrap .groupBox { margin-top:50px; }
.planGive03Wrap .groupBox .tit01 { font-size:22px; font-family:'Pre Bold'; }

.planGive03Wrap .frameWrap.planGive_04 { margin-top:50px; column-gap:0; justify-content:space-between; }
.planGive03Wrap .frameWrap.planGive_04 > .item {}
.planGive03Wrap .frameWrap.planGive_04 > .item > .tit01 { text-align:center; font-family:'Pre Bold'; font-size:22px; margin-bottom:30px; }
.planGive03Wrap .frameWrap.planGive_04 > .item.item01 { flex:1 0 32%; }
.planGive03Wrap .frameWrap.planGive_04 > .item.item02 { flex:1 0 48%; border-left:1px solid #dadbdf; border-right:1px solid #dadbdf; }
.planGive03Wrap .frameWrap.planGive_04 > .item.item03 { flex:1 0 16%; }
.planGive03Wrap .frameWrap.planGive_04 > .item > .contWrap { display:flex; justify-content:space-around; }
.planGive03Wrap .frameWrap.planGive_04 > .item > .contWrap > li { text-align:center; }
.planGive03Wrap .frameWrap.planGive_04 > .item > .contWrap .photoTit01 { font-family:'Pre Bold'; margin-top:25px; }
@media all and (max-width:768px) {
	.planGive03Wrap .frameWrap.planGive_04 {}
	.planGive03Wrap .frameWrap.planGive_04 > .item { flex: 0 0 100% !important; }
	.planGive03Wrap .frameWrap.planGive_04 > .item.item02 { border-left:none; border-right:none; }
	.planGive03Wrap .frameWrap.planGive_04 > .item:not(:last-child) { border-bottom:1px solid #dadbdf; padding-bottom:30px; }
	.planGive03Wrap .frameWrap.planGive_04 > .item > .contWrap { flex-wrap:wrap; row-gap:30px; justify-content:flex-start; }
	.planGive03Wrap .frameWrap.planGive_04 > .item > .contWrap > li { flex-basis:49%; }

}

.cardBox { display:flex; }
.cardBox dt { flex:0 0 130px; color:#787878; }
.cardBox dd { flex: 1 0 auto; color:#272727; padding-left:30px; }
.cardBox.type-02 dt { padding-left:15px; position:relative; }
.cardBox.type-02 dt::before { content:""; width:4px; height:4px; background:#7c0019; left:0; top:50%; transform:translateY(-50%); position:absolute; }
@media all and (max-width:768px) {
	.cardBox { flex-wrap:wrap; }
	.cardBox dt { flex-basis:100%; }
	.cardBox dd { flex-basis:100%; padding-left:0; }	
}

/* 기부하기 > 세제혜택 */
.taxWrap01 { display:flex; justify-content:center; align-items:stretch; column-gap:60px; row-gap:60px; border:1px solid #dadbdf; padding:70px 10px; }
.taxWrap01 > .item { border:0px solid red; }
.taxWrap01 > .item01 { display:flex; align-items:center; }
.taxWrap01 > .item02 { flex: 0 0 148px; min-height:204px; background:url("/sites/give/images/sub/arr-right-multi.png") no-repeat center center; }
.taxWrap01 > .item03 {}

.taxWrap01 > .item01 .boxWrap { display:flex; align-items:stretch; }
.taxWrap01 > .item01 .boxWrap > li:nth-child(2) { display:flex; align-items:center; margin:0 70px; }

.taxWrap01 > .item03 .boxWrap { display:flex; flex-direction:column; justify-content:space-between; row-gap:100px; height:100%; }
.taxWrap01 > .item03 .boxWrap > li { background:#f2eee7; padding:20px 30px; }

@media all and (max-width:1024px) {
	.taxWrap01 { flex-wrap:wrap; }
	.taxWrap01 > .item { flex-basis:100%; }
	.taxWrap01 > .item01 {justify-content:center }

	.taxWrap01 > .item02 { min-height:unset; background:url("/sites/give/images/sub/arr-down-multi.png") no-repeat center center; width:204px; height:148px; }

	.taxWrap01 > .item03 .boxWrap { flex-direction:row; column-gap:50px; }
	.taxWrap01 > .item03 .boxWrap > li { flex-grow:1; }
}


.taxWrap02 { border:1px solid #dadbdf; padding:60px 10px; }
.taxWrap02 .frameWrap.taxWrap_02 { justify-content:space-between; column-gap:unset; padding:0 150px;}
.taxWrap02 .frameWrap.taxWrap_02 > li { text-align:center; display:flex; flex-direction:column; justify-content:space-between; }
.taxWrap02 .frameWrap.taxWrap_02 > li:nth-child(2) { border-left:1px solid #dadbdf; border-right:1px solid #dadbdf; }
.taxWrap02 .frameWrap.taxWrap_02 > li > .circle { flex:0 0 262px; min-height:262px; display:flex; justify-content:center; align-items:center; margin-bottom:30px; }
.taxWrap02 .frameWrap.taxWrap_02 > .item01 > .circle { background:url("/sites/give/images/sub/bg-04.png") no-repeat center center; }
.taxWrap02 .frameWrap.taxWrap_02 > .item02 > .circle { background:url("/sites/give/images/sub/bg-05.png") no-repeat center center; }
.taxWrap02 .frameWrap.taxWrap_02 > .item03 > .circle { background:url("/sites/give/images/sub/bg-06.png") no-repeat center center; }
.taxWrap02 .frameWrap.taxWrap_02 > li > .btn { margin-top:30px; }

.taxWrap02 .frameWrap.taxWrap_02 > li > .circle > .wCircle { background-color:#fff; text-align:center; width:143px; height:143px; border-radius:100%; display:flex; flex-direction:column; justify-content:center; align-items:center; font-size:18px; font-family:'Pre Black'; line-height:1.3; }
.taxWrap02 .frameWrap.taxWrap_02 > li > .circle > .wCircle > .tit01 {}
@media all and (max-width:1280px) {
	.taxWrap02 { padding:30px 10px; }
	.taxWrap02 .frameWrap.taxWrap_02 { padding:0;}
}
@media all and (max-width:768px) {
	.taxWrap02 .frameWrap.taxWrap_02 > li:nth-child(2) { border:none; }
}

.qnaWrap_01 { display:flex; align-items:center; }
.qnaWrap_01 > dt { font-size:36px; font-family:'Pre Bold'; }
.qnaWrap_01 > dd { font-size:20px; font-family:'Pre Bold'; padding-left:20px; }

.calWrap_01 { display:flex; justify-content:center; align-items:center; column-gap:50px; font-size:30px; font-family:'Pre Bold'; padding:30px 0; }
.calWrap_01 .tit01 { display:block; font-size:20px; text-align:center; }

.modal .table_1 tbody td{padding:15px 10px; }


/* 기부자예우 > 예우안내 > 크림슨아너스클럽 */
body:not(.editMode) .dp4TabContent-1 { display:none; }
body:not(.editMode) .dp4TabContent-2 { display:none; }
body:not(.editMode) .dp4TabContent-3 { display:none; }

/* 기부자예우 > 기부자 명예의 전당 > 석탑클럽 */
.frameWrap.photoWrap_01 { column-gap:unset; padding:0 15px; border-top:2px solid #272727; }
.frameWrap.photoWrap_01.div4 > li { flex: 0 0 25%; display:flex; flex-direction:column; justify-content:space-between; align-items:center; padding:40px 15px; border-bottom:1px solid #dadbdf; }
.frameWrap.photoWrap_01.div4 > li .photo { background:#f7f7f7; width:100%; text-align:center; height:337px; display:flex; align-items:center; justify-content:center; }
.frameWrap.photoWrap_01.div4 > li .photo img {}
@media all and (max-width:1280px) {
	.frameWrap.photoWrap_01.div4 > li { flex: 0 0 33.33333%; }
}
@media all and (max-width:768px) {
	.frameWrap.photoWrap_01.div4 > li { flex: 0 0 50%; }
}

/* 기부자예우 > 네이밍예우 */
.frameWrap.namingWrap { column-gap:unset; }
.frameWrap.namingWrap > li { padding-left:30px; }
.frameWrap.namingWrap > li:not(:first-child) { border-left:1px solid #dadbdf; }
.frameWrap.namingWrap > li > .list {}
.frameWrap.namingWrap > li > .list > li { padding-bottom:30px; }
.frameWrap.namingWrap > li > .list > li .yy { font-family:'Pre Bold'; font-size:20px; }
.frameWrap.namingWrap > li > .list > li .nm { font-family:'Pre Bold'; font-size:26px; }
@media all and (max-width:1280px) {	
	.frameWrap.namingWrap > li { border-bottom:1px solid #dadbdf; }
	.frameWrap.namingWrap > li:not(:first-child) { border-left:none; }
	.frameWrap.namingWrap > li:last-child{ border-bottom:none; }
	.frameWrap.namingWrap > li > .list { display:flex; flex-flow:row wrap; column-gap:3%; }
	.frameWrap.namingWrap > li > .list > li { flex: 1 0 47%; }
	.frameWrap.namingWrap > li > .list > li .yy { font-size:19px; }
	.frameWrap.namingWrap > li > .list > li .nm { font-size:22px; }
	
}
.frameWrap.namingWrap_02 .photo { text-align:center; }

/* 기부자예우 > 예우안내 > 고액기부자 맞춤형 예우 */
.frameWrap.majorDonorWrap .photo { text-align:center; height:100%; }

/* 유트뷰동영상 높이 자동 조절 */
.video-container { position:relative; padding-bottom:56.25%; height:0; overflow:hidden; }
.video-container iframe, .video-container object, .video-container embed { position:absolute; top:0; left:0; width:100%; height:100%; }

/* 기부자예우 > 예우안내 > 디지털도너스월 */
.digitalWrap_01 > li { position:relative; padding-left:25px; }
.digitalWrap_01 .num { position:absolute; left:0; top:4px; display:flex; justify-content:center; align-items:center; background:#7c0019; color:#fff; border-radius:10px; width:17px; height:17px; font-size:14px; }

/* 기부자예우 > 기부자예우안내 > 크림슨 아너스 클럽 */
.justiceWrap .tit01 { font-size:30px; font-family:'Pre Bold'; }
.justiceWrap .tit02 { font-size:60px; font-family:'Pre Black'; }

.hosWrap { border-top:1px solid #dadbdf; }
.hosWrap dl { border-bottom:1px solid #dadbdf; padding:25px 20px; display:flex; flex-wrap:wrap; }
.hosWrap dl dt { flex:0 0 45%; font-family:'Pre Black'; font-size:22px; }
.hosWrap dl dd { flex-grow:1; }
.hosWrap dl dd ul li:not(:first-child) { margin-top:10px; }
.hosWrap dl dd ul li span { display:block; }
@media all and (max-width:768px) {
	.hosWrap dl dt { flex-basis:100%; }
	.hosWrap dl dd { flex-basis:100%; margin-top:20px; }
}

/* 대외협력처 */
.externalWrap_01 { display:flex; flex-wrap:wrap; justify-content:space-between; align-items:stretch; padding:70px 0; position:relative; }
.externalWrap_01.bdrTop { border-top:1px solid #dadbdf; }
.externalWrap_01.bdrBottom { border-bottom:1px solid #dadbdf; }
.externalWrap_01.no-margin { padding-top:0; }
.externalWrap_01.type2 { column-gap:10%; row-gap:30px; }
.externalWrap_01 > .item {}
.externalWrap_01 > .item.nLine { flex-basis:100%; }

.externalWrap_01 > .item01 { flex: 1 0 55%; padding-right:50px; }
.externalWrap_01 > .item02 { flex: 1 0 45%; }

.externalWrap_01.type2 > .item01 { flex: 1 0 40%; }
.externalWrap_01.type2 > .item02 { flex: 1 0 50%; }

.externalWrap_01 .tit01 { font-family:'Pre Black'; font-size:38px; }

.externalWrap_01 dl { display:flex; }
.externalWrap_01 dt { color:#787878; flex: 0 0 100px; }
.externalWrap_01 dd { color:#272727; flex-grow:1; }
@media all and (max-width:1024px) {
	.externalWrap_01 { row-gap:30px; }
	.externalWrap_01 > .item01 { flex-basis:100%; }
	.externalWrap_01 > .item02 { flex-basis:100%; }
	.externalWrap_01 > .item .photo { text-align:center; }

	.externalWrap_01.type2 > .item01 { flex-basis:100%; }
	.externalWrap_01.type2 > .item02 { flex-basis:100%; }

	.externalWrap_01 .tit01 { font-family:'Pre Black'; font-size:28px; }
}

/* 대외협력처 > 구성원 */
.frameWrap.staffWrap_01 { column-gap:6.6%; row-gap:50px; }
.frameWrap.staffWrap_01 > li { flex: 0 0 20%; }
.frameWrap.staffWrap_01 dl { display:flex; }
.frameWrap.staffWrap_01 dl dt { flex:0 0 85px; color:#787878; }
.frameWrap.staffWrap_01 dl dd { flex-grow:1; color:#272727; }
@media all and (max-width:1280px) {
	.frameWrap.staffWrap_01 > li { flex: 0 0 27%; }
}
@media all and (max-width:768px) {
	.frameWrap.staffWrap_01 > li { flex: 0 0 44%; }
}
@media all and (max-width:500px) {
	.frameWrap.staffWrap_01 > li { flex: 0 0 100%; }
}
/*2026 06 23 마이마이비즈 업체 css 코드 추가*/

.kgc-root { --kgc-header-offset: 121px; }

@font-face {
  font-family: 'Playfair Display';
  src: url('/sites/giveen/images/sub/ku-campaign/fonts/playfair-display/playfair-display-400.woff2') format('woff2');
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('/sites/giveen/images/sub/ku-campaign/fonts/playfair-display/playfair-display-600.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Playfair Display';
  src: url('/sites/giveen/images/sub/ku-campaign/fonts/playfair-display/playfair-display-700.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Source Serif 4';
  src: url('/sites/giveen/images/sub/ku-campaign/fonts/source-serif-4/source-serif-4-600.woff2') format('woff2');
  font-weight: 600; font-style: normal; font-display: swap;
}
@font-face {
  font-family: 'Source Serif 4';
  src: url('/sites/giveen/images/sub/ku-campaign/fonts/source-serif-4/source-serif-4-700.woff2') format('woff2');
  font-weight: 700; font-style: normal; font-display: swap;
}

/* (2) 디자인 토큰 (네임스페이스 격리) */
:root {
  --kgc-color-crimson: #800020;
  --kgc-color-crimson-dark: #5C001B;
  --kgc-color-crimson-tint: #FDF2F4;
  --kgc-color-ink: #1F2937;
  --kgc-color-muted: #4B5563;
  --kgc-color-caption: #6B7280;
  --kgc-color-border: #E5E1D5;
  --kgc-color-white: #FFFFFF;
  --kgc-color-ivory: #FAF7F0;
  --kgc-color-bg: var(--kgc-color-ivory);
  --kgc-radius-sm: 4px;
  --kgc-radius-md: 8px;
  --kgc-radius-pill: 999px;
  --kgc-dur-fast: 160ms;
  --kgc-dur-base: 280ms;
  --kgc-ease-out: cubic-bezier(0.2, 0.8, 0.2, 1);
  --kgc-shadow-md: 0 4px 16px rgba(31, 41, 55, 0.08);
  --kgc-shadow-dock-top: 0 -4px 16px rgba(31, 41, 55, 0.06);
  --kgc-font-display: 'Playfair Display', 'EB Garamond', Georgia, 'Times New Roman', serif;
  --kgc-font-body: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, 'Helvetica Neue', Arial, sans-serif;
  --kgc-font-emphasis: 'Sitka Heading', 'Source Serif 4', Georgia, 'Times New Roman', serif;
}

/* (3) 스코프 reset + base */
/* --- 컨테이너 베이스 (구 html,body) --- */
.kgc-root {
  box-sizing: border-box;
  width: 100%;
  color: var(--kgc-color-ink);
  background-color: var(--kgc-color-white);
  font-family: var(--kgc-font-body);
  font-size: 16px;
  line-height: 1.55;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-text-size-adjust: none;
  -moz-text-size-adjust: none;
  text-size-adjust: none;
}

/* --- reset (스코프) --- */
.kgc-root :where(*, *::before, *::after) { box-sizing: border-box; }
.kgc-root :where(h1, h2, h3, h4, h5, h6, p, figure, blockquote, dl, dd) { margin: 0; }
.kgc-root :where(ul[role='list'], ol[role='list']) { list-style: none; padding: 0; }
.kgc-root :where(h1, h2, h3, h4, button, input, label) { line-height: 1.1; }
.kgc-root :where(h1, h2, h3, h4) { text-wrap: balance; }
.kgc-root :where(a:not([class])) { text-decoration-skip-ink: auto; color: currentColor; }
.kgc-root :where(img, picture, video, canvas, svg) { max-width: 100%; display: block; }
.kgc-root :where(input, button, textarea, select) { font: inherit; }
.kgc-root :where(:target) { scroll-margin-block: 5ex; }

/* --- base (구 v2 전역 element 룰, 스코프) --- */
.kgc-root :where(p, li, dt, dd, span, small, figcaption, label, button, input, a) { font-family: var(--kgc-font-body); }
.kgc-root :where(img) { max-width: 100%; display: block; }
.kgc-root :where(:focus-visible) { outline: 2px solid var(--kgc-color-crimson); outline-offset: 3px; }

@media (prefers-reduced-motion: reduce) {
  .kgc-root :where(*, *::before, *::after) {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}

/* (4) 컴포넌트 — Hero / Stats / Stories / Gift / How to Give / Back */
.kgc-container {
  width: 100%;
  max-width: 1200px;
  margin-inline: auto;
  padding-inline: clamp(20px, 4vw, 48px);
}

.kgc-section {
  padding-block: clamp(56px, 8vw, 112px);
}

.kgc-eyebrow {
  display: inline-block;
  font-family: var(--kgc-font-body);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  color: var(--kgc-color-crimson);
}

.kgc-btn {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 14px 28px;
  border-radius: var(--kgc-radius-sm);
  font-family: var(--kgc-font-body);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--kgc-dur-fast) var(--kgc-ease-out);
  border: 1px solid transparent;
  white-space: nowrap; /* 검증 의견: "Give Now" 줄바꿈 방지 */
}
a.kgc-btn--primary {
  background-color: var(--kgc-color-crimson);
  color: var(--kgc-color-white);
}
.kgc-btn--primary:hover,
.kgc-btn--primary:focus-visible {
  background-color: var(--kgc-color-crimson-dark);
  color: var(--kgc-color-white);
}
.kgc-btn--ghost {
  background-color: transparent;
  color: var(--kgc-color-crimson);
  border-color: var(--kgc-color-crimson);
}
.kgc-btn--ghost:hover {
  background-color: var(--kgc-color-crimson-tint);
}

/* 1. Top utility bar 제거 — 상단 바/네비 삭제(클라 요청 + 헤더 없음 정책). 관련 .kgc-utility* 룰 일괄 삭제 */

/* ============================================
 * 2. Hero — 좌우 50/50 + 가로 캐러셀
 * ============================================ */

.kgc-hero {
  background-color: var(--kgc-color-white);
  padding-block: clamp(40px, 6vw, 88px);
}
.kgc-hero__inner {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(32px, 4vw, 56px);
  align-items: center;
}
.kgc-hero__text {
  display: flex;
  flex-direction: column;
  gap: 20px;
  max-width: 560px;
  /* 와이어프레임 R3 — 우측정렬 */
  text-align: right;
  align-items: flex-end;
  margin-inline-start: auto; /* 그리드 셀 내부에서 우측 정렬 */
}
.kgc-hero__title {
  margin: 0;
  /* 헤드라인 세리프(Playfair Display) */
  font-family: var(--kgc-font-display);
  /* 우측정렬 유지 — nowrap 로 의도한 2줄 고정 시 좁은 폭 오버플로 방지 위해 소폭 축소 */
  font-size: clamp(30px, 4.6vw, 58px);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.01em;
  color: var(--kgc-color-ink);
}
.kgc-hero__title-line {
  display: block;
  /* 2순위 — 각 줄을 한 줄로 고정해 우측정렬 왼쪽 가장자리 들쭉날쭉(예기치 않은 줄바꿈) 제거 */
  white-space: nowrap;
}
/* R3 헤드라인 핵심어 "Meets" — 크림슨 액센트(이탤릭 X, 컬러만) */
.kgc-hero__title-accent-word {
  color: var(--kgc-color-crimson);
  font-style: normal;
}
.kgc-hero__subline {
  margin: 0;
  font-size: clamp(15px, 1.2vw, 18px);
  line-height: 1.6;
  color: var(--kgc-color-muted);
  max-width: 48ch;
}
/* "international students" 강조 — 크림슨 + 볼드 */
.kgc-hero__subline-emph {
  color: var(--kgc-color-crimson);
  font-weight: 700;
}
/* 히어로 CTA 복귀 — 우측정렬 히어로(.kgc-hero__text)에 맞춰 버튼도 우측 정렬.
 * Give Now(primary)·View Impact(ghost) 2버튼, 좁은 폭에서 wrap 시에도 우측 유지. */
.kgc-hero__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 12px;
  margin-top: 4px;
}

/* 캐러셀 — 새 사진은 3:2 가로비율 */
.kgc-carousel {
  position: relative;
  width: 100%;
  aspect-ratio: 3 / 2;
  background-color: var(--kgc-color-border);
  overflow: hidden;
  border-radius: var(--kgc-radius-sm);
  /* edge-bleed 수정 — track 이 합성 레이어(will-change/transform)라
   * overflow:hidden + border-radius 만으로는 인접 슬라이드가 모서리로 샐 수 있어
   * clip-path 로 강제 하드 클립 + isolation 으로 합성 컨텍스트 격리 */
  clip-path: inset(0 round var(--kgc-radius-sm));
  isolation: isolate;
}
.kgc-carousel__track {
  position: absolute;
  inset: 0;
  display: flex;
  transition: transform 600ms var(--kgc-ease-out);
  will-change: transform;
  backface-visibility: hidden;
}
.kgc-carousel__slide {
  flex: 0 0 100%;
  height: 100%;
  position: relative;
}
.kgc-carousel__slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
/* 검증 의견: 자막이 학생 얼굴 위에 겹쳐 표정 가림 → 슬라이드 하단에 강한 그라데이션 dim + 자막 위치 안전 영역 확보 */
.kgc-carousel__slide::after {
  content: '';
  position: absolute;
  inset: auto 0 0 0;
  /* 자막을 도트 위로 올리며 2줄 자막도 충분히 덮도록 dim 영역 살짝 확대 (40% → 46%) */
  height: 46%;
  background: linear-gradient(to top, rgba(0, 0, 0, 0.65) 0%, rgba(0, 0, 0, 0.3) 50%, transparent 100%);
  pointer-events: none;
}
.kgc-carousel__caption {
  position: absolute;
  /* 하단 중앙 도트와 겹치지 않도록 자막을 한 줄 위로 올림 (14px → 34px).
   * 도트는 맨 아래(bottom:12px)에 단독으로 남아 위치 표시가 또렷해진다. */
  bottom: 34px;
  left: 16px;
  right: 16px;
  color: var(--kgc-color-white);
  font-size: 12px;
  line-height: 1.4;
  letter-spacing: 0.04em;
  font-weight: 600;
  z-index: 1;
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.4);
}
.kgc-carousel__nav {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  z-index: 2;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background-color: rgba(255, 255, 255, 0.85);
  color: var(--kgc-color-ink);
  border: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  transition: background-color var(--kgc-dur-fast) var(--kgc-ease-out);
}
.kgc-carousel__nav:hover {
  background-color: var(--kgc-color-white);
}
.kgc-carousel__nav--prev { left: 12px; }
.kgc-carousel__nav--next { right: 12px; }
.kgc-carousel__nav svg { width: 18px; height: 18px; }
.kgc-carousel__dots {
  position: absolute;
  bottom: 12px;
  left: 50%;
  transform: translateX(-50%);
  z-index: 2;
  display: flex;
  gap: 6px;
}
.kgc-carousel__dot {
  width: 8px;
  height: 8px;
  /* pill 대응(활성 시 가로 확장해도 둥근 끝 유지) */
  border-radius: 999px;
  background-color: rgba(255, 255, 255, 0.55);
  border: none;
  cursor: pointer;
  padding: 0;
  /* 밝은 사진(도서관·본관 하늘) 위에서도 도트가 보이도록 옅은 그림자 */
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.35);
  transition: width var(--kgc-dur-fast) var(--kgc-ease-out),
    background-color var(--kgc-dur-fast) var(--kgc-ease-out);
}
/* 활성 도트 — 꽉 찬 흰색 + 가로로 늘어난 pill 로 현재 위치를 명확히 강조.
 * width 트랜지션으로 슬라이드 전환 시 활성 표시가 자연스럽게 따라 이동한다. */
.kgc-carousel__dot[aria-current='true'] {
  width: 20px;
  background-color: var(--kgc-color-white);
}

@media (min-width: 900px) {
  .kgc-hero__inner {
    /* 캐러셀(좌 55%) / 텍스트(우 45%) — 와이어프레임 비율 */
    grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
    gap: clamp(40px, 5vw, 80px);
  }
}
/* 모바일에서는 텍스트 → 캐러셀 순서가 자연스럽지만 와이어 의도(이미지 임팩트 우선)에 맞춰 캐러셀이 항상 먼저 옴 */

/* ============================================
 * 3. Stats highlight band — 격식 있는 4통계 띠
 * ============================================ */

.kgc-stats-band {
  /* R3 — 배경색 제거, 위아래 구분선만 (3면 사실 톤) */
  background-color: var(--kgc-color-white);
  border-block: 1px solid var(--kgc-color-border);
  padding-block: clamp(40px, 5vw, 64px);
}
.kgc-stats-band__header {
  /* 클라 추가지시 — 중앙 정렬 (이 섹션 헤더만) */
  text-align: center;
  margin-bottom: clamp(32px, 4vw, 48px);
}
.kgc-stats-band__header h2 {
  margin: 0 0 6px 0;
  font-family: var(--kgc-font-display);
  font-size: clamp(28px, 3.5vw, 40px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--kgc-color-ink);
}
/* ── 공통 타이포 통일 (클라 2차) ──────────────────────────────
 * .kgc-section-sub      : 4개 섹션 부제(소제목)를 작은 대문자 트래킹으로 일원화.
 * .kgc-section-emphasis : 3개 섹션 하단 강조 문구를 bold·non-italic·상단 간격으로.
 * 정렬·폭·색은 각 섹션 고유 룰에 남겨 배경/레이아웃별로 유지한다. */
.kgc-section-sub {
  margin: 0;
  font-family: var(--kgc-font-body);
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--kgc-color-muted);
}
.kgc-section-emphasis {
  margin-top: clamp(40px, 5vw, 64px);
  font-family: var(--kgc-font-body);
  font-style: normal;
  font-weight: 700;
  font-size: clamp(16px, 1.7vw, 21px);
}
.kgc-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: clamp(24px, 3vw, 40px);
  max-width: 1080px;
  margin-inline: auto;
}
@media (min-width: 768px) {
  .kgc-stats-grid { grid-template-columns: repeat(4, 1fr); }
}
.kgc-stat {
  /* flex column — 라벨을 셀 하단에 정렬해, smallSuffix(Billion Won) 유무와
   * 무관하게 4개 스탯의 라벨 시작 높이를 맞춘다 (클라 2차 2-2). */
  display: flex;
  flex-direction: column;
  /* 클라 — inline-flex 인 숫자(.kgc-stat__num)가 cross-axis stretch 로 왼쪽에 붙던 문제:
   * 가로 중앙 정렬. text-align 만으로는 inline-flex 요소가 가운데로 안 옴 */
  align-items: center;
  text-align: center;
  padding-block: 20px;
  /* 검증 의견: 인포그래픽 톤을 살리기 위한 hairline rule */
  border-top: 1px solid var(--kgc-color-border);
}
.kgc-stat__num {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  font-family: var(--kgc-font-body);
  font-size: clamp(34px, 4.5vw, 56px);
  font-weight: 700;
  color: var(--kgc-color-crimson);
  letter-spacing: -0.02em;
  line-height: 1;
  font-variant-numeric: tabular-nums;
  white-space: nowrap;
  margin: 0 0 8px 0;
}
.kgc-stat__num-prefix,
.kgc-stat__num-suffix {
  font-size: 0.55em;
  font-weight: 700;
}
.kgc-stat__small-suffix {
  display: block;
  font-family: var(--kgc-font-body);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kgc-color-crimson);
  margin-top: 2px;
}
.kgc-stat__label {
  /* margin-top auto — 셀 하단 고정(숫자-라벨 정렬 일관) */
  margin: auto 0 0;
  font-size: clamp(11px, 2.6vw, 13px);
  line-height: 1.4;
  color: var(--kgc-color-muted);
}
/* 라벨 3줄 통일 — 각 줄을 block 으로 강제하고 nowrap 으로 줄 안에서 쪼개지지 않게
 * (clamp 폰트로 좁은 화면에서도 셀 폭 안에 들어오도록) (클라 2차 2-2) */
.kgc-stat__label-line {
  display: block;
  white-space: nowrap;
}

.kgc-summer-band {
  background-color: var(--kgc-color-white);
  border: 1px solid var(--kgc-color-border);
  border-radius: var(--kgc-radius-sm);
  padding: clamp(20px, 2.5vw, 28px) clamp(20px, 3vw, 40px);
  max-width: 720px;
  margin: clamp(32px, 4vw, 48px) auto 0;
  display: grid;
  gap: 16px;
  text-align: center;
}
.kgc-summer-band__title {
  /* stat__label 과 동일한 디자인 — 진하기 효과 없이 폰트 크기·색만 통일 (클라 요청) */
  margin: 0;
  font-size: clamp(11px, 2.6vw, 13px);
  line-height: 1.4;
  color: var(--kgc-color-muted);
}
.kgc-summer-band__items {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
}
.kgc-summer-band__num {
  font-family: var(--kgc-font-body);
  font-size: clamp(22px, 2.6vw, 30px);
  font-weight: 700;
  color: var(--kgc-color-crimson);
  line-height: 1;
  margin: 0;
}
.kgc-summer-band__label {
  margin: 2px 0 0 0;
  font-size: 11px;
  color: var(--kgc-color-muted);
  letter-spacing: 0.04em;
}

.kgc-bridge-quote {
  /* R3 — 박스(배경/좌측 라인/패딩) 제거 + 가운데 정렬. 타이포·상단 간격은 .kgc-section-emphasis 통일 */
  max-width: 720px;
  margin-inline: auto;
  padding: 0;
  border: none;
  background: none;
  text-align: center;
  line-height: 1.5;
  color: var(--kgc-color-ink);
  /* 강조 독려 문구 세리프(Sitka 대체) — .kgc-section-emphasis 의 var(--kgc-font-body) 보다 뒤에 와서 우선 적용 */
  font-family: var(--kgc-font-emphasis);
}
.kgc-sources {
  /* footnote — 데이터 바로 다음, 강조문구(bridge-quote) 앞에 위치(클라 추가지시로
   * 순서 교체). 중앙축을 맞춰 출처답게 작고 차분하게. 데이터 블록과 충분히 분리. */
  margin-top: clamp(28px, 4vw, 44px);
  text-align: center;
  font-size: 11px;
  color: var(--kgc-color-caption);
}

/* ============================================
 * 4. Stories — 3컬럼 카드 그리드
 * ============================================ */

.kgc-stories {
  /* R3 — 2면 감정 톤: 크림슨 tint 배경 (카드는 화이트로 대비) */
  background-color: var(--kgc-color-crimson-tint);
}
.kgc-stories__header {
  text-align: center;
  margin-bottom: clamp(32px, 4vw, 56px);
}
.kgc-stories__header h2 {
  margin: 0 0 6px 0;
  font-family: var(--kgc-font-display);
  font-size: clamp(28px, 3.8vw, 44px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--kgc-color-ink);
}
/* 부제는 .kgc-section-sub 로 통일 (클라 2차) */
.kgc-story-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(20px, 2.5vw, 32px);
}
@media (min-width: 900px) {
  .kgc-story-grid { grid-template-columns: repeat(3, 1fr); }
}
.kgc-story-card-v2 {
  display: flex;
  flex-direction: column;
  background-color: var(--kgc-color-white);
  border: 1px solid var(--kgc-color-border);
  border-radius: var(--kgc-radius-sm);
  overflow: hidden;
  transition: box-shadow var(--kgc-dur-base) var(--kgc-ease-out);
}
.kgc-story-card-v2:hover {
  box-shadow: var(--kgc-shadow-md);
}
.kgc-story-card-v2__image {
  /* 4순위 — 3장 동일 크롭(4:3) + 카드 안쪽 인셋 라운딩으로 세트감 부여 */
  aspect-ratio: 4 / 3;
  margin: 14px 14px 0;
  border-radius: var(--kgc-radius-md);
  overflow: hidden;
  background-color: var(--kgc-color-border);
}
.kgc-story-card-v2__image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.kgc-story-card-v2__body {
  padding: 20px 22px 24px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  flex-grow: 1;
}
.kgc-story-card-v2__tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--kgc-color-crimson);
}
.kgc-story-card-v2__quote {
  margin: 0;
  font-family: var(--kgc-font-body);
  /* R3 — italic 제거 (전 카드 통일). 인용은 큰 글자·미디엄 웨이트로 위계 부여 */
  font-style: normal;
  font-weight: 500;
  font-size: 18px;
  line-height: 1.45;
  color: var(--kgc-color-ink);
}
.kgc-story-card-v2__meta {
  margin-top: auto;
  padding-top: 12px;
  border-top: 1px solid var(--kgc-color-border);
}
.kgc-story-card-v2__name {
  margin: 0 0 2px 0;
  font-size: 14px;
  font-weight: 700;
  color: var(--kgc-color-ink);
}
.kgc-story-card-v2__meta p {
  margin: 0;
  font-size: 12px;
  color: var(--kgc-color-muted);
}

/* R3 — Stories 하단 CTA: "Meet the students" 가운데 정렬 */
.kgc-stories__cta {
  margin-top: clamp(32px, 4vw, 48px);
  text-align: center;
}

/* ============================================
 * 5. Gift tracks — 2x2 카드
 * ============================================ */

.kgc-gift {
  background-color: var(--kgc-color-bg);
}
.kgc-gift__header {
  /* R3 — 소제목(서브헤드) 가운데 정렬. 투톤 타이틀도 함께 센터로 통일 */
  text-align: center;
  margin-bottom: clamp(28px, 4vw, 48px);
}
.kgc-gift__header h2 {
  margin: 0 0 6px 0;
  font-family: var(--kgc-font-display);
  font-size: clamp(28px, 3.8vw, 44px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--kgc-color-ink);
}
/* 클라 2차 4-3 — span 의 본문 sans 강제(§상단 룰)를 무력화해 헤딩 Playfair 를
 * 상속받게 한다. 이게 없으면 "Gift Goes"(accent span)만 Inter 로 빠져
 * "Where Your"(Playfair)와 폰트가 어긋나 보였다. */
.kgc-gift__header h2 .kgc-accent { color: var(--kgc-color-crimson); font-family: inherit; }
.kgc-gift__header p {
  /* 긴 부제 — 줄바꿈/센터링만, 타이포는 .kgc-section-sub 가 담당 (클라 2차) */
  max-width: 56ch;
  margin-inline: auto;
}
.kgc-gift-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(16px, 2vw, 24px);
}
/* 클라 2차 4-1 — PC 2열 고정(기존 1100px+ 4열 제거). 카드 폭↑ → 제목 1줄 수용 */
@media (min-width: 700px) { .kgc-gift-grid { grid-template-columns: repeat(2, 1fr); } }

.kgc-gift-card {
  background-color: var(--kgc-color-white);
  border: 1px solid var(--kgc-color-border);
  border-radius: var(--kgc-radius-sm);
  padding: 20px 22px;
  display: flex;
  flex-direction: column;
  gap: 12px;
  transition: box-shadow var(--kgc-dur-base) var(--kgc-ease-out);
}
.kgc-gift-card:hover { box-shadow: var(--kgc-shadow-md); }

.kgc-gift-card__top {
  display: flex;
  align-items: center;
  gap: 14px; /* R3 — 요소 간 구분 더 크게 */
}
/* 클라 2차 4-4 — 카드 번호 뱃지(1·2·3·4) 제거 (요소 과다) */
/* R3 — 픽토그램 크게: 크림슨 tint 원형 배경에 담아 시각 비중↑ */
.kgc-gift-card__icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  flex-shrink: 0;
  background-color: var(--kgc-color-crimson-tint);
  border-radius: 50%;
  color: var(--kgc-color-crimson);
}
.kgc-gift-card__icon svg {
  width: 26px;
  height: 26px;
}
.kgc-gift-card__tag {
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--kgc-color-crimson);
}
.kgc-gift-card__title {
  margin: 0;
  font-family: var(--kgc-font-body);
  font-size: 20px;
  font-weight: 600;
  color: var(--kgc-color-ink);
}
.kgc-gift-card__desc {
  margin: 0;
  /* 클라 2차 4-2 — 설명 본문 키움 (13 → 15px) */
  font-size: 15px;
  line-height: 1.55;
  color: var(--kgc-color-muted);
}
.kgc-gift-closer {
  /* 타이포·상단 간격은 .kgc-section-emphasis 통일 — 폭/센터링/색만 (클라 2차) */
  margin-inline: auto;
  max-width: 600px;
  text-align: center;
  color: var(--kgc-color-ink);
  /* 강조 독려 문구 세리프(Sitka 대체) — .kgc-section-emphasis 의 var(--kgc-font-body) 보다 뒤에 와서 우선 적용 */
  font-family: var(--kgc-font-emphasis);
}

/* ============================================
 * 6. How to Give — 3채널 + QR
 * ============================================ */

.kgc-give {
  background-color: var(--kgc-color-white);
  /* 클라 요청 — 3개 채널 카드와 그 아래 클로징 문구(.kgc-back__sub)를 더 가깝게.
   * 섹션 기본 하단패딩 clamp(56~112px) 을 축소 오버라이드(상단은 .kgc-section 유지) */
  padding-bottom: clamp(16px, 2.5vw, 32px);
}
.kgc-give__header {
  text-align: center;
  margin-bottom: clamp(32px, 4vw, 56px);
}
.kgc-give__header h2 {
  margin: 0 0 6px 0;
  font-family: var(--kgc-font-display);
  font-size: clamp(28px, 3.8vw, 44px);
  font-weight: 700;
  letter-spacing: -0.02em;
  color: var(--kgc-color-ink);
}
/* 부제는 .kgc-section-sub 로 통일 (클라 2차) */
.kgc-give-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  /* 클라 추가지시 — 3카드 등높이(기본 stretch). 하단 액션/연락처는 각 카드 바닥에
   * 정렬(아래 margin-top:auto)해 footer 가 가지런 → 디자인적으로 깔끔 */
}
@media (min-width: 900px) { .kgc-give-grid { grid-template-columns: repeat(3, 1fr); } }

.kgc-give-card {
  border: 1px solid var(--kgc-color-border);
  /* R3/클라 — 세 박스 동일 크림슨 선(상단 액센트)으로 통일 */
  border-top: 3px solid var(--kgc-color-crimson);
  border-radius: var(--kgc-radius-sm);
  padding: 24px;
  display: flex;
  flex-direction: column;
  /* 클라 추가지시 — 간격 줄이기 (14 → 12) */
  gap: 12px;
  transition: box-shadow var(--kgc-dur-base) var(--kgc-ease-out);
}
.kgc-give-card:hover { box-shadow: var(--kgc-shadow-md); }
.kgc-give-card__icon {
  width: 28px;
  height: 28px;
  color: var(--kgc-color-crimson);
}
/* 제목 2줄 구조 — 타이틀 + 서브라벨 */
.kgc-give-card__head {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.kgc-give-card__title {
  margin: 0;
  font-family: var(--kgc-font-body);
  font-size: 19px;
  font-weight: 700;
  color: var(--kgc-color-ink);
}
.kgc-give-card__sub {
  margin: 0;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kgc-color-crimson);
}
.kgc-give-card__body {
  margin: 0;
  /* 클라 2차 5-1 — 카드 본문 키움 (13 → 15px, Gift 섹션 본문과 통일) */
  font-size: 15px;
  line-height: 1.6;
  color: var(--kgc-color-muted);
}
/* 채널3 — 번호 단계 안내(matching gift 진행 순서). 본문 톤과 통일, 번호는 크림슨 강조 */
.kgc-give-card__steps {
  margin: 0;
  padding-left: 1.4em;
  display: flex;
  flex-direction: column;
  gap: 8px;
  font-size: 15px;
  line-height: 1.55;
  color: var(--kgc-color-muted);
}
.kgc-give-card__steps li { padding-left: 4px; }
.kgc-give-card__steps li::marker {
  color: var(--kgc-color-crimson);
  font-weight: 700;
}
/* 채널2 — PayPal/Wire 구조화 블록 */
.kgc-give-card__block {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
  padding-top: 14px;
  border-top: 1px solid var(--kgc-color-border);
}
.kgc-give-card__block:first-of-type {
  padding-top: 0;
  border-top: none;
}
.kgc-give-card__block-head {
  margin: 0;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kgc-color-ink);
}
.kgc-give-card__block-body {
  margin: 0;
  /* 클라 2차 5-1 — 본문 키움 (13 → 15px) */
  font-size: 15px;
  line-height: 1.6;
  color: var(--kgc-color-muted);
}
.kgc-give-card__donate {
  /* 클라 추가지시 — Go to IFKU 풀폭 방지: 내용폭으로 맞춰 Go to Donate 와 동일 크기.
   * (카드 flex 직속이라 기본 align stretch 로 늘어나던 것을 flex-start 로) */
  align-self: flex-start;
  padding: 11px 22px;
  font-size: 14px;
}
/* 등높이 카드 하단 정렬 — 채널1 카드레벨 버튼(Go to IFKU)을 바닥으로 밀어
 * info 링크와 함께 footer 로. 채널2 블록 내 버튼은 직속이 아니라 제외 */
.kgc-give-card > .kgc-give-card__donate { margin-top: auto; }
.kgc-give-card__note {
  margin: 0;
  /* 클라 2차 5-1 — 부가 안내 살짝 키움 (12 → 13px) */
  font-size: 13px;
  line-height: 1.55;
  color: var(--kgc-color-muted);
}
.kgc-give-card__contact-line {
  /* 클라 추가지시 — 등높이 카드 하단 정렬: 연락처를 카드 바닥에 고정(margin-top:auto)해
   * 3카드 footer 를 가지런히. 구분선으로 본문과 분리 */
  margin: auto 0 0 0;
  padding-top: 14px;
  border-top: 1px solid var(--kgc-color-border);
  /* 클라 2차 5-1 — 본문급 텍스트 키움 (13 → 15px) */
  font-size: 15px;
  color: var(--kgc-color-muted);
}
/* 버튼(Go to IFKU)이 함께 있는 카드(채널1) — 하단 고정은 버튼이 담당하므로
 * contact 의 자동 상단여백(margin-top:auto)을 해제해 본문 바로 아래(구분선과 함께)로 올린다. */
.kgc-give-card__contact-line--with-button {
  margin-top: 0;
}
.kgc-give-card dl {
  margin: 0;
  display: grid;
  gap: 6px;
  font-size: 12px;
  padding: 12px;
  background-color: var(--kgc-color-bg);
  border-radius: 3px;
}
.kgc-give-card dl div { display: grid; grid-template-columns: 110px 1fr; gap: 8px; }
.kgc-give-card dl dt {
  font-weight: 700;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  color: var(--kgc-color-muted);
}
.kgc-give-card dl dd { margin: 0; color: var(--kgc-color-ink); }
/* 텍스트 링크만 크림슨 밑줄 — Go to Donate 버튼(.kgc-btn)은 제외 */
.kgc-give-card__links a,
.kgc-give-card__note a,
.kgc-give-card__steps a,
.kgc-give-card__contact-line a {
  color: var(--kgc-color-crimson);
  font-weight: 600;
  text-decoration: underline;
  text-underline-offset: 2px;
}
.kgc-give-card__links {
  list-style: none;
  padding: 0;
  /* 보조 링크(info 이메일)는 본문 아래에 위치. 버튼은 그 아래에서 카드 바닥에 고정
   * (margin-top:auto)되어 Go to IFKU·Go to Donate 가 같은 가로줄에 정렬됨 */
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: 4px;
  font-size: 13px;
}

/* ============================================
 * 7. Back cover — Crimson 풀블리드 (검증 P1: 감정 클로저 추가)
 * 검증 의견: v1·v3는 마지막을 강한 비주얼로 닫지만 v2는 흰 배경 → 감정 약함.
 * Crimson 풀블리드 + 화이트 슬로건으로 v1 톤과 통일 (단, 카드 그리드는 유지).
 * ============================================ */

/* 클라 2차 6 — 크림슨 풀블리드 푸터 제거(기존 give.kgc-korea.kgc-ac.kgc-kr 검은 푸터와 중복).
 * 캠페인 클로징 문구(.kgc-back__sub)만 남기고 배경은 페이지 기본. 상단 간격은
 * .kgc-section-emphasis(margin-top)가 담당. */
.kgc-back {
  padding-block: 0 clamp(48px, 7vw, 80px);
  text-align: center;
}
.kgc-back__inner {
  max-width: 640px;
  margin-inline: auto;
}
.kgc-back__sub {
  /* .kgc-section-emphasis 타이포 통일 — 배경 제거 후 본문 ink 색 */
  color: var(--kgc-color-ink);
  /* 클라 요청 — 클로징 문구를 위로 당기고 간격 축소(section-emphasis 의 큰 margin-top 을 축소 오버라이드) */
  margin-top: clamp(8px, 1.5vw, 16px);
  /* 클라 요청 — gift-closer("Every gift…")와 폰트·크기 통일. 크기/굵기는 .kgc-section-emphasis 로 이미 동일,
   * 폰트만 emphasis 세리프(Source Serif/Sitka)로 맞춤 */
  font-family: var(--kgc-font-emphasis);
}
/* 클라 2차 6 — 붉은 푸터의 슬로건·URL·주소·조직·IFKU 풋노트 CSS 제거
 * (해당 정보는 기존 give.kgc-korea.kgc-ac.kgc-kr 검은 푸터가 보유). */

/* (5) 모바일 Sticky CTA Bottom Bar */
/* ============================================
 * Sticky CTA Bottom Bar (모바일 전용)
 *
 * - 데스크톱(>=768px) hidden
 * - data-visible="true" 일 때만 등장
 * - 페이지 하단 fixed, z-index 100
 * - 백커버 진입 시 숨김 (JS 가 dataset.kgc-atBackCover 로 제어)
 * ============================================ */

.kgc-sticky-cta {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 100;
  display: flex;
  align-items: stretch;
  gap: 8px;
  padding: 8px;
  padding-bottom: max(8px, env(safe-area-inset-bottom));
  background-color: var(--kgc-color-white);
  box-shadow: var(--kgc-shadow-dock-top);
  /* 등장 애니메이션 */
  transform: translateY(100%);
  transition: transform var(--kgc-dur-base) var(--kgc-ease-out);
  /* 데스크톱에선 항상 숨김 */
}

.kgc-sticky-cta[data-visible='true'] {
  transform: translateY(0);
}

/* P1-06: 모든 CTA 라운드를 pill 로 통일. P1-07: active/aria-pressed/disabled 상태. */
.kgc-sticky-cta__btn {
  flex: 1;
  display: inline-flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 4px;
  padding: 10px 6px;
  background: transparent;
  color: var(--kgc-color-ink);
  border: 1px solid var(--kgc-color-border);
  border-radius: var(--kgc-radius-pill);
  font-family: var(--kgc-font-body);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.02em;
  text-decoration: none;
  cursor: pointer;
  transition: background-color var(--kgc-dur-fast) var(--kgc-ease-out),
    color var(--kgc-dur-fast) var(--kgc-ease-out),
    transform var(--kgc-dur-fast) var(--kgc-ease-out);
  -webkit-tap-highlight-color: transparent;
}

.kgc-sticky-cta__btn:hover,
.kgc-sticky-cta__btn:focus-visible {
  background-color: var(--kgc-color-bg);
  color: var(--kgc-color-crimson);
  outline-offset: -2px;
}

.kgc-sticky-cta__btn:active {
  transform: scale(0.97);
}

.kgc-sticky-cta__btn[aria-pressed='true'] {
  background-color: var(--kgc-color-crimson);
  color: var(--kgc-color-white);
  border-color: var(--kgc-color-crimson);
}

.kgc-sticky-cta__btn:disabled {
  opacity: 0.5;
  cursor: not-allowed;
}

.kgc-sticky-cta__btn--primary {
  flex: 1.4; /* 메인 CTA 가 살짝 더 큼 */
  background-color: var(--kgc-color-crimson);
  color: var(--kgc-color-white);
  border-color: var(--kgc-color-crimson);
}

.kgc-sticky-cta__btn--primary:hover,
.kgc-sticky-cta__btn--primary:focus-visible {
  background-color: var(--kgc-color-crimson-dark);
  color: var(--kgc-color-white);
}

.kgc-sticky-cta__icon {
  display: inline-flex;
  width: 18px;
  height: 18px;
}
.kgc-sticky-cta__icon svg {
  width: 100%;
  height: 100%;
}

.kgc-sticky-cta__label {
  line-height: 1;
}

/* 데스크톱 — 숨김 */
@media (min-width: 768px) {
  .kgc-sticky-cta {
    display: none;
  }
}

/* 동작 감소 모드 — 즉시 표시/숨김 */
@media (prefers-reduced-motion: reduce) {
  .kgc-sticky-cta {
    transition: none;
  }
  .kgc-sticky-cta__btn {
    transition: none;
  }
}