@charset "UTF-8";

body {background: url('../images/main/main-img02.png')no-repeat center center/ cover; background-attachment: fixed;}

#container .wrap {max-width: 1600px;}

/* ----- 헤더 ----- */
header {background: transparent;}
header .header-top {border-bottom: 1px solid rgb(255 255 255 / 30%);}
.view-more {position: relative; display: inline-flex; align-items: stretch; height: 52px; flex-shrink: 0; font-weight: 500; font-size: 20px; line-height: 1; white-space: nowrap; background: transparent;}
.view-more .vm-line {display: none;}
.view-more span {position: relative; z-index: 2; display: flex; align-items: center; margin-right: -14px; padding: 0 0 6px; background: #fff; color: #202020; transition: color 0.4s ease;border-radius: 50px;}
.view-more i {position: relative; z-index: 1; display: block; width: 52px; height: 52px; flex-shrink: 0; box-sizing: border-box; border: 1px solid var(--color-primary); border-radius: 50%;}
.view-more i::before {content: ''; position: absolute; top: 50%; left: 50%; width: 20px; height: 20px; margin: -10px 0 0 -10px; background: var(--color-primary); -webkit-mask: url('../images/main/arrow-right-double-line.svg') no-repeat center / contain; mask: url('../images/main/arrow-right-double-line.svg') no-repeat center / contain;}
.view-more i::after {content: ''; position: absolute; inset: -1px; padding: 1px; opacity: 0; border-radius: 50%; background: conic-gradient(from 0deg, #35d0ff, #0064ff 40%, #2b3fb5 70%, #35d0ff); -webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite: xor; mask: linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); transition: opacity 0.5s ease, transform 0.9s cubic-bezier(.2, .7, .2, 1);}
.view-more:hover span {color: var(--color-primary);}
.view-more:hover i::after {opacity: 1; transform: rotate(180deg);}

@media (max-width: 1400px) {
  .view-more {height: 48px; font-size: 18px;}
  .view-more i {width: 48px; height: 48px;}
}
@media (max-width: 768px) {
  .view-more {height: 42px; font-size: 16px;}
  .view-more span {margin-right: -12px;}
  .view-more i {width: 42px; height: 42px;}
  .view-more i::before {width: 16px; height: 16px; margin: -8px 0 0 -8px;}
}
html {overflow-y: scroll; scrollbar-width: none; -ms-overflow-style: none;}
html::-webkit-scrollbar {display: none;}

/* 메인 비주얼 */
.main-visual {width: 100%; height: calc(100vh - 80px); position: relative;}

.main-visual .main-swiper,
.main-visual .swiper-wrapper,
.main-visual .swiper-slide {width: 100%; height: 100%;}
.main-visual .visual-mask-def {position: absolute; width: 0; height: 0; overflow: hidden;}
.main-visual .main-swiper {position: relative; overflow: hidden; -webkit-mask-image: url(#visualMask); mask-image: url(#visualMask);}
.main-visual .main-swiper::after {content: ''; position: absolute; top: 0; left: 0; right: 0; height: 300px; background: linear-gradient(to bottom, rgba(8,14,48,0.62) 0%, rgba(8,14,48,0.34) 45%, rgba(8,14,48,0) 100%); z-index: 5; pointer-events: none;}
.main-visual .visual-img {width: 100%; height: 100%; object-fit: cover; display: block;}
.main-visual .visual-video {width: 100%; height: 100%; object-fit: cover; display: block;}

.main-visual .visual-text {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 100%; padding: 0 20px; box-sizing: border-box; z-index: 20; text-align: center; pointer-events: none;}
.main-visual .visual-text .txt01 {font-weight: 800; font-size: 60px; color: #141a5c; line-height: 1.2; text-shadow: 0 2px 1px rgba(255, 255, 255, 0.5);}
.main-visual .visual-text .txt02 {display: block; margin-top: 18px; font-weight: 500; font-size: 40px; line-height: 1.35; color: #ffffff; text-shadow: 0 2px 8px rgba(8, 14, 48, 0.55); opacity: 0; transform: translateY(16px); animation: heroReveal 0.4s ease-out 0.8s forwards;}

@keyframes heroReveal {
  to {opacity: 1; transform: none; filter: none;}
}

.main-visual .visual-text .txt02 .sensor-o {position: relative; display: inline-block; width: 0.6em; height: 0.6em; margin: 0 0.06em; vertical-align: -0.1em;}
.main-visual .visual-text .txt02 .sensor-o::before {content: ""; position: absolute; left: 50%; top: 50%; width: 0.24em; height: 0.24em; border-radius: 50%; background: #00d4ff; box-shadow: 0 0 8px 2px rgba(0, 212, 255, 0.85); transform: translate(-50%, -50%);}
.main-visual .visual-text .txt02 .sensor-o i {position: absolute; left: 50%; top: 50%; width: 100%; height: 100%; border-radius: 50%; border: 3px solid #00d4ff; transform: translate(-50%, -50%) scale(0.1); opacity: 0; animation: sensorWave 1.8s ease-out infinite;}
.main-visual .visual-text .txt02 .sensor-o i:nth-child(2) {animation-delay: 0.6s;}
.main-visual .visual-text .txt02 .sensor-o i:nth-child(3) {animation-delay: 1.2s;}

@keyframes sensorWave {
  0% {transform: translate(-50%, -50%) scale(0.1); opacity: 0;}
  15% {opacity: 0.7;}
  100% {transform: translate(-50%, -50%) scale(2.6); opacity: 0;}
}

.main-visual .circle {position: absolute; right: 8.67%; bottom: calc(9.24% - (clamp(120px,8vw,150px) / 2)); width: clamp(120px,8vw,150px); aspect-ratio: 1/1; z-index: 10;}

.main-visual .circle .circle-text {position: absolute; left: 0; top: 0; width: 100%; height: 100%;}

.main-visual .circle .circle-1 {-webkit-clip-path: inset(0 0 50% 0); clip-path: inset(0 0 50% 0);}
.main-visual .circle .circle-1::after {content: ""; position: absolute; left: 0; top: 0; display: block; width: 100%; height: 100%; background: url("../images/main/scrolldown_w.svg") no-repeat center top/100% 100%; animation: circleRotate 16s infinite linear both;}

.main-visual .circle .circle-2 {-webkit-clip-path: inset(50% 0 0 0); clip-path: inset(50% 0 0 0);}
.main-visual .circle .circle-2::after {content: ""; position: absolute; left: 0; top: 0; display: block; width: 100%; height: 100%; background: url("../images/main/scrolldown_b.svg") no-repeat center top/100% 100%; animation: circleRotate 16s infinite linear both;}

.main-visual .circle .arrow {position: absolute; left: 50%; top: 50%; display: inline-block; width: 12px; height: 57px; margin-top: -5px; z-index: 5;}

.main-visual .circle .arrow-1 {-webkit-clip-path: inset(0 0 50% 0); clip-path: inset(0 0 50% 0); animation: circleArrow 1.5s infinite linear both; transform: translate(-50%, -50%);}
.main-visual .circle .arrow-1::after {content: ""; position: absolute; left: 0; top: 0; display: block; width: 100%; height: 100%; background: url("../images/main/arrow_down_w.svg") no-repeat center center/contain;}

.main-visual .circle .arrow-2 {-webkit-clip-path: inset(50% 0 0 0); clip-path: inset(50% 0 0 0); animation: circleArrow2 1.5s infinite linear both; transform: translate(-50%, -50%);}
.main-visual .circle .arrow-2::after {content: ""; position: absolute; left: 0; top: 0; display: block; width: 100%; height: 100%; background: url("../images/main/arrow_down_b.svg") no-repeat center center/contain;}

@keyframes circleRotate {
    0%{ transform: rotate(0); }
    100%{ transform: rotate(360deg); }
}
@keyframes circleArrow {
    0%{ margin-top: -5px; -webkit-clip-path: inset(0 0 calc(50% - 5px) 0); clip-path: inset(0 0 calc(50% - 5px) 0);}
    33%{ margin-top: 5px; -webkit-clip-path: inset(0 0 50% 0); clip-path: inset(0 0 50% 0); }
    46.6%{ margin-top: 5px; -webkit-clip-path: inset(0 0 50% 0); clip-path: inset(0 0 50% 0); }
    73%{ margin-top: -5px; -webkit-clip-path: inset(0 0 calc(50% - 5px) 0); clip-path: inset(0 0 calc(50% - 5px) 0); }
    86%{ margin-top: -5px; -webkit-clip-path: inset(0 0 calc(50% - 5px) 0); clip-path: inset(0 0 calc(50% - 5px) 0);}
    100%{ margin-top: -5px; -webkit-clip-path: inset(0 0 calc(50% - 5px) 0); clip-path: inset(0 0 calc(50% - 5px) 0);}
}
@keyframes circleArrow2 {
    0%{ margin-top: -5px; -webkit-clip-path: inset(calc(50% + 5px) 0 0 0); clip-path: inset(calc(50% + 5px) 0 0 0); }
    33%{ margin-top: 5px; -webkit-clip-path: inset(calc(50% - 5px) 0 0 0); clip-path: inset(calc(50% - 5px) 0 0 0); }
    46.6%{ margin-top: 5px; -webkit-clip-path: inset(calc(50% - 5px) 0 0 0); clip-path: inset(calc(50% - 5px) 0 0 0); }
    73%{ margin-top: -5px; -webkit-clip-path: inset(calc(50% + 5px) 0 0 0); clip-path: inset(calc(50% + 5px) 0 0 0); }
    86%{ margin-top: -5px; -webkit-clip-path: inset(calc(50% + 5px) 0 0 0); clip-path: inset(calc(50% + 5px) 0 0 0); }
    100%{ margin-top: -5px; -webkit-clip-path: inset(calc(50% + 5px) 0 0 0); clip-path: inset(calc(50% + 5px) 0 0 0); }
}

@media (prefers-reduced-motion: reduce) {
  .main-visual .circle .circle-1::after,
  .main-visual .circle .circle-2::after,
  .main-visual .circle .arrow-1,
  .main-visual .circle .arrow-2 {animation: none;}
  .main-visual .visual-text .txt02 {opacity: 1; filter: none; animation: none; transform: none;}
  .main-visual .visual-text .txt02 .sensor-o i {animation: none; opacity: 1; transform: translate(-50%, -50%) scale(1);}
  .main-visual .visual-text .txt02 .sensor-o i:nth-child(2),
  .main-visual .visual-text .txt02 .sensor-o i:nth-child(3) {display: none;}
}

@media (max-width: 1400px) {
  .main-visual .visual-text .txt01 {font-size: 52px;}
  .main-visual .visual-text .txt02 {font-size: 30px;}
}
@media (max-width: 1024px) {
  .main-visual {height: auto; aspect-ratio: 4 / 3;}
  .main-visual .main-swiper::after {height: 22%;}
  .main-visual .visual-text .txt01 {font-size: 40px;}
  .main-visual .visual-text .txt02 {font-size: 24px;}
}
@media (max-width: 768px) {
  .main-visual {height: auto; aspect-ratio: 4 / 3;}
  .main-visual .main-swiper::after {height: 36%;}
  .main-visual .visual-text .txt01 {font-size: 26px;}
  .main-visual .visual-text .txt02 {font-size: 16px; margin-top: 12px;}

  .main-visual .circle {display: none;}
}

/* ----- 섹션 공통 ----- */
#container section {background-color: #fff; position: relative; z-index: 100; padding: 100px 0;}

@media (max-width: 1500px) {
  #container section {padding: 70px 0;}
}

@media (max-width: 768px) {
  #container section {padding: 50px 0;}
}

.title-wrap .tit {font-size: 55px;}

@media (max-width: 1400px) {
  .title-wrap .tit {font-size: 34px;}
}

@media (max-width: 768px) {
  .title-wrap .tit {font-size: 28px;}
}

/* ----- 섹션03 (기술동향) ----- */
#section03 {background: #FFFFFF; overflow: visible;}
#section03 > .wrap {position: relative; z-index: 1;}
#container #section02 {z-index: auto;}
#section02 > .wrap {position: relative; z-index: 101;}
#section03 .tech-radar {--rc: 148, 190, 240; --r: 224px; position: absolute; top: -4%; left: -210px; right: auto; width: 460px; height: 460px; border-radius: 50%; transform: translateY(-50%); opacity: 0.4; pointer-events: none; z-index: -1;}
#section03 .tech-radar::before {content: ''; position: absolute; left: 50%; top: 50%; width: 230%; height: 230%; transform: translate(-50%, -50%); background: radial-gradient(circle, rgba(0, 100, 255, 0.10) 0%, rgba(0, 100, 255, 0.05) 32%, rgba(0, 100, 255, 0.018) 55%, transparent 76%); z-index: -2;}
#section03 .tech-radar .radar-scanner {position: absolute; top: 0; left: 0; width: 50%; height: 50%; transform-origin: bottom right; border-radius: 100% 0 0 0; background: linear-gradient(45deg, transparent 50%, rgba(var(--rc), 0.5)); border-right: 1px solid rgba(var(--rc), 0.8); z-index: 10; animation: techRadarScan 4s linear infinite;}
#section03 .tech-radar .radar-scanner::before {content: ''; position: absolute; right: 0; bottom: 0; width: 4px; height: 4px; border-radius: 50%; background: rgba(var(--rc), 0.9); transform: translate(50%, 50%);}

#section03 .tech-radar .radar-points {position: absolute; inset: 0;}
#section03 .tech-radar .radar-points li {position: absolute; bottom: 50%; left: 50%; width: 1px; height: 6px; background: rgba(var(--rc), 0.7); transform-origin: 50% 100%; transform: translate(-50%, 0) rotate(calc(var(--i) * 4deg)) translateY(calc(var(--r) * -1));}
#section03 .tech-radar .radar-points li[data-deg]::before {content: attr(data-deg); position: absolute; top: -15px; left: 50%; transform: translateX(-50%); font-size: 10px; line-height: 1; letter-spacing: 0.02em; color: rgba(var(--rc), 0.9); white-space: nowrap;}

#section03 .tech-radar .radar-circles {position: absolute; inset: 0; border-radius: 50%; border: 1px solid rgba(var(--rc), 0.55);}
#section03 .tech-radar .radar-circles div {position: absolute; border-radius: 50%; border: 1px solid rgba(var(--rc), 0.38);}
#section03 .tech-radar .radar-circles div:nth-child(1) {inset: 10%;}
#section03 .tech-radar .radar-circles div:nth-child(2) {inset: 20%;}
#section03 .tech-radar .radar-circles div:nth-child(3) {inset: 30%;}
#section03 .tech-radar .radar-circles div:nth-child(4) {inset: 40%;}

#section03 .tech-radar .radar-lines {position: absolute; inset: 0;}
#section03 .tech-radar .radar-lines div {position: absolute; top: 50%; left: 50%; width: 1px; height: 100%; transform: translate(-50%, -50%); background: rgba(var(--rc), 0.5);}
#section03 .tech-radar .radar-lines div:last-child {transform: translate(-50%, -50%) rotate(90deg);}
#section03 .tech-radar .radar-lines div::after {content: ''; position: absolute; top: 0; left: 50%; width: 10px; height: 100%; transform: translateX(-50%); background: repeating-linear-gradient(rgba(var(--rc), 0.7) 0 1.5px, transparent 1.5px 6%);}

@keyframes techRadarScan {
  to {transform: rotate(360deg);}
}

@media (prefers-reduced-motion: reduce) {
  #section03 .tech-radar .radar-scanner {animation: none;}
}

#section03 .title-wrap,
#section03 .tech-body {opacity: 0; transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
#section03 .title-wrap {transform: translateY(20px);}
#section03 .tech-body {transform: translateY(28px); transition-delay: 0.15s;}
#section03.is-active .title-wrap,
#section03.is-active .tech-body {opacity: 1; transform: none;}

@media (prefers-reduced-motion: reduce) {
  #section03 .title-wrap,
  #section03 .tech-body {opacity: 1; transform: none; transition: none;}
}

#section03 .title-wrap {display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 34px;}
#section03 .title-wrap .tit {font-weight: 700; font-size: 36px; line-height: 1.2; color: #141414; word-break: keep-all;}
#section03 .title-wrap .tit span {color: #0064FF; font-weight: inherit;}

#section03 .tech-data {display: none;}
#section03 .tech-body {display: flex; align-items: stretch; gap: 60px;}

#section03 .tech-feature {position: relative; display: block; flex: 1 1 0; min-width: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 18px 40px rgba(15, 30, 65, 0.22);}
#section03 .tech-feature .thumb {position: absolute; inset: 0;}
#section03 .tech-feature .thumb img {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease-in-out;}
#section03 .tech-feature:hover .thumb img {transform: scale(1.05);}
#section03 .tech-feature::after {content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 44%; background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.35) 55%, rgba(0,0,0,0) 100%);}
#section03 .tech-feature .feature-txt {position: absolute; left: 30px; right: 30px; bottom: 28px; z-index: 2; color: #fff;}
#section03 .tech-feature .feature-txt .tit {display: block; max-width: 100%; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; font-size: 20px; font-weight: 600; line-height: 1.35; color: #fff; word-break: keep-all;}
#section03 .tech-feature .feature-txt .desc {display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 12px; font-size: 18px; font-weight: 400; line-height: 1.5; color: rgba(255,255,255,0.82); white-space: normal; word-break: keep-all;}

#section03 .tech-list {flex: 1.25 1 0; min-width: 0; display: flex; flex-direction: column; justify-content: center; border-top: 1px solid #E5E5E5;}
#section03 .tech-list li {border-bottom: 1px solid #E5E5E5;}
#section03 .tech-list li > a {position: relative; display: flex; align-items: center; gap: 24px; width: 100%; padding: 40px 30px;}
#section03 .tech-list li .txt {flex: 1; min-width: 0;}
#section03 .tech-list li .tit {display: block; max-width: 100%; font-weight: 600; font-size: 22px; line-height: 1.3; color: #1a1a1a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.2s ease-in-out;}
#section03 .tech-list li .desc {display: block; max-width: 100%; margin-top: 12px; font-weight: 400; font-size: 20px; line-height: 1.45; color: #666; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
#section03 .tech-list li > a:hover .tit {color: #0064FF;}

#section03 .tech-list li .tech-go {position: relative; flex-shrink: 0; width: 60px; height: 60px; border-radius: 50%; border: 1px solid #BDBDBD; transition: 0.25s ease-in-out;}
#section03 .tech-list li .tech-go::before {content: ''; position: absolute; inset: 0; background-color: #A0A0A0; -webkit-mask: url('../images/main/arrow-r-g.svg') no-repeat center / 18px; mask: url('../images/main/arrow-r-g.svg') no-repeat center / 18px; transition: background-color 0.25s ease-in-out;}
#section03 .tech-list li > a:hover .tech-go {border-color: #0064FF; background-color: #0064FF;}
#section03 .tech-list li > a:hover .tech-go::before {background-color: #fff;}

#section03 .tech-list li .item-image_wrapper {display: block; position: absolute; right: 110px; top: 50%; width: 300px; height: 200px; transform: translateY(-50%) scale(0.92); pointer-events: none; opacity: 0; z-index: 10; transition: opacity 0.35s ease, transform 0.35s ease;}
#section03 .tech-list li .item-image_inner {display: block; position: relative; width: 100%; height: 100%; overflow: hidden; border-radius: 16px; box-shadow: 10px 14px 28px -10px rgba(15, 30, 65, 0.4);}
#section03 .tech-list li .item-image_inner .item-image {display: block; position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
#section03 .tech-list li > a:hover .item-image_wrapper {opacity: 1; transform: translateY(-50%) scale(1);}

@media (max-width: 1400px) {
  #section03 .title-wrap {margin-bottom: 28px;}
  #section03 .title-wrap .tit {font-size: 30px;}
  #section03 .tech-body {gap: 40px;}
  #section03 .tech-list li > a {padding: 40px 15px;}
  #section03 .tech-list li .tit {font-size: 20px;}
  #section03 .tech-list li .desc {font-size: 16px;}
  #section03 .tech-list li .item-image_wrapper {width: 280px; height: 210px; right: 90px;}
}
@media (max-width: 1200px) {
  #section03 .tech-list li .item-image_wrapper {right: 8%; width: 240px; height: 180px;}
}
@media (max-width: 1024px) {
  #section03 .tech-body {flex-direction: column; gap: 30px;}
  #section03 .tech-feature {flex: none; width: 100%; aspect-ratio: 16 / 10;}
  #section03 .tech-radar {width: 340px; height: 340px; left: -155px; right: auto; --r: 165px;}

  #section03 .tech-list li > a {gap: 20px;}
  #section03 .tech-list li .item-image_wrapper {position: static; order: -1; flex-shrink: 0; width: 120px; height: 90px; opacity: 1; transform: none; pointer-events: auto;}
  #section03 .tech-list li .item-image_inner {border-radius: 12px;}
}
@media (max-width: 768px) {
  #section03 .tech-radar {width: 240px; height: 240px; left: -120px; right: auto; opacity: 0.6; --r: 116px;}
  #section03 .tech-radar .radar-points li[data-deg]::before {font-size: 9px;}
  #section03 .title-wrap {flex-wrap: wrap; gap: 14px; margin-bottom: 20px;}
  #section03 .title-wrap .tit {font-size: 24px;}
  #section03 .tech-list li > a {gap: 14px; padding: 20px 0;}
  #section03 .tech-list li .tit {font-size: 18px;}
  #section03 .tech-list li .desc {font-size: 15px; white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical;}
  #section03 .tech-list li .tech-go {width: 46px; height: 46px;}
  #section03 .tech-list li .tech-go::before {-webkit-mask-size: 15px; mask-size: 15px;}
  #section03 .tech-list li .item-image_wrapper {width: 135px; height: 105px;}
}

/* ----- 섹션04 (이 달의 학회 일정) ----- */
#section04 {background: #FFFFFF;}

#section04 .title-wrap,
#section04 .schedule-body {opacity: 0; transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
#section04 .title-wrap {transform: translateY(20px);}
#section04 .schedule-body {transform: translateY(28px); transition-delay: 0.15s;}
#section04.is-active .title-wrap,
#section04.is-active .schedule-body {opacity: 1; transform: none;}

@media (prefers-reduced-motion: reduce) {
  #section04 .title-wrap,
  #section04 .schedule-body {opacity: 1; transform: none; transition: none;}
}

#section04 .title-wrap {display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 34px;}
#section04 .title-wrap .tit {font-weight: 700; font-size: 36px; line-height: 1.2; color: #141414; word-break: keep-all;}
#section04 .title-wrap .tit span {color: #0064FF; font-weight: inherit;}

#section04 .schedule-body {display: flex; align-items: stretch; gap: 40px;}

#section04 .schedule-feature {position: relative; flex: 0 0 650px; width: 650px; height: 400px; display: flex; flex-direction: column; padding: 44px; border-radius: 20px; overflow: hidden; color: #fff; background: linear-gradient(135deg, rgba(12, 26, 67, 0.92) 0%, rgba(0, 100, 255, 0.92) 100%); box-shadow: 0 16px 40px rgba(0, 100, 255, 0.15);}
#section04 .schedule-feature::after {content: ''; position: absolute; right: -10px; bottom: -20px; width: 400px; height: 400px; background: url('../images/main/calendar-bg.png') no-repeat right bottom / contain; opacity: 0.95; pointer-events: none;}
#section04 .schedule-feature .label {position: relative; z-index: 1; font-size: 23px; font-weight: 600; letter-spacing: 0.01em; color: #fff;}
#section04 .schedule-feature .tit {position: relative; z-index: 1; display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 14px; font-size: 30px; font-weight: 700; line-height: 1.32; color: #fff; word-break: keep-all;}
#section04 .schedule-feature .info {position: relative; z-index: 1; display: flex; flex-direction: column; gap: 6px; margin-top: 20px; font-size: 19px; line-height: 1.55; color: #fff;}
#section04 .schedule-feature .info .date,
#section04 .schedule-feature .info .place {color: #fff;}
#section04 .schedule-feature .go {position: relative; z-index: 1; align-self: flex-start; display: inline-flex; align-items: center; gap: 8px; margin-top: auto; padding: 13px 25px; border-radius: 10px; background: #0064FF; font-size: 20px; font-weight: 600; color: #fff; box-shadow: 0 6px 16px rgba(0, 40, 100, 0.22); transition: box-shadow 0.25s ease, transform 0.25s ease;}
#section04 .schedule-feature .go i {width: 20px; height: 20px; background: url('../images/main/arrow-r-w.svg') no-repeat center / contain; transition: transform 0.25s ease;}
#section04 .schedule-feature:hover .go {box-shadow: 0 10px 22px rgba(0, 40, 100, 0.28);}
#section04 .schedule-feature:hover .go i {transform: translateX(4px);}
#section04 .schedule-feature .dday {position: absolute; right: 44px; bottom: 44px; z-index: 1; font-size: 40px; font-weight: 800; letter-spacing: 0.01em; color: #fff;}

#section04 .schedule-list-wrap {position: relative; flex: 1 1 0; min-width: 0;}
#section04 .schedule-list {max-height: 400px; overflow-y: auto; padding-right: 22px; border-top: 2px solid rgba(88, 88, 88, 0.62); border-bottom: 2px solid rgba(88, 88, 88, 0.3); scrollbar-width: none; -ms-overflow-style: none;}
#section04 .schedule-list::-webkit-scrollbar {display: none;}
#section04 .schedule-scrollbar {position: absolute; top: 14px; bottom: 14px; right: 0; width: 7px; border-radius: 100px; background: #f0f0f0; pointer-events: none;}
#section04 .schedule-scrollbar .thumb {position: absolute; left: 0; top: 0; width: 100%; border-radius: 100px; background: #9c9c9c; transition: background-color 0.2s ease;}
#section04 .schedule-list li {border-bottom: 1px solid #E5E5E5;}
#section04 .schedule-list li:last-child {border-bottom: none;}
#section04 .schedule-list li > a {display: flex; align-items: center; gap: 20px; padding: 18px 10px;}
#section04 .schedule-list .day {flex-shrink: 0; width: 96px; padding: 15px 6px; text-align: center; border: 1px solid #B5B5B5; border-radius: 10px;}
#section04 .schedule-list .day b {display: block; font-size: 32px; font-weight: 700; line-height: 1; color: #0064FF;}
#section04 .schedule-list .day em {display: block; margin-top: 8px; font-size: 16px; font-style: normal; color: #4C4C4C;}
#section04 .schedule-list .txt {flex: 1; min-width: 0;}
#section04 .schedule-list .txt .tit {display: block; font-size: 22px; font-weight: 600; line-height: 1.35; color: #2B2B2B; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.2s ease;}
#section04 .schedule-list li > a:hover .txt .tit {color: #0064FF;}
#section04 .schedule-list .meta {display: flex; flex-flow: row wrap; align-items: center; gap: 6px 24px; margin-top: 12px; font-size: 18px; line-height: 1.4; color: #8A8F98;}
#section04 .schedule-list .meta .m-item {display: flex; align-items: center; gap: 8px; min-width: 0;}
#section04 .schedule-list .meta .m-date {flex: 0 0 auto;}
#section04 .schedule-list .meta .m-place {flex: 1 1 auto;}
#section04 .schedule-list .meta .m-item i {flex-shrink: 0; font-size: 16px; line-height: 1; color: #8A8F98;}
#section04 .schedule-list .meta .m-item > span {min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; color: #8A8F98;}
#section04 .schedule-list .dday {flex-shrink: 0; padding: 10px 20px; border-radius: 999px; background: #EAF2FF; font-size: 18px; font-weight: 600; color: #0064FF; white-space: nowrap;}

@media (max-width: 1400px) {
  #section04 .title-wrap {margin-bottom: 28px;}
  #section04 .title-wrap .tit {font-size: 30px;}
  #section04 .schedule-body {gap: 30px;}
  #section04 .schedule-feature {flex-basis: 520px; width: 520px; height: 380px; padding: 36px;}
  #section04 .schedule-feature .tit {font-size: 26px;}
  #section04 .schedule-feature .info {font-size: 17px;}
  #section04 .schedule-feature .go {padding: 11px 22px; font-size: 18px;}
  #section04 .schedule-feature .dday {right: 32px; bottom: 32px; font-size: 34px;}
  #section04 .schedule-list {max-height: 380px;}
  #section04 .schedule-list li > a {gap: 16px; padding: 20px 4px;}
  #section04 .schedule-list .day {width: 84px;}
  #section04 .schedule-list .day b {font-size: 28px;}
  #section04 .schedule-list .txt .tit {font-size: 19px;}
  #section04 .schedule-list .meta {font-size: 16px;}
  #section04 .schedule-list .dday {font-size: 16px; padding: 8px 16px;}
}
@media (max-width: 1024px) {
  #section04 .schedule-body {flex-direction: column; align-items: stretch; gap: 24px;}
  #section04 .schedule-feature {flex-basis: auto; width: auto; height: auto; min-height: 360px;}
  #section04 .schedule-list-wrap {flex: none; width: 100%;}
  #section04 .schedule-list {max-height: 400px;}
}
@media (max-width: 768px) {
  #section04 .title-wrap {flex-wrap: wrap; gap: 14px; margin-bottom: 20px;}
  #section04 .title-wrap .tit {font-size: 24px;}
  #section04 .schedule-feature {padding: 30px 24px; min-height: 320px;}
  #section04 .schedule-feature .label {font-size: 19px;}
  #section04 .schedule-feature .tit {font-size: 22px;}
  #section04 .schedule-feature .info {font-size: 15px;}
  #section04 .schedule-feature .dday {right: 24px; bottom: 30px; font-size: 22px;}
  #section04 .schedule-list {max-height: 560px;}
  #section04 .schedule-list li > a {flex-wrap: wrap; gap: 12px 16px; padding: 20px 16px;}
  #section04 .schedule-list .day {width: auto; display: inline-flex; align-items: baseline; gap: 8px; padding: 8px 12px 8px 0; border: none;}
  #section04 .schedule-list .day b {font-size: 22px;}
  #section04 .schedule-list .day em {order: -1; margin-top: 0;}
  #section04 .schedule-list .txt {flex-basis: 100%; order: 3;}
  #section04 .schedule-list .txt .tit {font-size: 17px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;}
  #section04 .schedule-list .meta {flex-direction: column; align-items: flex-start; gap: 6px; font-size: 15px;}
  #section04 .schedule-list .meta .m-place {flex: 0 0 auto; max-width: 100%;}
  #section04 .schedule-list .dday {margin-left: auto; font-size: 15px; padding: 7px 14px;}
}

/* ----- 섹션02 (학회 소식 / 간행본·학술지) ----- */
#section02 .news-wrap {display: flex; align-items: flex-start; gap: 70px;}

#section02 .news-col,
#section02 .pub-col {opacity: 0; transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
#section02 .news-col {flex: 1.85; min-width: 0; transform: translateX(28px);}
#section02 .pub-col {flex: 1; min-width: 0; transform: translateX(-28px) scale(1.04); transition-delay: 0.15s;}
#section02.is-active .news-col,
#section02.is-active .pub-col {opacity: 1; transform: none;}

@media (prefers-reduced-motion: reduce) {
  #section02 .news-col,
  #section02 .pub-col {opacity: 1; transform: none; transition: none;}
}

#section02 .title-wrap {display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 34px;}
#section02 .title-wrap .tit {font-weight: 700; font-size: 36px; line-height: 1.2; color: #141414; word-break: keep-all;}
#section02 .title-wrap .tit span {color: #0064FF; font-weight: inherit;}

#section02 .news-tools {display: flex; align-items: center; gap: 26px;}
#section02 .news-ctrl {display: flex; align-items: center; gap: 20px;}
#section02 .news-ctrl button {width: 10px; height: 18px; flex-shrink: 0; border: 0; padding: 0; background: transparent no-repeat center / contain; cursor: pointer; opacity: 0.75; transition: opacity 0.2s ease-in-out;}
#section02 .news-ctrl button:hover {opacity: 1;}
#section02 .news-ctrl .news-prev {background-image: url('../images/main/chevron-g.svg');}
#section02 .news-ctrl .news-next {background-image: url('../images/main/chevron-g.svg'); transform: scaleX(-1);}
#section02 .news-count {font-family: 'Outfit Medium', sans-serif; font-size: 21px; line-height: 1; color: #696969; display: inline-flex; align-items: center;}
#section02 .news-count b {font-weight: 600; color: #434343;}
#section02 .news-count i {margin: 0 6px; font-style: normal; color: #696969;}
#section02 .news-count em {font-style: normal;}

#section02 .news-data {display: none;}
#section02 .news-body {display: flex; align-items: stretch; gap: 20px;}

#section02 .news-feature {position: relative; display: block; flex: 1 1 0; min-width: 0; border-radius: 20px; overflow: hidden; box-shadow: 0 18px 40px rgba(15, 30, 65, 0.22);}
#section02 .news-feature .thumb {position: absolute; inset: 0;}
#section02 .news-feature .thumb img {width: 100%; height: 100%; object-fit: cover; display: block; transition: transform 0.5s ease-in-out;}
#section02 .news-feature:hover .thumb img {transform: scale(1.05);}
#section02 .news-feature::after {content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 30%; background: linear-gradient(to top, rgba(0,0,0,0.82) 0%, rgba(0,0,0,0.35) 55%, rgba(0,0,0,0) 100%);}
#section02 .news-feature .feature-txt {position: absolute; left: 26px; right: 26px; bottom: 24px; z-index: 2; color: #fff;}
#section02 .news-feature .feature-txt .tit {display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 24px; font-weight: 700; line-height: 1.35; color: #fff; word-break: keep-all;}
#section02 .news-feature .feature-txt .desc {display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; margin-top: 10px; font-size: 20px; font-weight: 400; line-height: 1.45; color: rgba(255,255,255,0.82); word-break: keep-all;}

#section02 .news-list {flex: 0.85 1 0; min-width: 0; display: flex; flex-direction: column; border-top: 1px dashed rgba(151, 151, 151, 0.7); border-bottom: 1px dashed rgba(151, 151, 151, 0.7);}
#section02 .news-list li {flex: 1; min-width: 0; min-height: 0; display: flex; padding: 30px 15px;}
#section02 .news-list li + li {border-top: 1px dashed rgba(151, 151, 151, 0.7);}
#section02 .news-list li a {display: flex; flex-direction: column; justify-content: center; gap: 15px; width: 100%; min-width: 0;}
#section02 .news-list li .tit {max-width: 100%; font-weight: 600; font-size: 22px; line-height: 1.3; color: #1a1a1a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.2s ease-in-out;}
#section02 .news-list li a:hover .tit {color: #0064FF;}
#section02 .news-list li .desc {display: -webkit-box; -webkit-line-clamp: 2; line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-weight: 500; font-size: 20px; line-height: 1.45; color: #666; word-break: keep-all;}
#section02 .news-list li .date {font-weight: 400; font-size: 18px; color: #585858;}

#section02 .pub-col .title-wrap .tit {color: #0064FF;}

#section02 .mag-viewer {width: 100%; overflow: hidden;}
#section02 .mag-stage {position: relative; width: 100%; height: 350px; cursor: grab; touch-action: pan-y; -webkit-user-select: none; user-select: none;}
#section02 .mag-stage.is-dragging {cursor: grabbing;}
#section02 .mag-card {position: absolute; top: 50%; left: 50%; width: 230px; border-radius: 10px; overflow: hidden; background: #e6e9ef; box-shadow: 5px 5px 5px rgba(20, 40, 90, 0.18); transform: translate(-50%, -50%) scale(0.55); opacity: 0; z-index: 0; pointer-events: none; transition: left 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), transform 0.5s cubic-bezier(0.22, 0.61, 0.36, 1), opacity 0.5s ease;}
#section02 .mag-card img {width: 100%; height: 100%; object-fit: cover; display: block; -webkit-user-drag: none; user-select: none; pointer-events: none;}
#section02 .mag-card[data-pos="-2"],
#section02 .mag-card[data-pos="-1"],
#section02 .mag-card[data-pos="0"],
#section02 .mag-card[data-pos="1"],
#section02 .mag-card[data-pos="2"] {opacity: 1;}
#section02 .mag-card[data-pos="0"] {left: 50%; transform: translate(-50%, -50%) scale(1.1); z-index: 5; pointer-events: auto;}
#section02 .mag-card[data-pos="-1"] {left: calc(50% - 150px); transform: translate(-50%, -50%) scale(0.8); z-index: 4; pointer-events: auto;}
#section02 .mag-card[data-pos="1"] {left: calc(50% + 150px); transform: translate(-50%, -50%) scale(0.8); z-index: 4; pointer-events: auto;}
#section02 .mag-card[data-pos="-2"] {left: calc(50% - 245px); transform: translate(-50%, -50%) scale(0.58); z-index: 3; opacity: 0.5;}
#section02 .mag-card[data-pos="2"] {left: calc(50% + 245px); transform: translate(-50%, -50%) scale(0.58); z-index: 3; opacity: 0.5;}

#section02 .mag-nav {display: flex; align-items: center; justify-content: center; gap: 16px; margin-top: 22px;}
#section02 .mag-nav button {position: relative; width: 44px; height: 44px; flex-shrink: 0; border: 1px solid #E4E4E4; border-radius: 50%; background: #fff; cursor: pointer; transition: 0.2s ease-in-out;}
#section02 .mag-nav button::before {content: ''; position: absolute; top: 50%; left: 50%; width: 15px; height: 15px; background-color: #6B7280; -webkit-mask: url('../images/main/chevron-g.svg') no-repeat center / contain; mask: url('../images/main/chevron-g.svg') no-repeat center / contain;}
#section02 .mag-nav .mag-prev::before {transform: translate(-50%, -50%);}
#section02 .mag-nav .mag-next::before {transform: translate(-50%, -50%) scaleX(-1);}
#section02 .mag-nav button:hover {background: #0064FF; border-color: #0064FF;}
#section02 .mag-nav button:hover::before {background-color: #fff;}
#section02 .mag-label {min-width: 120px; text-align: center; font-weight: 600; font-size: 20px; color: #1a1a1a;}

@media (max-width: 1400px) {
  #section02 .news-wrap {gap: 50px;}
  #section02 .title-wrap .tit {font-size: 30px;}
  #section02 .news-feature .feature-txt .tit {font-size: 21px;}
  #section02 .news-feature .feature-txt .desc {font-size: 18px;}
  #section02 .news-list li .tit {font-size: 20px;}
  #section02 .news-list li .desc {font-size: 18px;}
  #section02 .news-list li .date {font-size: 16px;}
}
@media (max-width: 1024px) {
  #section02 .news-wrap {flex-direction: column; gap: 60px;}
  #section02 .news-col, #section02 .pub-col {flex: none; width: 100%;}
  #section02 .mag-viewer {max-width: 560px; margin: 0 auto;}
}
@media (max-width: 768px) {
  #section02 .title-wrap {flex-wrap: wrap; gap: 14px; margin-bottom: 24px;}
  #section02 .title-wrap .tit {font-size: 24px;}
  #section02 .news-tools {gap: 16px;}
  #section02 .news-count {font-size: 18px;}

  #section02 .news-col .title-wrap {flex-wrap: nowrap; gap: 10px;}
  #section02 .news-col .news-tools {gap: 9px;}
  #section02 .news-col .news-ctrl {gap: 7px;}
  #section02 .news-col .news-ctrl button {width: 9px; height: 16px;}
  #section02 .news-col .news-count {font-size: 14px;}
  #section02 .news-col .news-count i {margin: 0 4px;}

  #section02 .news-body {flex-direction: column; gap: 20px;}
  #section02 .news-feature {flex: none; width: 100%; aspect-ratio: 3.5 / 3;}
  #section02 .news-list {flex: none; width: 100%;}
  #section02 .news-list li .tit {font-size: 19px;}
  #section02 .news-list li .desc {font-size: 18px;}
  #section02 .news-list li .date {font-size: 14px;}
  #section02 .mag-stage {height: 360px;}
  #section02 .mag-card {width: 210px; height: 280px;}
  #section02 .mag-card[data-pos="-1"] {left: calc(50% - 132px); transform: translate(-50%, -50%) scale(0.8);}
  #section02 .mag-card[data-pos="1"] {left: calc(50% + 132px); transform: translate(-50%, -50%) scale(0.8);}
  #section02 .mag-card[data-pos="-2"] {left: calc(50% - 225px); transform: translate(-50%, -50%) scale(0.62);}
  #section02 .mag-card[data-pos="2"] {left: calc(50% + 225px); transform: translate(-50%, -50%) scale(0.62);}
  #section02 .mag-label {font-size: 18px;}
}

/* ----- 섹션06 (Partners) ----- */
#section06 .image-container {position: absolute; bottom: 0px; left: 0; width: 100%; height: 480px; overflow: hidden; z-index: 0; pointer-events: none;}

#section06 .fade-image {width: 100%; height: 100%; opacity: 0; position: absolute; top: 0; left: 0; transition: opacity 3s ease-in-out;}

#section06 .fade-image.type01 {animation: slideDownFade 6s ease-in-out infinite; background: url('../images/main/bg-line01.svg') no-repeat 50% 50%/cover;}
#section06 .fade-image.type02 {animation: slideUpFade 6s ease-in-out infinite; background: url('../images/main/bg-line02.svg') no-repeat 50% 50%/cover;}

@keyframes slideDownFade {
  0%, 100% {opacity: 0; transform: translateY(-20px);}
  50% {opacity: 1; transform: translateY(0);}
}
@keyframes slideUpFade {
  0%, 100% {opacity: 0; transform: translateY(20px);}
  50% {opacity: 1; transform: translateY(0);}
}

@media (prefers-reduced-motion: reduce) {
  #section06 .fade-image {animation: none;}
}

#section06 .wrap {position: relative; z-index: 1;}

#section06 .partner-title,
#section06 .partner-marquee {opacity: 0; transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
#section06 .partner-title {transform: translateY(20px);}
#section06 .partner-marquee {transition-delay: 0.15s;}

#section06.is-active .partner-title,
#section06.is-active .partner-marquee {opacity: 1; transform: none;}

@media (prefers-reduced-motion: reduce) {
  #section06 .partner-title,
  #section06 .partner-marquee {opacity: 1; transform: none; transition: none;}
}

#section06 .partner-title {text-align: left; margin-bottom: 50px;}
#section06 .partner-title .tit {font-weight: 700; font-size: 34px; letter-spacing: -0.02em; line-height: 1.2; color: #141414; word-break: keep-all;}
#section06 .partner-title .tit span {margin-left: 6px; color: #1A62E5; font-weight: inherit;}

#section06 .partner-marquee {width: 100vw; margin-left: calc(50% - 50vw); margin-top: -20px; margin-bottom: -20px; overflow: hidden; padding: 20px 0;}
#section06 .partner-marquee + .partner-marquee {margin-top: 30px;}

#section06 .mar-track {display: flex; width: max-content; animation: partnerMarquee 32s linear infinite;}
#section06 .mar-track-reverse {animation-direction: reverse;}
#section06 .mar-group {display: flex; flex-shrink: 0; gap: 48px; padding-right: 48px;}

#section06 .logo-card {flex-shrink: 0; width: 270px; height: 140px; padding: 30px; display: flex; align-items: center; justify-content: center; background-color: #fff; border-radius: 20px; box-shadow: 2px 4px 4.5px 5px rgba(196,196,196,0.25);}
#section06 .logo-card img {max-width: 100%; max-height: 100%; object-fit: contain; display: block;margin:0 auto;}

@keyframes partnerMarquee {
  0% {transform: translateX(0);}
  100% {transform: translateX(-50%);}
}

@media (prefers-reduced-motion: reduce) {
  #section06 .mar-track {animation: none;}
}

@media (max-width: 1400px) {
  #section06 .partner-title .tit {font-size: 30px;}
}
@media (max-width: 768px) {
  #section06 .partner-title {margin-bottom: 36px;}
  #section06 .partner-title .tit {font-size: 23px;}
  #section06 .logo-card {width: 200px; height: 104px; padding: 10px; border-radius: 15px;}
  #section06 .mar-group {gap: 28px; padding-right: 28px;}
}
.partner-marquee {
  cursor: grab;
  overflow: hidden;
  touch-action: pan-y;
  user-select: none;
}

.partner-marquee.is-dragging {
  cursor: grabbing;
}

/* ----- 섹션05 (공지사항 / 기부 안내) ----- */
#section05 {
  position: relative; overflow: hidden;
  background-color: #FFFFFF;
}
#section05::before {content: ''; position: absolute; inset: 0; z-index: 0; background: url('../images/main/section05-bg.jpg') no-repeat center center / cover; opacity: 0.4; pointer-events: none; -webkit-mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%); mask-image: linear-gradient(to bottom, transparent 0%, #000 15%, #000 85%, transparent 100%);}
#section05 > .wrap {position: relative; z-index: 1;}

#section05 .notice-col,
#section05 .donate-col {opacity: 0; transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);}
#section05 .notice-col {transform: translateY(28px);}
#section05 .donate-col {transform: translateY(28px); transition-delay: 0.15s;}
#section05.is-active .notice-col,
#section05.is-active .donate-col {opacity: 1; transform: none;}

@media (prefers-reduced-motion: reduce) {
  #section05 .notice-col,
  #section05 .donate-col {opacity: 1; transform: none; transition: none;}
}

#section05 .notice-wrap {display: block;}

#section05 .notice-col {min-width: 0;}
#section05 .notice-head {display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 26px; padding-right: 470px;}
#section05 .notice-head .tit {font-weight: 700; font-size: 36px; line-height: 1.2; color: #141414; word-break: keep-all;}

#section05 .notice-body {display: flex; align-items: stretch; gap: 40px;}
#section05 .notice-list {flex: 1 1 0; min-width: 0;}

#section05 .notice-list li + li {margin-top: 16px;}
#section05 .notice-list li > a {position: relative; display: flex; align-items: center; gap: 24px; min-height: 130px; padding: 22px 34px; border: 1px solid #E5E5E5; border-radius: 20px; background: #fff; transition: border-color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;}
#section05 .notice-list li > a:hover {border-color: #D3DCF0; box-shadow: 0 16px 32px -14px rgba(18, 32, 63, 0.20), 0 4px 12px rgba(18, 32, 63, 0.06); transform: translateY(-3px);}

#section05 .notice-list .ico {flex-shrink: 0; display: flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; background: #F3F7FF; transition: background-color 0.25s ease;}
#section05 .notice-list .ico i {font-size: 25px; line-height: 1; color: #0064FF; transition: color 0.25s ease;}
#section05 .notice-list li > a:hover .ico {background: #0064FF;}
#section05 .notice-list li > a:hover .ico i {color: #fff;}

#section05 .notice-list .txt {flex: 1; min-width: 0; display: flex; align-items: center; justify-content: space-between; gap: 20px;}
#section05 .notice-list .txt .tit {display: block; min-width: 0; max-width: 100%; font-weight: 600; font-size: 22px; line-height: 1.4; color: #1a1a1a; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; transition: color 0.2s ease;}
#section05 .notice-list li > a:hover .txt .tit {color: #0064FF;}

#section05 .notice-list .date {flex-shrink: 0; font-weight: 500; font-size: 19px; color: #585858; white-space: nowrap;}

#section05 .notice-list .badge-new {display: inline-flex; align-items: center; margin-right: 10px; padding: 4px 11px; border-radius: 999px; background: linear-gradient(95deg, #0064FF 0%, #4DA3FF 100%); font-style: normal; font-size: 12px; font-weight: 700; letter-spacing: 0.04em; line-height: 1.4; color: #fff; vertical-align: middle;}
#section05 .notice-list .badge-new-rest {font-weight: 700; color: #fff;}

#section05 .donate-col {flex: 0 0 430px; width: 430px;}
#section05 .donate-card {position: relative; display: flex; flex-direction: column; min-height: 100%; box-sizing: border-box; padding: 40px 30px; border-radius: 15px; background: #F5F8FF; box-shadow: 0 14px 34px rgba(20, 50, 110, 0.10);}
#section05 .donate-card::before {content: ''; position: absolute; right: 22px; width: 130px; height: auto; aspect-ratio: 84 / 54; background: url('../images/main/donation-bg.png') no-repeat right top / contain; pointer-events: none;}

#section05 .donate-tit {font-weight: 700; font-size: 30px; line-height: 1.25; color: #1E2F5E;}
#section05 .donate-desc {margin-top: 12px; margin-bottom: 18px; font-weight: 500; font-size: 18px; line-height: 1.55; color: #5A6270; word-break: keep-all;}

#section05 .donate-links {display: flex; margin-top: auto; border: 1px solid #D9D9D9; border-radius: 15px; background: #fff; overflow: hidden;}
#section05 .donate-links > a {position: relative; flex: 1; display: flex; flex-direction: column; align-items: center; gap: 10px; padding: 20px 12px; font-size: 15px; font-weight: 600; color: #1E2F5E; transition: background-color 0.2s ease;}
#section05 .donate-links > a span {color: #1E2F5E;}
#section05 .donate-links > a + a::before {content: ''; position: absolute; left: 0; top: 10%; height: 80%; border-left: 1px dashed #D9D9D9;}
#section05 .donate-links > a:hover {background-color: #F5F8FF;}
#section05 .donate-links > a .ico {width: 30px; height: 30px; background-color: #1E2F5E; -webkit-mask-repeat: no-repeat; mask-repeat: no-repeat; -webkit-mask-position: center; mask-position: center; -webkit-mask-size: contain; mask-size: contain;}
#section05 .donate-links > a .ico-method {-webkit-mask-image: url('../images/main/ico-donation-method.svg'); mask-image: url('../images/main/ico-donation-method.svg');}
#section05 .donate-links > a .ico-sponsor {-webkit-mask-image: url('../images/main/ico-donation-sponsor.svg'); mask-image: url('../images/main/ico-donation-sponsor.svg');}

#section05 .donate-btn {position: relative; overflow: hidden; display: flex; align-items: center; justify-content: center; gap: 10px; margin-top: 12px; padding: 16px 20px; border-radius: 15px; background: #1E2F5E; font-size: 17px; font-weight: 600; color: #fff; transition: box-shadow 0.25s ease, transform 0.25s ease;}
#section05 .donate-btn > span {position: relative; z-index: 1; color: #fff;}
#section05 .donate-btn .arr {position: relative; z-index: 1; width: 18px; height: 18px; background: url('../images/main/arrow-r-w.svg') no-repeat center / contain; transition: transform 0.25s ease;}
#section05 .donate-btn .donate-logo {position: absolute; right: 8px; bottom: 4px; z-index: 0; font-weight: 800; font-size: 40px; line-height: 1; letter-spacing: 0.04em; color: rgba(255, 255, 255, 0.13); pointer-events: none;}
#section05 .donate-btn:hover {box-shadow: 0 12px 26px rgba(20, 50, 110, 0.28); transform: translateY(-2px);}
#section05 .donate-btn:hover .arr {transform: translateX(4px);}

@media (max-width: 1400px) {
  #section05 .notice-head {margin-bottom: 20px; padding-right: 390px;}
  #section05 .notice-head .tit {font-size: 30px;}
  #section05 .notice-body {gap: 30px;}
  #section05 .notice-list li > a {gap: 20px; min-height: 116px; padding: 20px 26px;}
  #section05 .notice-list .ico {width: 54px; height: 54px;}
  #section05 .notice-list .ico i {font-size: 22px;}
  #section05 .notice-list .txt .tit {font-size: 20px;}
  #section05 .notice-list .date {font-size: 17px;}
  #section05 .donate-col {flex-basis: 360px; width: 360px;}
  #section05 .donate-card {padding: 24px 24px;}
  #section05 .donate-card::before {width: 80px; height: auto; right: 20px;}
  #section05 .donate-tit {font-size: 26px;}
  #section05 .donate-desc {font-size: 16px; margin-bottom: 16px;}
  #section05 .donate-links > a {padding: 16px 10px; font-size: 14px;}
  #section05 .donate-btn {font-size: 16px;}
  #section05 .donate-btn .donate-logo {font-size: 36px;}
}
@media (max-width: 1024px) {
  #section05 .notice-head {padding-right: 0;}
  #section05 .notice-body {flex-direction: column; gap: 30px;}
  #section05 .donate-col {flex-basis: auto; width: 100%;}
  #section05 .donate-card {min-height: 0;}
  #section05 .donate-links > a .ico {width: 38px; height: 38px;}
}
@media (max-width: 768px) {
  #section05 .notice-head {flex-wrap: wrap; gap: 10px; margin-bottom: 16px;}
  #section05 .notice-head .tit {font-size: 24px;}
  #section05 .notice-list li + li {margin-top: 12px;}
  #section05 .notice-list li > a {flex-wrap: wrap; gap: 14px; min-height: 0; padding: 18px 16px; border-radius: 16px;}
  #section05 .notice-list .ico {width: 44px; height: 44px;}
  #section05 .notice-list .ico i {font-size: 20px;}
  #section05 .notice-list .txt {flex-direction: column; align-items: flex-start; gap: 4px;}
  #section05 .notice-list .txt .tit {width: 100%; font-size: 16px;}
  #section05 .notice-list .date {font-size: 12px;}

  #section05 .notice-list .badge-new {margin-right: 6px; padding: 3px 7px;}
  #section05 .notice-list .badge-new-rest {display: none;}
  #section05 .donate-card {padding: 26px 22px;}
  #section05 .donate-btn .donate-logo {font-size: 34px;}
}

/* ----- 섹션05-2 (갤러리 · 공지사항 하단) ----- */
#section05b {background: #FFFFFF;}

#section05b .gallery-head {display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 30px;}
#section05b .gallery-head .tit {font-weight: 700; font-size: 36px; line-height: 1.2; color: #141414;}
#section05b .gallery-head .tit span {color: #0064FF; font-weight: inherit;}
#section05b .gallery-head .view-more {flex-shrink: 0;}

#section05b .gallery-list {display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; margin: 0; padding: 0; list-style: none;}

#section05b .gallery-card {position: relative; display: block; border-radius: 16px; overflow: hidden; background: #eef1f6;}
#section05b .gallery-card .thumb {display: block; width: 100%; height: 360px; overflow: hidden;}
#section05b .gallery-card .thumb img {width: 100%; height: 100%; object-fit: cover; object-position: center; display: block; transition: transform 0.45s ease;}
#section05b .gallery-card:hover .thumb img {transform: scale(1.05);}

#section05b .gallery-card::after {content: ''; position: absolute; left: 0; right: 0; bottom: 0; height: 40%; background: linear-gradient(to top, rgba(0, 0, 0, 0.82) 0%, rgba(0, 0, 0, 0.42) 34%, rgba(0, 0, 0, 0) 100%); pointer-events: none;}

#section05b .gallery-card .caption {position: absolute; left: 0; right: 0; bottom: 0; z-index: 1; display: block; padding: 22px 24px 24px;}
#section05b .gallery-card .g-tit {display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; font-size: 20px; font-weight: 600; line-height: 1.4; color: #fff; word-break: keep-all;}
#section05b .gallery-card .g-date {display: flex; align-items: center; gap: 6px; margin-top: 10px; font-size: 18px; font-weight: 400; line-height: 1.2; color: rgba(255, 255, 255, 0.62);}
#section05b .gallery-card .g-date::before {content: '\F293'; font-family: 'bootstrap-icons'; font-size: 0.95em; font-weight: normal;}

@media (max-width: 1024px) {
  #section05b .gallery-head .tit {font-size: 30px;}
  #section05b .gallery-list {gap: 22px;}
  #section05b .gallery-card .thumb {height: 320px;}
  #section05b .gallery-card .g-tit {font-size: 18px;}
  #section05b .gallery-card .g-date {font-size: 16px;}
}
@media (max-width: 768px) {
  #section05b .gallery-head {margin-bottom: 20px;}
  #section05b .gallery-head .tit {font-size: 24px;}
  #section05b .gallery-list {grid-template-columns: 1fr; gap: 18px;}
  #section05b .gallery-card .thumb {height: 300px;}
  #section05b .gallery-card .caption {padding: 18px 18px 20px;}
  #section05b .gallery-card .g-tit {font-size: 17px;}
  #section05b .gallery-card .g-date {font-size: 15px; margin-top: 8px;}
}

/* ----- 섹션06 배경 : 3D 레이저(점광) ----- */
#section06 {overflow: hidden;}
#section06 .laser-bg {position: absolute; inset: 0; z-index: 0; display: flex; align-items: center; justify-content: center; pointer-events: none;}

#section06 .laser-bg .laser-orbit {
  -webkit-perspective: 900px; perspective: 900px;
  -webkit-animation: laserFloat 16s ease-in-out infinite;
  animation: laserFloat 16s ease-in-out infinite;
}

#section06 .laser-bg .laser-stage {
  position: relative; width: 220px; height: 220px;
  -webkit-transform-style: preserve-3d; transform-style: preserve-3d;
  -webkit-animation: laserRotate 6s infinite linear;
  animation: laserRotate 6s infinite linear;
}

#section06 .laser-bg .laser-layer {
  position: absolute; inset: 0; display: block;
  background: radial-gradient(rgba(0, 100, 255, 0.4) 5%, transparent 5.5%);
  background-position: center center;
  -webkit-background-size: 50px 50px; background-size: 50px 50px;
  -webkit-animation: laserHue 8s ease-in-out infinite;
  animation: laserHue 8s ease-in-out infinite;
}
#section06 .laser-bg .laser-layer.div-1 {-webkit-transform: translateZ(40px);  transform: translateZ(40px);  -webkit-animation-delay: 0.1s; animation-delay: 0.1s;}
#section06 .laser-bg .laser-layer.div-2 {-webkit-transform: translateZ(80px);  transform: translateZ(80px);  -webkit-animation-delay: 0.2s; animation-delay: 0.2s;}
#section06 .laser-bg .laser-layer.div-3 {-webkit-transform: translateZ(120px); transform: translateZ(120px); -webkit-animation-delay: 0.3s; animation-delay: 0.3s;}
#section06 .laser-bg .laser-layer.div-4 {-webkit-transform: translateZ(160px); transform: translateZ(160px); -webkit-animation-delay: 0.4s; animation-delay: 0.4s;}
#section06 .laser-bg .laser-layer.div-5 {-webkit-transform: translateZ(200px); transform: translateZ(200px); -webkit-animation-delay: 0.5s; animation-delay: 0.5s;}

@-webkit-keyframes laserRotate {from {-webkit-transform: rotateY(0deg) rotateZ(0deg);} to {-webkit-transform: rotateY(360deg) rotateZ(-360deg);}}
@keyframes laserRotate {from {transform: rotateY(0deg) rotateZ(0deg);} to {transform: rotateY(360deg) rotateZ(-360deg);}}

@-webkit-keyframes laserFloat {
  0%   {-webkit-transform: translate3d(-44vw, -20px, 0);}
  25%  {-webkit-transform: translate3d(-12vw, 18px, 0);}
  50%  {-webkit-transform: translate3d(44vw, -20px, 0);}
  75%  {-webkit-transform: translate3d(12vw, 18px, 0);}
  100% {-webkit-transform: translate3d(-44vw, -20px, 0);}
}
@keyframes laserFloat {
  0%   {transform: translate3d(-44vw, -20px, 0);}
  25%  {transform: translate3d(-12vw, 18px, 0);}
  50%  {transform: translate3d(44vw, -20px, 0);}
  75%  {transform: translate3d(12vw, 18px, 0);}
  100% {transform: translate3d(-44vw, -20px, 0);}
}

@-webkit-keyframes laserHue {
  0%, 100% {-webkit-filter: hue-rotate(-24deg);}
  50%      {-webkit-filter: hue-rotate(30deg);}
}
@keyframes laserHue {
  0%, 100% {filter: hue-rotate(-24deg);}
  50%      {filter: hue-rotate(30deg);}
}

@media (max-width: 768px) {
  #section06 .laser-bg .laser-orbit {-webkit-perspective: 640px; perspective: 640px;}
  #section06 .laser-bg .laser-stage {width: 160px; height: 160px;}
}

@media (prefers-reduced-motion: reduce) {
  #section06 .laser-bg .laser-orbit,
  #section06 .laser-bg .laser-stage,
  #section06 .laser-bg .laser-layer {-webkit-animation: none; animation: none;}
}