@charset "UTF-8";

.main .page-wrapper {
  padding-top: 0;
}

.main .header:not(.is-scrolled):not(.is-gnb-open) {
  background-color: #d0c9ff;
  box-shadow: none;
}

.main-section-title {
  font-size: 4.4rem;
  letter-spacing: 0;
  text-align: center;
  word-break: keep-all;
}

.main-section-desc {
  margin-top: 2.4rem;
  font-size: 1.8rem;
  text-align: center;
  word-break: keep-all;
}

html[lang="en"] .main-section-desc {
  font-size: 2rem;
}

.main-btn::after {
  content: "";
  display: block;
  width: 1.8rem;
  height: 1.8rem;
  margin-left: 1rem;
  background: currentColor;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14'/%3E%3Cpath d='m12 5 7 7-7 7'/%3E%3C/svg%3E")
    center / contain no-repeat;
}

.main-btn--red {
  color: #fff;
  background-color: #e40012;
}

.main-btn:focus-visible,
.main-quick a:focus-visible,
.main-event-card:focus-visible,
.main-field a:focus-visible,
.main-notice a:focus-visible {
  outline: 0.3rem solid #111;
  outline-offset: 0.4rem;
}

/* KV */
.main-kv {
  position: relative;
  overflow: hidden;
  height: 98rem;
  background-color: #d0c9ff;
  --kv-heart-width: 189.8rem;
  --kv-heart-height: 165.4rem;
  --kv-heart-bottom-offset: 8rem;
  --kv-heart-enter-x: 20%;
  --kv-heart-mask-size: 100%;
}
.main .main-kv {
  padding-top: 10rem;
}

.main-kv__inner {
  position: relative;
  display: flex;
  align-items: center;
  height: 100%;
  min-height: 100%;
  padding: 0 7.8vw 0;
}

.main-kv__content {
  position: relative;
  z-index: 2;
  width: 78rem;
  opacity: 0;
  transform: translateY(-7rem);
}

.main-kv__title {
  font-size: 5.8rem;

  letter-spacing: 0;
  word-break: keep-all;
}

.main-kv__desc {
  margin-top: 2.4rem;
  font-size: 2rem;
  word-break: keep-all;
}
html[lang="en"] .main-kv__desc {
  font-size: 2.2rem;
}

.main-kv__visual {
  position: absolute;
  top: 1rem;
  right: calc(var(--kv-heart-width) * -0.47);
  bottom: calc(var(--kv-heart-height) * -0.46 + var(--kv-heart-bottom-offset));
  z-index: 1;
  width: var(--kv-heart-width);
  height: var(--kv-heart-height);
  max-width: none;
  min-width: 0;
  opacity: 0;
  pointer-events: none;
  transform: translateX(var(--kv-heart-enter-x));
  transform-origin: 50% 50%;
  -webkit-mask-image: url("/images/main/kv_heart_mask.svg");
  mask-image: url("/images/main/kv_heart_mask.svg");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: left top;
  mask-position: left top;
  -webkit-mask-size: var(--kv-heart-mask-size) var(--kv-heart-mask-size);
  mask-size: var(--kv-heart-mask-size) var(--kv-heart-mask-size);
}

.main-kv__visual img {
  position: absolute;
  top: -7.4%;
  left: -9%;
  display: block;
  width: 100%;
  height: 100%;
  transform: scale(1.06);
  object-fit: cover;
}

/* Quick bar */
.main-quick {
  position: relative;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: min(146rem, calc(100% - 6rem));
  min-height: 12rem;
  margin: -6rem auto 0;
  padding: 0 8rem;
  border-radius: 2rem;
  background-color: #e60012;
  color: #fffde9;
  box-shadow: 0 2.6rem 4rem rgba(0, 0, 0, 0.18);
  opacity: 0;
}

.main-quick__lead {
  display: flex;
  align-items: center;
  gap: 1.6rem;
  flex: 0 0 auto;
}

.main-quick__lead img {
  width: 4.8rem;
  height: 4.8rem;
}

.main-quick__lead strong {
  font-family: var(--font-display);
  font-size: 2.2rem;
}

.main-quick__list {
  display: grid;
  grid-template-columns: repeat(4, max-content);
  align-items: center;
}

.main-quick__list li {
  display: flex;
  align-items: center;
  height: 12rem;
  padding: 0 5rem;
}
@media (min-width: 769px) {
  .main-quick__list li:hover {
    background-color: #91187d;
  }
}

