.fundraising-page{width: 100%; padding: 0 40px;/* background: var(--secondary-color); */position: relative;display: flex;flex-flow: column;gap: 30px; }
.fundraising-page [class^="section"]{ border-radius: var(--radius); overflow: hidden;}
.fundraising-page h3{font-size: 50px;}
.fundraising-page h4{font-size: 38px;line-height: 1.2; color: #111;}
.fundraising-page p{font-size: 20px; font-weight: 500; line-height: 40px}

@media (max-width: 1024px) {
	.fundraising-page h3{font-size: 48px;}
	.fundraising-page h4{font-size: 34px;}
	.fundraising-page p{font-size: 20px;}
}
@media (max-width: 768px) {
	.fundraising-page{padding: 100px 20px;}
	.fundraising-page h3{font-size: 38px;}
	.fundraising-page h4{font-size: 32px;}
	.fundraising-page p{font-size: 18px;}
}
@media (max-width: 480px) {
	.fundraising-page h3{font-size: 32px;}
	.fundraising-page h4{font-size: 28px;}
	.fundraising-page p{font-size: 16px;}
}

.fundraising-page .section01{display: flex;align-items: center;justify-content: space-between;background: #4528c4;padding: 100px; gap: 40px;width: min(1600px, 100%);margin: 0 auto;}
.fundraising-page .section01 .text{/* width: 60%; */color: #fff;}
.fundraising-page .section01 .text span{display: block;font-size: 21px;letter-spacing: 4.5px;}
.fundraising-page .section01 .text h3{margin-top: 32px;}
.fundraising-page .section01 .text p{font-size: 21px;margin-top: 30px;letter-spacing: 0.1px;word-break: keep-all;}

@media (max-width: 1500px) {
    .fundraising-page .section01{padding: 120px 80px;}
}
@media (max-width: 1280px) {
	.fundraising-page .section01{flex-direction: column-reverse; gap: 30px;}
	.fundraising-page .section01 .br{display: none;}
}
@media (max-width: 1024px) {
	.fundraising-page .section01 .text {width: 100%}
	.fundraising-page .section01 .text p{font-size: 20px;}
}
@media (max-width: 768px) {
	.fundraising-page .section01 .text {width: 100%}
    .fundraising-page .section01{padding: 100px 30px;}
}
@media (max-width: 480px) {
	.fundraising-page .section01 .text {width: 100%}
	.fundraising-page .section01 .text p{font-size: 16px;}

}

.fundraising-page .section02{display: flex; align-items: center; gap: 128px; background: #fff; width: min(1600px, 100%); margin: 0 auto; box-shadow: 0 5px 30px rgba(58, 58, 58, 0.15); }
.fundraising-page .section02 img{max-width: 100%;}
.fundraising-page .section02 .text{color: #222; padding-right: 0;}
.fundraising-page .section02 .text p{margin-top: 25px;}

@media (max-width: 1760px) {
	.fundraising-page .section02{gap: 50px;}
}
@media (max-width: 1500px) {
	.fundraising-page .section02{flex-direction: column-reverse;}
	.fundraising-page .section02 img{max-width: 100%; width: 100%;;}
	.fundraising-page .section02 .br{display: none;}
	.fundraising-page .section02 .text{padding: 80px 40px 0; text-align: center;}
}

.fundraising-page .section03{ width: min(1600px, 100%); margin: 0 auto; aspect-ratio: 1823 / 850; }
.fundraising-page .section03 iframe{width: 100%; height: 100%;}

.fundraising-page .section04{background: #fff; padding: 140px 20px 160px; width: min(1600px, 100%); margin: 0 auto; box-shadow: 0 5px 30px rgba(58, 58, 58, 0.15); }
.fundraising-page .section04 h3 { padding: 0 20px;}
.fundraising-page .section04 .text{text-align: center; color: #111; margin-bottom: 70px;}
.fundraising-page .section04 .text p{margin-top: 25px; padding: 0 20px;}
.fundraising-page .section04 .type-list{gap: 20px; align-items: flex-start;}
.fundraising-page .section04 .type-box{ position: relative; padding: 35px; width: 420px; border-radius: 30px;}
.fundraising-page .section04 .type-box:nth-child(odd){background: #222941;}
.fundraising-page .section04 .type-box:nth-child(even){background: #572424;}
.fundraising-page .section04 .type-box::before{content: attr(data-type); position: absolute; top: 0; left: 50px; width: 81px; height: 77px; background: url('/resources/ottcms/newImg/fundraising-sec04_label.png') no-repeat center / 100%; color: #fff;text-align: center;line-height: 65px;font-size: 18px; font-weight: 600; letter-spacing: 0.5px;}
.fundraising-page .section04 .type-box .img{display: block; background: #fff; text-align: center; border-radius: 30px; overflow: hidden; padding: 20px;}
.fundraising-page .section04 .type-box .img img{}
.fundraising-page .section04 .type-box .description{margin-top: 20px;}
.fundraising-page .section04 .type-box .description >li{position: relative; font-size: 19px; font-weight: 500; color: #fff; padding-left: 18px; margin: 3px 0;}
.fundraising-page .section04 .type-box .description >li::before{content: '·'; position: absolute; top: 0; left: 0;}

@media (max-width: 768px) {
	.fundraising-page .section04 .type-box{width: 380px;}
}
@media (max-width: 480px) {
	.fundraising-page .section04 .type-box{width: 250px; padding: 20px;}
	.fundraising-page .section04 .type-box::before{left: 30px;width: 50px;height: 47px;line-height: 41px;font-size: 14px;}
	.fundraising-page .section04 .type-box .img{padding: 10px 20px;}
	.fundraising-page .section04 .type-box .description >li{font-size: 17px; padding-left: 14px;}
}

.fundraising-page .section04 .type-list.--v2 { display: flex;flex-wrap: wrap;align-items: stretch;justify-content: center; }

.fundraising-page .section05{ width: min(1600px, 100%); margin: 0 auto; background: #fff; padding: 140px 40px; box-shadow: 0 5px 30px rgba(58, 58, 58, 0.15); }
.fundraising-page .section05 .text{text-align: center; margin-bottom: 70px; color: #111;}
.fundraising-page .section05 .text p{margin-top: 20px;}
.fundraising-page .section05 .sns-wrap{display: flex; align-items: center; justify-content: center; flex-wrap: wrap; gap: 15px;}
.fundraising-page .section05 .sns-wrap a{display: inline-flex; align-items: center; justify-content: center; gap: 8px; width: 250px; height: 75px; font-size: 18px; font-weight: 600; color: #fff; border-radius: 50px;;}
/*
.fundraising-page .section05 .sns-wrap a:nth-child(1){background: #c20508;}
.fundraising-page .section05 .sns-wrap a:nth-child(2){background: #3a569a;}
.fundraising-page .section05 .sns-wrap a:nth-child(3){background: linear-gradient(90deg, #464c97, #d62885, #e8b832);}
.fundraising-page .section05 .sns-wrap a:nth-child(4){background: #1c9cea;}
*/
.fundraising-page .section05 .sns-wrap .snsYou {background: #c20508;}
.fundraising-page .section05 .sns-wrap .snsFace {background: #3a569a;}
.fundraising-page .section05 .sns-wrap .snsIns {background: linear-gradient(90deg, #464c97, #d62885, #e8b832);}
.fundraising-page .section05 .sns-wrap .snsTwi {background: #1c9cea;}


@media (max-width: 768px) {
	.fundraising-page .section05{padding: 100px 30px;}
}
@media (max-width: 480px) {
	.fundraising-page .section05 .sns-wrap a{height: 60px;}
}

.fundraising-page .sec-wrap{display: flex; align-items: stretch; flex-wrap: wrap; gap: 30px; width: min(1600px,100%); margin: 0 auto;}
.fundraising-page .sec-wrap >*{width: 45%;flex-grow: 1;padding: 60px 40px;}

@media (max-width: 1500px) {
    .fundraising-page .sec-wrap >*{width: 100%;}
}
@media (max-width: 1024px) {
	.fundraising-page .sec-wrap >*{padding: 90px 40px;}
}
@media (max-width: 768px) {
	.fundraising-page .sec-wrap >*{padding: 50px 30px;}
}

.fundraising-page .section06{background: #fff; box-shadow: 0 5px 30px rgba(58, 58, 58, 0.15); }
.fundraising-page .section06 ul{border-top: 1px solid #d9dde8; margin-top: 50px;}
.fundraising-page .section06 li{display: flex; align-items: flex-start; flex-wrap: wrap; padding: 10px 35px; color: #111; font-weight: 500; border-bottom: 1px solid #d9dde8;}
.fundraising-page .section06 span{display: block;width: 155px;font-size: 18px;}
.fundraising-page .section06 p{font-size: 20px;flex: 1;}
.fundraising-page .section06 li:first-child p{color: #c20508;}

@media (max-width: 1024px) {
	.fundraising-page .section06 li{padding: 10px 0;}
}
@media (max-width: 768px) {
	.fundraising-page .section06 span{width: 120px; font-size: 18px;}
	.fundraising-page .section06 p{font-size: 20px;}
}
@media (max-width: 480px) {
	.fundraising-page .section06 span{width: 100%;}

}

.fundraising-page .section07{background: #fff url('/resources/ottcms/newImg/fundraising-sec07_bg.png') no-repeat center bottom; padding-bottom: 120px; box-shadow: 0 5px 30px rgba(58, 58, 58, 0.15); }
.fundraising-page .section07 ul{margin-top: 50px; display: flex; align-items: center; justify-content: center; gap: 20px;}
.fundraising-page .section07 p{font-size: 20px; color: #56627c; font-weight: 600;}
.fundraising-page .section07 img{display: inline-block;}

@media (max-width: 768px) {
	.fundraising-page .section07 ul{flex-direction: column;}
	.fundraising-page .section07 ul li:first-child{margin-right: -45px;}
}

.fundraising-page .btn-wrap {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
/* 	margin-top: 60px; */
	min-height: 64px;
    width: min(1600px, 100%);
    margin: 0 auto;
	
}

.fundraising-page .btn-wrap > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	width: min(240px, 100%);
	height: 64px;
	font-size: var(--font-l);
	font-weight: 500;
	color: #fff;
	border-radius: 15px;
	background: var(--primary-color);
}

.fundraising-page .btn-wrap__icon-group {
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	gap: 10px;
}

@media (max-width: 520px) {
	.fundraising-page .btn-wrap {
		flex-wrap: wrap;
		padding-bottom: 8px;
	}

	.fundraising-page .btn-wrap__icon-group {
		position: static;
		transform: none;
		width: 100%;
		justify-content: flex-end;
		margin-top: 14px;
	}
}

.fundraising-page .btn-wrap__icon-btn {
	width: 40px;
	height: 40px;
	border-radius: 50%;
	border: 1px solid #ddd;
	background: #fff;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	text-decoration: none;
	transition: background 0.2s, border-color 0.2s;
}

.fundraising-page .btn-wrap__icon-btn:hover {
	background: #f8f9fb;
	border-color: #cfd3dc;
}

.fundraising-page .btn-wrap__icon-btn img {
	width: 18px;
	height: 18px;
	object-fit: contain;
	display: block;
}

/* 공과대학 ANNEX 건립 특별기금 캠페인*/
.annex-wrap {
  max-width: 900px;
  margin: 0 auto;
  background: #fff;
  padding: 40px 20px;
  font-family: SB-Aggro;
  word-break: keep-all;
}

.annex-wrap img {
  max-width: 100%;
  height: auto;
}

.annex-title {
  padding: 14px;
  background: #f3efe6;
  color: #233d7a;
  text-align: center;
  font-size: 18px;
}

.annex-3d {
  background: #f8f8f8;
  padding: 25px;
  border-radius: 10px;
  margin-top: 20px;
  position: relative;
}

.annex-3d img {
  display: block;
  margin: 0 auto;
  max-width: 800px;
  width: 100%;
}

.annex-txt {
  position: absolute;
  right: 7%;
  text-align: right;
  color: #233d7a;
}

.annex-txt h4 {
  margin-bottom: 5px;
}

.t1 { top: 18%; }
.t2 { top: 67%; }
.t3 { top: 36%; }

.annex-video {
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  aspect-ratio: 16 / 9;
  border-radius: 10px;
  overflow: hidden;
}

.annex-video video {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

@media (max-width: 768px) {
  .annex-wrap {
    padding: 20px 10px;
  }
  .annex-3d {
    padding: 10px;
    position: relative;
  }
  .annex-3d img {
    width: 100%;
  }
  .annex-txt {
    position: absolute !important;
    right: 3%;
    text-align: right;
    color: #233d7a;
  }
  .annex-txt h4 {
    font-size: 14px;
    margin-bottom: 2px;
  }
  .annex-txt p {
    font-size: 11px;
    line-height: 1.3;
  }
  .t1 { top: 18% !important; }
  .t2 { top: 35% !important; }
  .t3 { top: 67% !important; }
}

/* 토닥토닥 밥상 캠페인 */
.img-wrap {
	max-width: 1024px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 10px;
}

.img-wrap img {
    width: 100%;
    height: auto;
    display: block;
}

@media (max-width: 768px) {
    .img-wrap {
        grid-template-columns: 1fr;
    }
}

/*K-Stipend 동행캠페인
 * 변수는 .k-stipend-wrap 범위에 한정하여 선언 (전역 :root 오염 방지)
 * 변수명 충돌을 피하기 위해 --ks- 접두사 사용 (기존 --shadow, --radius 등과 구분)
 */
.k-stipend-wrap {
  --ks-bg: #07101d;
  --ks-bg-soft: #0d1830;
  --ks-panel: rgba(255,255,255,0.08);
  --ks-panel-strong: rgba(255,255,255,0.12);
  --ks-line: rgba(255,255,255,0.14);
  --ks-text: #eff4ff;
  --ks-muted: #bfd0ef;
  --ks-gold: #ffd98a;
  --ks-gold-strong: #ffbf47;
  --ks-blue: #86bcff;
  --ks-shadow: 0 24px 80px rgba(0,0,0,0.35);
  --ks-radius-xl: 34px;
  --ks-radius-lg: 24px;
  --ks-radius-md: 18px;

  font-family: "Pretendard", "Noto Sans KR", system-ui, sans-serif;
  color: var(--ks-text);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0;
}
.k-stipend-wrap, .k-stipend-wrap * { box-sizing: border-box; }

.k-stipend-wrap .poster {
  width: 100%; max-width: 1100px;
  background:
    radial-gradient(circle at 15% 18%, rgba(134,188,255,0.20), transparent 22%),
    radial-gradient(circle at 88% 12%, rgba(255,217,138,0.18), transparent 22%),
    linear-gradient(160deg, #050d18 0%, #0a1426 50%, #07101d 100%);
  border: 1px solid var(--ks-line);
  border-radius: var(--ks-radius-xl);
  box-shadow: var(--ks-shadow);
  overflow: hidden;
  position: relative;
  isolation: isolate;
}

.k-stipend-wrap .poster::before,
.k-stipend-wrap .poster::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  filter: blur(10px);
  z-index: -1;
}

.k-stipend-wrap .poster::before {
  width: 340px;
  height: 340px;
  top: -110px;
  right: -110px;
  background: radial-gradient(circle, rgba(255,217,138,0.22), rgba(255,217,138,0.03) 60%, transparent 72%);
}

.k-stipend-wrap .poster::after {
  width: 280px;
  height: 280px;
  left: -90px;
  bottom: -90px;
  background: radial-gradient(circle, rgba(134,188,255,0.22), rgba(134,188,255,0.03) 60%, transparent 72%);
}

.k-stipend-wrap .inner {
  padding: 40px;
}


.k-stipend-wrap .hero {
  position: relative;
  padding: 8px 0 10px;
  isolation: isolate;
  overflow: hidden;
}

.k-stipend-wrap .hero::before {
  content: "";
  position: absolute;
  top: -34px;
  right: 90px;
  width: 320px;
  height: 320px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255,217,138,0.12), rgba(255,217,138,0.03) 58%, transparent 74%);
  filter: blur(10px);
  z-index: -2;
}

.k-stipend-wrap .hero::after {
  content: "";
  position: absolute;
  top: 10px;
  right: -8px;
  width: min(44vw, 370px);
  aspect-ratio: 1;
  background:
    radial-gradient(circle at center, rgba(255,255,255,0.08), rgba(255,255,255,0) 68%),
    url("/upload/cross/images/000001/nobel_medal.png") center/contain no-repeat;
  opacity: 0.24;
  filter: blur(5px) saturate(0.9);
  transform: rotate(11deg);
  z-index: -1;
  pointer-events: none;
}
.k-stipend-wrap .badge {
  display: inline-block;
  padding: 10px 16px;
  border-radius: 999px;
  border: 1px solid rgba(255,255,255,0.14);
  background: rgba(255,255,255,0.06);
  color: var(--ks-gold);
  font-size: 14px;
  font-weight: 800;
  letter-spacing: 0.02em;
  margin-bottom: 22px;
}

.k-stipend-wrap .headline {
  margin: 0;
  font-size: clamp(42px, 7vw, 78px);
  line-height: 1.08;
  letter-spacing: -0.05em;
  font-weight: 900;
  word-break: keep-all;
}

.k-stipend-wrap .accent {
  background: linear-gradient(90deg, #fff3c8 0%, #ffd98a 38%, #86bcff 100%);
  -webkit-background-clip: text;
  background-clip: text;
  color: transparent;
}

.k-stipend-wrap .subcopy {
  margin: 22px 0 0;
  color: var(--ks-muted);
  font-size: clamp(17px, 2vw, 21px);
  line-height: 1.9;
  word-break: keep-all;
}

.k-stipend-wrap .quote {
  margin-top: 28px;
  padding: 22px 24px;
  border-radius: var(--ks-radius-lg);
  background: linear-gradient(135deg, rgba(255,217,138,0.12), rgba(134,188,255,0.08));
  border: 1px solid rgba(255,255,255,0.10);
  font-size: clamp(20px, 2.2vw, 28px);
  line-height: 1.6;
  font-weight: 800;
  letter-spacing: -0.03em;
  word-break: keep-all;
}

.k-stipend-wrap .stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 30px;
}

.k-stipend-wrap .stat {
  padding: 22px;
  border-radius: var(--ks-radius-lg);
  background: rgba(7,16,29,0.46);
  border: 1px solid rgba(255,255,255,0.08);
}

.k-stipend-wrap .stat strong {
  display: block;
  font-size: 28px;
  line-height: 1.25;
  margin-bottom: 8px;
  color: #fff;
  word-break: keep-all;
}

.k-stipend-wrap .stat span {
  color: var(--ks-muted);
  font-size: 15px;
  line-height: 1.6;
  word-break: keep-all;
}

.k-stipend-wrap .info-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
  margin-top: 14px;
}

.k-stipend-wrap .info {
  padding: 22px;
  border-radius: var(--ks-radius-lg);
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.08);
}

.k-stipend-wrap .info h2 {
  margin: 0 0 12px;
  font-size: 21px;
  line-height: 1.35;
  letter-spacing: -0.03em;
  word-break: keep-all;
}

.k-stipend-wrap .info p,
.k-stipend-wrap .info li {
  color: var(--ks-muted);
  font-size: 15px;
  line-height: 1.8;
  word-break: keep-all;
}

.k-stipend-wrap .info ul {
  margin: 0;
  padding-left: 18px;
}

.k-stipend-wrap .cta {
  margin-top: 18px;
  padding: 26px;
  border-radius: 0 0 var(--ks-radius-xl) var(--ks-radius-xl);
  background:
    radial-gradient(circle at top right, rgba(255,217,138,0.14), transparent 32%),
    linear-gradient(180deg, rgba(255,255,255,0.08), rgba(255,255,255,0.05));
  border-top: 1px solid rgba(255,255,255,0.10);
  text-align: center;
}

.k-stipend-wrap .cta h3 {
  margin: 0 0 10px;
  font-size: clamp(26px, 3vw, 40px);
  line-height: 1.3;
  letter-spacing: -0.04em;
  word-break: keep-all;
}

.k-stipend-wrap .cta p {
  margin: 0 0 18px;
  color: var(--ks-muted);
  font-size: 16px;
  line-height: 1.8;
  word-break: keep-all;
}

.k-stipend-wrap .button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0 26px;
  border-radius: 18px;
  background: linear-gradient(135deg, var(--ks-gold) 0%, var(--ks-gold-strong) 100%);
  color: #1d1400;
  font-weight: 900;
  font-size: 16px;
  text-decoration: none;
  box-shadow: 0 14px 30px rgba(255,191,71,0.22);
}

.k-stipend-wrap .footer-note {
  margin-top: 14px;
  color: rgba(239,244,255,0.66);
  font-size: 13px;
  line-height: 1.6;
}

@media (max-width: 720px) {
   .k-stipend-wrap .inner { padding: 26px; }
   .k-stipend-wrap .hero::before {
       top: -10px;
       right: 28px;
       width: 220px;
       height: 220px;
   }
   .k-stipend-wrap .hero::after {
       top: -16px;
       right: -12px;
       width: 220px;
       opacity: 0.18;
       transform: rotate(8deg);
   }
   .k-stipend-wrap .stats, .k-stipend-wrap .info-grid { grid-template-columns: 1fr; }
   .k-stipend-wrap .cta { padding: 22px 18px; }
   .k-stipend-wrap .button { width: 100%; }
   .k-stipend-wrap .badge {
   	text-align: left;
   	white-space: normal;
   }
}