.main-quick__list a {
  display: inline-flex;
  align-items: center;
  min-height: 4.8rem;
  gap: 1rem;
  color: #fffde9 !important;
  font-size: 2rem;
  font-family: var(--font-display);

  text-decoration: none;
}

.main-quick__list img {
  width: 2.4rem;
  height: 2.4rem;
}

/* Section 1 */
.main-house {
  padding: 14rem 0 20rem;
  overflow: hidden;
}

.main-house__inner {
  width: 144rem;
  margin: 0 auto;
  text-align: center;
}

.main-house__copy {
  margin-bottom: 15rem;
}

.main-house__title {
  font-size: 4.4rem;
  letter-spacing: 0;
  word-break: keep-all;
}

.reveal-line {
  display: block;
  margin-bottom: 0.4rem;
}

.reveal-word {
  display: inline-block;
  white-space: nowrap;
}

.reveal-char {
  display: inline-block;
  color: #d0c9ff;
  transform: translateY(0.5rem);
  will-change: transform, color;
}

.reveal-line .inline-icon {
  display: inline-block;
  margin: 0 0.3rem;
  object-fit: contain;
  vertical-align: middle;
  transform: translateY(-0.6rem);
  filter: grayscale(1);
  will-change: width, margin, filter, transform, opacity;
  transition:
    width 0.3s ease-out,
    margin 0.3s ease-out,
    transform 0.3s ease-out,
    opacity 0.3s ease-out;
}
.reveal-line .inline-icon.icon-1 {
  width: 7rem;
}
.reveal-line .inline-icon.icon-2,
.reveal-line .inline-icon.icon-3 {
  width: 6rem;
}

.reveal-highlight {
  position: relative;
}

.main-house__visual {
  margin: 0 auto 8rem;
}

.main-house__photo {
  position: relative;
  width: min(100%, 120rem);
  margin: 0 auto;
}

.main-house__photo img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  border-radius: 1.4rem;
  opacity: 1 !important;
}

.main-house__sync-img {
  opacity: 0 !important;
  transform: translateY(0) scale(0.67);
  transform-origin: top center;
}

@media (prefers-reduced-motion: reduce) {
  .main-house__sync-img {
    transform: none;
  }
}

.main-house__label {
  position: absolute;
  right: -1rem;
  bottom: -15rem;
  width: 34.3rem;
  height: 29.6rem;
  opacity: 0;
  transform: translate(3rem, 2rem) scale(0.9);
  z-index: 10;
}

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

.main-house__label span {
  position: absolute;
  left: 4.8rem;
  bottom: 8.8rem;
  display: block;
  width: 24rem;
  font-size: 1.6rem;
  font-weight: 700;
  transform: rotate(13deg);
  word-break: keep-all;
  z-index: 10;
}

html[lang="en"] .main-house__label span {
  font-size: 2rem;
}

.main-house__sub {
  margin: 12rem 0 8rem;
  font-size: 4.4rem;
  font-family: var(--font-display);
  word-break: keep-all;
}

.main-house__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.4rem;
  width: min(100%, 120rem);
  margin: 0 auto 8rem;
}

.main-house__links a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  max-width: 58.8rem;
  min-height: 14rem;
  padding: 0 4rem;
  border-radius: 1.2rem;
  font-family: var(--font-display);
  font-size: 2.2rem;
  text-align: left;
  text-decoration: none;
  overflow: hidden;
}

.main-house__link-wrap {
  display: inline-flex;
  align-items: center;
  gap: 1.6rem;
  will-change: transform;
  transition: transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
}

.main-house__links a::after {
  content: "";
  position: absolute;
  right: 4.8rem;
  top: 50%;
  width: 2.2rem;
  height: 1.5rem;
  background: url("/images/common/icon_arrow_right_s.png") center / contain
    no-repeat;
  opacity: 0;
  transform: translateY(-50%) translateX(1rem);
  will-change: transform, opacity;
  transition:
    opacity 0.35s cubic-bezier(0.25, 1, 0.5, 1),
    transform 0.35s cubic-bezier(0.25, 1, 0.5, 1);
  pointer-events: none;
}

.main-house__links a:hover .main-house__link-wrap,
.main-house__links a:focus-visible .main-house__link-wrap {
  transform: translateX(-1.6rem);
}

.main-house__links a:hover::after,
.main-house__links a:focus-visible::after {
  opacity: 1;
  transform: translateY(-50%) translateX(0);
}

.main-house__links img {
  width: 6rem;
  height: 6rem;
}

.main-house__links .is-blue {
  background-color: #8ee7f8;
}

.main-house__links .is-purple {
  background-color: #d0c9ff;
}

.main-house__links .is-yellow {
  background-color: #ffc72c;
}

.main-house__links .is-green {
  background-color: #98df35;
}

.main-house__links a.is-disabled {
  pointer-events: none;
  cursor: not-allowed;
}

/* Section 2 */
.main-impact {
  padding: 20rem 0;
  background-color: #8ee7f8;
}

.main-impact__inner {
  width: min(132rem, calc(100% - 4.8rem));
  margin: 0 auto;
}

.main-impact__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6rem;
  margin-top: 8rem;
}

.main-impact__list li {
  text-align: center;
}

.main-impact__list img {
  display: block;
  width: 10rem;
  height: 10rem;
  margin: 0 auto 3.2rem;
}

.main-impact__value {
  display: block;
  font-family: var(--font-display);
  font-size: 9rem;
  font-weight: 900;
  line-height: 1;
  letter-spacing: 0;
}

.main-impact__list span {
  display: block;
  margin-top: 2rem;
  font-family: var(--font-display);
  font-size: 2.2rem;
}

/* Section 3 */
.main-events {
  padding: 20rem 0;
  overflow: hidden;
}

.main-events__inner {
  width: min(144rem, calc(100% - 4.8rem));
  margin: 0 auto;
}

.main-events__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 4rem;
  margin-bottom: 8rem;
}

.main-events__head .main-section-title {
  text-align: left;
}

.main-event-card {
  display: block;
  position: relative;
  height: 51.9rem;
  overflow: hidden;
  border-radius: 1.6rem;
  text-decoration: none;
}

.main-event-card img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 342 / 373;
  object-fit: cover;
}

.main-event-card .card-text-wrap {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 14.6rem;
  padding: 4rem;
  font-size: 1.8rem;
  background-color: #d0c9ff;
  transition: height 0.4s ease;
}
html[lang="en"] .main-event-card .card-text-wrap {
  /* height: 17rem; */
}
.main-event-card .card-text-wrap .text-1,
.main-event-card .card-text-wrap .text-2 {
  position: absolute;
  top: 8rem;
  padding-right: 4rem;
  transition: opacity 0.4s ease;
}

.main-event-card .card-text-wrap .text-2 {
  opacity: 0;
}
html[lang="en"] .main-event-card:hover .card-text-wrap {
  /* height: 26.3rem; */
}
.main-event-card:hover .card-text-wrap {
  height: 22rem;
}
.main-event-card:hover .card-text-wrap .text-1 {
  height: 1rem;
  opacity: 0;
  overflow: hidden;
}
.main-event-card:hover .card-text-wrap .text-2 {
  opacity: 1;
}
html[lang="en"] .main-event-card:hover .card-text-wrap .text-2 p {
  min-height: 6.5rem;
}
.main-event-card .card-text-wrap .text-2 a {
  margin-top: 1.6rem;
}

.main-event-card strong {
  display: block;
  margin-bottom: 1.2rem;
  font-family: var(--font-display);
  font-size: 2.2rem;
}

.main-events__nav {
  padding-top: 8rem;
}

/* Section 4 */
.main-thanks {
  padding-bottom: 20rem;
  overflow: hidden;
}

.main-thanks__marquee {
  min-height: 63.6rem;
  margin-top: 11rem;
  padding-top: 10.5rem;
  background: url("/images/main/bg_section4_grid.png") center top repeat-x;
  overflow: hidden;
}

.main-thanks__marquee .swiper-wrapper {
  display: flex;
  align-items: center;
  width: max-content;
  transition-timing-function: linear;
  padding-left: 2rem;
}

.main-thanks__marquee .swiper-slide {
  flex: 0 0 auto;
  width: 32.4rem;
  margin-right: -1.2rem;
  margin-left: 0;
  position: relative;
}

.main-thanks__marquee .swiper-slide:hover {
  z-index: 999 !important;
}

.main-thanks__marquee .swiper-slide:hover .thanks-card {
  z-index: 20;
}

.thanks-card {
  position: relative;
  display: block;
}

.thanks-card__bg {
  display: block;
  width: 37.8rem;
  height: 48rem;
  object-fit: contain;
}

.thanks-card__text {
  position: absolute;
  top: 3rem;
  left: 2.7rem;
  width: 100%;
  height: 100%;
  padding: 8rem 3rem 0 5.2rem;
  font-size: 1.8rem;

  word-break: keep-all;
  box-sizing: border-box;
}

.card-color-1 {
  transform: rotate(-5deg);
}
.card-color-2 {
  transform: rotate(5deg);
}
.card-color-3 {
  transform: rotate(-5deg);
}
.card-color-4 {
  transform: rotate(5deg);
}

.main-thanks__marquee.is-fallback-slider {
  overflow-x: auto;
}

/* Section 5 */
.main-field {
  padding: 20rem 0;
  background: url("/images/main/bg_section5.png") left top;
}

.main-field__inner {
  width: min(144rem, calc(100% - 4.8rem));
  margin: 0 auto;
  text-align: center;
}

.main-field__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
  gap: 2.4rem;
  margin: 8rem 0 8rem;
  text-align: left;
}
.main-field__grid a:hover strong {
  text-decoration: underline;
}

.main-field__featured,
.main-field__list a {
  overflow: hidden;
  border-radius: 1.6rem;
  background-color: #fffdf0;
  text-decoration: none;
}

.main-field__featured {
  display: block;
}

.main-field__media {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 816 / 440;
}

.main-field__media > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-field__play {
  position: absolute;
  left: 50%;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: translate(-50%, -50%);
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.main-field__featured .main-field__play img {
  display: block;
  width: 8rem;
  height: 8rem;
  object-fit: contain;
}

.main-field__featured:hover .main-field__play {
  transform: translate(-50%, -50%) scale(1.1);
}

.main-field__featured strong {
  display: block;
  padding: 3.6rem 4rem;
  font-size: 2.4rem;
  font-family: var(--font-display);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

html[lang="en"] .main-field__featured strong {
  font-size: 2rem;
}

.main-field__list {
  display: grid;
  gap: 2.4rem;
}

.main-field__list a {
  display: grid;
  grid-template-columns: 20rem minmax(0, 1fr);
  align-items: stretch;
  min-height: 16.4rem;
}

.main-field__list img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.main-field__list span {
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 2.4rem 3.2rem;
}

.main-field__list strong {
  display: -webkit-box;
  overflow: hidden;
  font-family: var(--font-display);
  font-size: 2.2rem;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

html[lang="en"] .main-field__list strong {
  font-size: 2rem;
}

.main-field__list time {
  margin-top: 1.6rem;
  color: var(--text-gray80);
  font-size: 1.6rem;
}

/* Section 6 */
.main-notice {
  padding: 17rem 0;
  background-color: #ffc72c;
}

.main-notice__inner {
  width: min(120rem, calc(100% - 4.8rem));
  margin: 0 auto;
  text-align: center;
}

.main-notice__list {
  margin: 8rem 0;
}

.main-notice__list a {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 13rem 3rem;
  align-items: center;
  min-height: 9.6rem;
  border-bottom: 0.1rem solid #000;
  text-align: left;
  text-decoration: none;
}

.main-notice__title-wrap {
  display: flex;
  align-items: center;
  gap: 0.8rem;
  min-width: 0;
  padding-right: 2.4rem;
}

/* 2026-09-08 퍼블리싱 동기화 — 보류했던 1건을 정리한다.

   퍼블은 `2.8rem / 800 / 1.3` 을 `var(--font-display) / 2.2rem` 으로 바꿨다.
   모바일 블록은 3단계 병합에서 이미 퍼블 값(1.8rem)을 받아 놓았는데
   데스크톱만 옛 값이 남아 **두 화면 크기의 기준이 어긋나 있었다.**

   `padding-right` 만 여기 두지 않고 `.main-notice__title-wrap` 으로 옮겼다 —
   확성기·New 뱃지를 나란히 놓는 flex 줄이 생기면서(퍼블 정적 파일에는 없지만
   CSS 에는 두 클래스가 살아 있다) 여백은 `strong` 이 아니라 줄 전체가 가져야 한다.
   `strong` 에 두면 뱃지가 여백 안쪽으로 밀려 들어간다. */
.main-notice__list strong {
  font-family: var(--font-display);
  font-size: 2.2rem;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.main-notice__badge {
  width: 4.2rem;
  height: 2.1rem;
  flex-shrink: 0;
}

.main-notice__megaphone {
  width: 2.4rem;
  height: 2.4rem;
  flex-shrink: 0;
}

html[lang="en"] .main-notice__list strong {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  white-space: normal;
  word-break: keep-all;
  overflow-wrap: break-word;
  line-height: 1.35;
}

.main-notice__list time {
  color: var(--text-gray100);
  font-size: 1.8rem;
}
html[lang="en"] .main-notice__list time {
  font-size: 1.6rem;
}

.main-notice__list a::after {
  content: "";
  width: 2.2rem;
  height: 1.6rem;
  justify-self: end;
  background: url("/images/common/icon_arrow_right.png") center / contain
    no-repeat;
  transition: transform 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
}

.main-notice__list a:hover::after {
  transform: translateX(0.5rem);
}

/* Section 7 */
.main-partners {
  padding: 17rem 0 15rem;
  background-color: #fffdf0;
}

.main-partners__inner {
  width: min(144rem, calc(100% - 4.8rem));
  margin: 0 auto;
  text-align: center;
}

.main-partner-slider {
  margin-top: 9rem;
  overflow: hidden;
}

.main-partner-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 1.6rem;
}

.main-partner-grid li {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 8.4rem;
}

.main-partner-grid img {
  display: block;
  width: 100%;
  max-width: 23rem;
  height: auto;
}

/* Section 8 */
/* .main-donate__inner {
  width: min(144rem, calc(100% - 4.8rem));
  margin: 0 auto;
} */

/* ==========================================================================
   메인 공지 팝업
   ========================================================================== */

.main-popup-container {
  position: relative;
  width: 80.8rem;
  max-width: 92vw;
  padding: 0;
  background-color: transparent;
  transform: translateY(0);
}

.main-popup-container.is-single-slide {
  width: 40rem;
}

.main-popup__slide-content {
  position: relative;
  width: 40rem;
  margin: 0 auto;
  border-radius: 1.6rem;
  overflow: hidden;
  background-color: #ffffff;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.2);
}

.main-popup__close {
  top: 1.6rem;
  right: 1.6rem;
  z-index: 10;
}

.main-popup__slide-link {
  display: block;
  width: 100%;
  line-height: 0;
}

.main-popup__img {
  width: 100%;
  height: auto;
  display: block;
}

.main-popup__img--mo {
  display: none;
}
.main-popup__img--pc {
  display: block;
}

/* 페이지네이션 */
.main-popup-pagination {
  position: static;
  padding: 1.2rem 0 0;
  text-align: center;
  line-height: 0;
}

.main-popup-swiper.is-single {
  overflow: visible;
}
.main-popup-swiper.is-single .main-popup-pagination {
  display: none;
}

.main-popup-pagination .swiper-pagination-bullet {
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--border-color);
  opacity: 1;
}
.main-popup-pagination .swiper-pagination-bullet-active {
  background-color: var(--primary);
}

.main-popup__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.6rem;
  padding: 2.4rem;
  background-color: #ffffff;
}

.btn.main-popup__cta {
  width: 16rem;
  min-height: 5.2rem;
  font-size: 1.8rem;
}

.main-popup__today-close {
  min-height: 5.2rem;
  font-size: 1.8rem;
}

/* 모바일 */
@media (max-width: 768px) {
  .main-popup-container,
  .main-popup-container.is-single-slide {
    width: 36rem;
    max-width: 90vw;
  }

  .main-popup__slide-content {
    width: 36rem;
    border-radius: 1.2rem;
  }

  .main-popup__img--pc {
    display: none;
  }
  .main-popup__img--mo {
    display: block;
  }

  .main-popup__footer {
    padding: 1.6rem 2rem 2rem;
    gap: 1.2rem;
  }

  .main-popup__cta {
    width: 100%;
    font-size: 1.6rem;
  }

  .main .header:not(.is-scrolled):not(.is-gnb-open) {
    background-color: #d0c9ff;
  }

  .main-section-title {
    font-size: 2.4rem;
  }

  .main-section-desc {
    margin-top: 2.4rem;
    font-size: 1.4rem;
  }
  html[lang="en"] .main-section-desc {
    font-size: 1.6rem;
  }

  .main-btn {
    min-width: 16.8rem;
    min-height: 5.6rem;
    padding: 0 2.4rem;
    font-size: 1.5rem;
  }

  .main-kv__inner {
    display: block;
    padding: 1rem 2.4rem;
  }

  .main-kv__content {
    width: 100%;
    padding-top: 0;
    transform: none;
  }

  .main-kv__title {
    font-size: 2.8rem;
  }

  .main-kv__desc {
    margin-top: 1.2rem;
    font-size: 1.6rem;
  }
  html[lang="en"] .main-kv__desc {
    font-size: 1.8rem;
  }

  .main .main-kv {
    --kv-heart-width: 54rem;
    --kv-heart-height: 48.1rem;
    --kv-heart-bottom-offset: 0;
    --kv-heart-enter-x: 18%;
    height: 52rem;
    padding-top: 8rem;
  }

  .main-kv__visual {
    top: 42%;
    right: -25.5rem;
    bottom: auto;
  }

  .main-quick {
    display: block;
    width: calc(100% - 4.8rem);
    min-height: 21.2rem;
    margin-top: 2.4rem;
    padding: 2.4rem;
    border-radius: 0.6rem;
  }

  .main-quick__lead {
    align-items: center;
    gap: 1.6rem;
  }

  .main-quick__lead strong {
    font-size: 1.8rem;
  }

  .main-quick__lead img {
    width: 4rem;
    height: 4rem;
  }

  .main-quick__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 1.6rem;
    margin-top: 2.8rem;
    padding-left: 0.8rem;
  }

  .main-quick__list li {
    justify-content: flex-start;
    width: 100%;
    height: 5rem;
    padding: 0;
  }

  .main-quick__list a {
    justify-content: flex-start;
    min-height: 4.8rem;
    font-size: 1.6rem;
  }

  .main-house {
    padding: 10rem 0;
  }

  .main-house__inner {
    width: calc(100% - 4.8rem);
  }

  .main-house__copy {
    margin-bottom: 7.5rem;
  }

  .main-house__title {
    font-size: 2.4rem;
  }

  .reveal-line {
    margin-bottom: 0.2rem;
  }

  .reveal-line .inline-icon {
    width: 3.2rem;
    height: 3.2rem;
  }

  .main-house__visual {
    margin-bottom: 5rem;
  }

  .main-house__photo > img {
    border-radius: 0.8rem;
  }

  .main-house__label {
    right: -1.8rem;
    bottom: -9.8rem;
    width: 23rem;
    height: auto;
  }
  html[lang="en"] .main-house__label {
    right: -2rem;
    bottom: -11.4rem;
  }

  .main-house__label span {
    left: -0.4rem;
    bottom: 6.2rem;
    width: 100%;
    font-size: 1.2rem;
  }
  html[lang="en"] .main-house__label span {
    font-size: 1.6rem;
  }

  .main-house__sub {
    margin: 12rem 0 4rem;
    font-size: 2.4rem;
  }

  .main-house__links {
    grid-template-columns: 1fr;
    gap: 1.2rem;
    margin-bottom: 4rem;
  }

  .main-house__links a {
    justify-content: flex-start;
    min-height: 9.2rem;
    padding: 0 1.8rem;
    font-size: 1.8rem;
    border-radius: 0.8rem;
  }
  html[lang="en"] .main-house__links a {
    padding: 0 1.6rem;
    font-size: 2rem;
  }

  .main-house__link-wrap {
    gap: 1.2rem;
  }
  html[lang="en"] .main-house__link-wrap {
    gap: 0.8rem;
  }

  .main-house__links a:hover .main-house__link-wrap,
  .main-house__links a:focus-visible .main-house__link-wrap {
    transform: translateX(-0.8rem);
  }

  .main-house__links a::after {
    right: 2.4rem;
    width: 1.8rem;
    height: 1.2rem;
  }

  .main-house__links img {
    width: 3.6rem;
    height: 3.6rem;
  }

  .main-impact {
    padding: 10rem 0;
  }

  .main-impact__inner {
    width: calc(100% - 4.8rem);
  }

  .main-impact__list {
    display: flex;
    flex-direction: column;
    gap: 3.2rem;
    width: 100%;
    max-width: 34rem;
    margin: 4.8rem auto 0;
  }

  .main-impact__list li {
    display: grid;
    grid-template-columns: 8rem 1fr;
    column-gap: 2rem;
    align-items: center;
    text-align: left;
  }

  .main-impact__list img {
    grid-row: 1 / 3;
    grid-column: 1;
    width: 6rem;
    height: 6rem;
    margin: 0;
    object-fit: contain;
    justify-self: center;
  }

  .main-impact__value {
    grid-row: 1;
    grid-column: 2;
    font-size: 4rem;
    text-align: left;
  }

  .main-impact__list span {
    grid-row: 2;
    grid-column: 2;
    margin-top: 0.6rem;
    font-size: 1.6rem;
    line-height: 1.35;
    text-align: left;
    white-space: normal;
    word-break: keep-all;
    overflow-wrap: break-word;
  }

  .main-events {
    padding: 10rem 0;
  }

  .main-events__inner {
    width: calc(100% - 4.8rem);
  }

  .main-events__head {
    display: block;
    margin-bottom: 4rem;
  }

  .main-events__head .main-section-title {
    text-align: left;
  }
  .main-events__nav {
    padding-top: 2.4rem;
  }
  .main-event-card {
    height: 40.2rem;
    border-radius: 0.6rem;
  }

  .main-event-card span {
    min-height: 9.6rem;
    padding: 2.4rem;
    font-size: 1.5rem;
  }

  .main-event-card strong {
    margin-bottom: 0.8rem;
    font-size: 1.8rem;
  }

  .main-event-card .card-text-wrap {
    height: 10rem;
    padding: 2.4rem 2rem;
    font-size: 1.6rem;
  }
  html[lang="en"] .main-event-card .card-text-wrap {
    height: 12rem;
  }
  html[lang="en"] .main-event-card:hover .card-text-wrap {
    height: 18rem;
  }
  .main-event-card:hover .card-text-wrap {
    height: 18rem;
  }

  .main-event-card .card-text-wrap .text-1,
  .main-event-card .card-text-wrap .text-2 {
    width: 100%;
  }

  .main-event-card .card-text-wrap .text-1,
  .main-event-card .card-text-wrap .text-2 {
    position: static;
    padding-right: 0;
  }
  .main-event-card .card-text-wrap .text-1 .link-text,
  .main-event-card .card-text-wrap .text-2 .link-text {
    font-size: 1.4rem;
  }
  html[lang="en"] .main-event-card:hover .card-text-wrap .text-2 p {
    min-height: 5.8rem;
  }

  .main-thanks {
    padding: 0 0 10rem;
    overflow: hidden;
  }

  .main-thanks__marquee {
    min-height: 44rem;
    margin-top: 4rem;
    padding: 5rem 0 4rem;
    background: url("/images/main/bg_section4_grid_mo.png") center top
      repeat-x;
    background-size: auto 44rem;
    overflow: visible;
  }

  .main-thanks__marquee .swiper-wrapper {
    gap: 0;
    padding: 0 1.6rem;
  }

  .main-thanks__marquee .swiper-slide {
    width: 21.8rem;
    margin-right: -0.8rem;
  }

  .main-thanks__marquee .thanks-card__bg {
    width: 25.5rem;
    height: 33rem;
  }

  .main-thanks__marquee .thanks-card__text {
    top: 2rem;
    left: 1.8rem;
    padding: 5.5rem 2rem 0 3.6rem;
    font-size: 1.4rem;
  }

  .main-thanks__marquee .card-color-1 {
    transform: rotate(-5deg);
  }
  .main-thanks__marquee .card-color-2 {
    transform: rotate(5deg);
  }
  .main-thanks__marquee .card-color-3 {
    transform: rotate(-5deg);
  }
  .main-thanks__marquee .card-color-4 {
    transform: rotate(5deg);
  }

  .main-field {
    padding: 8.8rem 0 8.8rem;
  }

  .main-field__inner {
    width: calc(100% - 4.8rem);
  }

  .main-field__grid {
    display: flex;
    flex-direction: column;
    gap: 2.4rem;
    margin: 4rem 0;
  }

  .main-field__featured,
  .main-field__list a {
    border-radius: 0.6rem;
  }

  .main-field__featured .main-field__play img {
    width: 5rem;
    height: 5rem;
  }

  .main-field__featured strong {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: normal;
    word-break: keep-all;
    line-height: 1.4;
    padding: 2.4rem 2.4rem 0;
    margin-bottom: 2.4rem;
    font-size: 1.8rem;
  }
  html[lang="en"] .main-field__featured strong {
    font-size: 1.6rem;
  }

  .main-field__list {
    gap: 2.4rem;
  }

  .main-field__list a {
    display: block;
  }

  .main-field__list img {
    width: 100%;
    height: auto;
  }

  .main-field__list span {
    display: block;
    min-height: 10.8rem;
    padding: 2.4rem;
  }

  .main-field__list strong {
    font-size: 1.8rem;
  }
  html[lang="en"] .main-field__list strong {
    font-size: 1.6rem;
  }

  .main-field__list time {
    display: block;
    margin-top: 1.8rem;
    font-size: 1.2rem;
  }

  .main-notice {
    padding: 8.8rem 0;
  }

  .main-notice__inner {
    width: calc(100% - 4.8rem);
  }

  .main-notice__list {
    margin: 4rem 0 4.8rem;
  }

  .main-notice__list a {
    grid-template-columns: minmax(0, 1fr) 3.2rem;
    min-height: 10.8rem;
    padding: 2.2rem 0;
  }

  .main-notice__title-wrap {
    padding-right: 0;
  }

  .main-notice__list strong {
    font-size: 1.8rem;
  }

  .main-notice__badge {
    width: 3.3rem;
    height: 1.6rem;
  }

  .main-notice__megaphone {
    width: 2rem;
    height: 2rem;
  }

  .main-notice__list time {
    grid-column: 1 / 2;
    grid-row: 2 / 3;
    margin-top: 0.8rem;
    font-size: 1.2rem;
  }
  html[lang="en"] .main-notice__list time {
    font-size: 1.2rem;
  }

  .main-notice__list a::after {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
    width: 1.4rem;
  }

  .main-partners {
    padding: 8.8rem 0;
  }

  .main-partners__inner {
    width: calc(100% - 4.8rem);
  }

  .main-partner-slider {
    margin-top: 4.4rem;
  }

  .main-partner-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
  }

  .main-partner-grid li {
    min-height: 3.6rem;
    border-radius: 0.2rem;
  }

  .main-partner-grid img {
    max-width: 9.9rem;
  }

  .partner-swiper-pagination {
    margin-top: 4rem !important;
    margin-bottom: 4.8rem;
  }

  .main-donate {
    padding-bottom: 0;
  }

  .main-donate__inner {
    width: 100%;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }
}
/* ==========================================================================
   메인 공지 팝업 (MA_01P) 전용 스타일
   ========================================================================== */

/* 팝업 컨테이너 — modal-container 클래스 독립 분리, flex 없는 block */
.main-popup-container {
  position: relative;
  width: 80.8rem;
  max-width: 92vw;
  padding: 0;
  background-color: transparent;
  /* modal-overlay.active에서 transform 없이 바로 표시 */
  transform: translateY(0);
}

.main-popup-container.is-single-slide {
  width: 40rem;
}

/* 각 슬라이드의 실제 컨텐츠 영역 */
.main-popup__slide-content {
  position: relative;
  width: 40rem;
  margin: 0 auto;
  border-radius: 1.6rem;
  overflow: hidden;
  background-color: #ffffff;
  box-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.2);
}

/* 닫기 버튼 */
.main-popup__close {
  top: 1.6rem;
  right: 1.6rem;
  z-index: 10;
}

/* 슬라이드 링크 */
.main-popup__slide-link {
  display: block;
  width: 100%;
  line-height: 0;
}

/* 팝업 이미지 */
.main-popup__img {
  width: 100%;
  height: auto;
  display: block;
}

/* PC/MO 이미지 전환 */
.main-popup__img--mo { display: none; }
.main-popup__img--pc { display: block; }

/* 페이지네이션 */
.main-popup-pagination {
  position: static;
  padding: 1.2rem 0 0;
  text-align: center;
  line-height: 0;
}

/* 슬라이드 1개 → dot 숨김 및 overflow 해제 (애니메이션 시 잘림 방지) */
.main-popup-swiper.is-single {
  overflow: visible;
}
.main-popup-swiper.is-single .main-popup-pagination {
  display: none;
}

/* dot 색상 */
.main-popup-pagination .swiper-pagination-bullet {
  width: 0.8rem;
  height: 0.8rem;
  background-color: var(--border-color);
  opacity: 1;
}
.main-popup-pagination .swiper-pagination-bullet-active {
  background-color: var(--primary);
}

/* 팝업 푸터 */
.main-popup__footer {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.6rem;
  padding: 2.4rem;
  background-color: #ffffff; /* 기존 베이지색 대신 흰색 */
}

/* CTA 버튼 */
.btn.main-popup__cta {
  width: 16rem;
  min-height: 5.2rem;
  font-size: 1.8rem;
}

/* 오늘 하루 그만 보기 */
.main-popup__today-close {
  min-height: 5.2rem;
  font-size: 1.8rem;
}

/* ── 모바일 (768px 이하) ─────────────────────────────── */
@media (max-width: 768px) {
  .main-popup-container,
  .main-popup-container.is-single-slide {
    width: 36rem;
    max-width: 90vw;
  }

  .main-popup__slide-content {
    width: 36rem;
    border-radius: 1.2rem;
  }

  .main-popup__img--pc { display: none; }
  .main-popup__img--mo { display: block; }

  .main-popup__footer {
    padding: 1.6rem 2rem 2rem;
    gap: 1.2rem;
  }

  .main-popup__cta {
    width: 100%;
    font-size: 1.6rem;
  }
}
