/* 사이트 공통 화면 */

/* =============================================================================
   오류 페이지 — 상태 코드·안내문·복귀 동작
   디자인 확정 전이라 KMDb 404 화면 구성을 따른다
   ============================================================================= */
.kofa-site-error {
  box-sizing: border-box;
  display: grid;
  justify-items: center;
  width: var(--kofa-layout-safe-width);
  min-height: 620px;
  margin-inline: auto;
  padding-block: 120px;
  align-content: center;
  text-align: center;
}

@media (max-width: 599px) {
  .kofa-site-error {
    min-height: 520px;
    padding-block: 80px;
  }
}

.kofa-site-error__status-code {
  margin: 0;
  color: var(--kofa-color-text-01);
  font-size: 96px;
  font-weight: var(--kofa-font-weight-bold);
  line-height: 1;
}

@media (max-width: 599px) {
  .kofa-site-error__status-code {
    font-size: 72px;
  }
}

.kofa-site-error__title {
  margin: 20px 0 0;
  word-break: keep-all;
  font-size: var(--kofa-typo-display-1-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
}

@media (max-width: 599px) {
  .kofa-site-error__title {
    font-size: var(--kofa-typo-headline-5-size);
  }
}

.kofa-site-error__guidance {
  display: grid;
  word-break: keep-all;
  margin: 16px 0 0;
  color: var(--kofa-color-text-03);
  font-size: var(--kofa-typo-body-4-size);
  line-height: var(--kofa-line-height-base);
}

@media (max-width: 599px) {
  .kofa-site-error__guidance {
    display: block;
  }
}

.kofa-site-error__actions {
  display: flex;
  justify-content: center;
  gap: 12px;
  margin-top: 40px;
}

@media (max-width: 599px) {
  .kofa-site-error__actions {
    flex-direction: column;
    justify-self: stretch;
  }
}

@media (max-width: 599px) {
  .kofa-site-error__actions .kofa-button {
    width: 100%;
  }
}

/* 개인정보처리방침 조회 — /privacy */
.kofa-site-privacy { width: var(--kofa-layout-safe-width); margin-inline: auto; min-width: 0; }

/* 통합 일정 */
.kofa-site-schedule__description {
  margin: 0;
  color: var(--kofa-color-text-02);
  font-size: var(--kofa-typo-body-5-size);
  line-height: var(--kofa-line-height-base);
  letter-spacing: var(--kofa-letter-spacing-base);
}
.kofa-site-schedule__home-navigation {
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
}
.kofa-site-schedule__home-navigation a { text-decoration: none; }
.kofa-site-schedule__schedule {
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
  padding-bottom: 80px;
}
@media (max-width: 1279px) {
  .kofa-site-schedule__schedule { padding-bottom: 64px; }
}
.kofa-site-schedule__tabs { padding-block: 20px; }
@media (max-width: 599px) {
  .kofa-site-schedule__tabs { padding-top: 0; }
}
.kofa-site-schedule__tabs--equal { display: none; }
@media (max-width: 599px) {
  .kofa-site-schedule__tabs--equal { display: block; }
}
@media (max-width: 599px) {
  .kofa-site-schedule__tabs--content { display: none; }
}
.kofa-site-schedule__layout {
  display: grid;
  grid-template-columns: minmax(0, 490fr) minmax(0, 750fr);
  align-items: start;
  gap: 40px;
  padding-top: 20px;
}
@media (max-width: 1279px) {
  .kofa-site-schedule__layout { grid-template-columns: minmax(0, 1fr); gap: 52px; padding-top: 32px; }
}
@media (max-width: 599px) {
  .kofa-site-schedule__layout { gap: 32px; padding-top: 24px; }
}
.kofa-site-schedule__calendar {
  display: flex;
  flex-direction: column;
  gap: 20px;
  min-width: 0;
}
.kofa-site-schedule__month-navigation {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 20px;
}
.kofa-site-schedule__month-button {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  flex: 0 1 31.5px;
  min-width: 0;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}
.kofa-site-schedule__month-button::before { position: absolute; top: 50%; left: 50%; width: 44px; height: 44px; transform: translate(-50%, -50%); content: ""; }
.kofa-site-schedule__month-button:focus-visible { outline: var(--kofa-outline-focus-width) solid var(--kofa-color-focus-ring); }
.kofa-site-schedule__next-arrow {
  display: grid;
  align-items: center;
  width: 31.5px;
  height: 24px;
  transform: rotate(180deg);
}
.kofa-site-schedule__next-arrow img { grid-area: 1 / 1; }
.kofa-site-schedule__month {
  margin: 0;
  font-size: var(--kofa-typo-headline-4-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
  letter-spacing: var(--kofa-letter-spacing-base);
  overflow-wrap: anywhere;
}
@media (max-width: 1279px) {
  .kofa-site-schedule__month { font-size: var(--kofa-typo-headline-compact-size); }
}
.kofa-site-schedule__date-grid {
  display: grid;
  grid-template-columns: repeat(7, minmax(0, 1fr));
  row-gap: 4px;
}
.kofa-site-schedule__weekday {
  padding-block: 10px;
  border-bottom: 1px solid var(--kofa-color-divider-02);
  font-size: var(--kofa-typo-body-3-size);
  font-weight: var(--kofa-font-weight-semibold);
  line-height: var(--kofa-line-height-base);
  text-align: center;
  letter-spacing: var(--kofa-letter-spacing-base);
}
.kofa-site-schedule__weekday--sunday { color: var(--kofa-color-text-danger); }
.kofa-site-schedule__weekday--saturday { color: var(--kofa-color-text-success); }
.kofa-site-schedule__date {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
  padding: 14px 0;
  border: 0;
  color: var(--kofa-color-text-01);
  background: var(--kofa-color-surface-white);
  font: inherit;
  cursor: pointer;
}
.kofa-site-schedule__date:focus-visible { outline: var(--kofa-outline-focus-width) solid var(--kofa-color-focus-ring); }
.kofa-site-schedule__date--outside { opacity: 0.5; }
.kofa-site-schedule__date--sunday { color: var(--kofa-color-text-danger); }
.kofa-site-schedule__date--saturday { color: var(--kofa-color-text-success); }
.kofa-site-schedule__date-number {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 24px;
  min-height: 24px;
  border-radius: var(--kofa-radius-1000);
  font-size: var(--kofa-typo-headline-1-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
  letter-spacing: var(--kofa-letter-spacing-base);
}
.kofa-site-schedule__date--selected .kofa-site-schedule__date-number {
  color: var(--kofa-color-text-white);
  background: var(--kofa-color-surface-primary);
}
.kofa-site-schedule__date-markers {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  min-height: 6px;
  flex-wrap: wrap;
  max-width: 100%;
}
.kofa-site-schedule__date-markers img { flex: none; }
.kofa-site-schedule__date-program { width: 5.25px; height: 5.25px; background: #285d8b; }
.kofa-site-schedule__date-exhibition { display: flex; align-items: center; justify-content: center; width: 6px; height: 6px; }
.kofa-site-schedule__date-exhibition span { width: 4.5px; height: 4.5px; background: #a9834c; transform: rotate(45deg); }
.kofa-site-schedule__legend {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 24px;
  padding: 0;
  margin: 4px 0 0;
  list-style: none;
  font-size: var(--kofa-typo-body-3-size);
  font-weight: var(--kofa-font-weight-semibold);
  line-height: var(--kofa-line-height-base);
  letter-spacing: var(--kofa-letter-spacing-base);
}
.kofa-site-schedule__legend li { display: flex; align-items: center; gap: 8px; }
.kofa-site-schedule__selected-day { min-width: 0; padding-left: 32px; }
@media (max-width: 1279px) {
  .kofa-site-schedule__selected-day { padding-left: 0; }
}
.kofa-site-schedule__selected-date {
  margin: 0 0 24px;
  font-size: var(--kofa-typo-headline-3-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
  letter-spacing: var(--kofa-letter-spacing-base);
}
@media (max-width: 599px) {
  .kofa-site-schedule__selected-date { margin-bottom: 20px; }
}
.kofa-site-schedule__events { padding: 0; margin: 0; list-style: none; }
.kofa-site-schedule__event {
  display: grid;
  grid-template-columns: minmax(0, 84px) minmax(0, 1fr) minmax(0, 100px);
  gap: 12px;
  align-items: center;
  padding-block: 20px;
  border-bottom: 1px solid var(--kofa-color-divider-02);
}
@media (max-width: 599px) {
  .kofa-site-schedule__event { grid-template-columns: minmax(0, 1fr); gap: 18px; padding-block: 16px; }
}
.kofa-site-schedule__event:last-child { border-bottom: 0; }
.kofa-site-schedule__category {
  display: flex;
  align-items: center;
  gap: 8px;
  align-self: start;
  font-size: var(--kofa-typo-headline-1-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
  letter-spacing: var(--kofa-letter-spacing-base);
  overflow-wrap: anywhere;
}
.kofa-site-schedule__category img { flex: none; }
.kofa-site-schedule__event-title {
  margin: 0 0 8px;
  font-size: var(--kofa-typo-headline-2-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
  letter-spacing: var(--kofa-letter-spacing-base);
  overflow-wrap: anywhere;
}
@media (max-width: 599px) {
  .kofa-site-schedule__event-title { margin-bottom: 12px; }
}
.kofa-site-schedule__event-metadata {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 6px;
  padding: 0;
  margin: 0;
  list-style: none;
  color: var(--kofa-color-text-02);
  font-size: var(--kofa-typo-body-3-size);
  line-height: var(--kofa-line-height-base);
  letter-spacing: var(--kofa-letter-spacing-base);
  overflow-wrap: anywhere;
}
.kofa-site-schedule__event-metadata li { display: inline-flex; align-items: center; gap: 6px; }
.kofa-site-schedule__event-location { color: var(--kofa-color-text-01); }
.kofa-site-schedule__event-metadata li + li::before { display: block; flex: none; width: 4px; height: 4px; border-radius: 50%; background: var(--kofa-color-divider-02); content: ""; }
.kofa-site-schedule__event-action { display: flex; justify-content: flex-end; min-width: 0; }
.kofa-site-schedule__event-action .kofa-button { width: 100px; }
@media (max-width: 599px) {
  .kofa-site-schedule__event-action .kofa-button { width: 100%; }
}
.kofa-site-schedule__empty {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 484px;
  border: 1px solid var(--kofa-color-divider-02);
  border-radius: var(--kofa-radius-16);
}
.kofa-site-schedule__description--empty { display: none; }
@media (max-width: 1279px) {
  .kofa-site-schedule__description--empty { display: block; }
}
.kofa-site-schedule__empty-message {
  display: flex;
  align-items: center;
  flex-direction: column;
  gap: 16px;
  width: min(100%, 332px);
  text-align: center;
  letter-spacing: var(--kofa-letter-spacing-base);
}
@media (max-width: 1279px) {
  .kofa-site-schedule__empty-message { gap: 8px; }
}
.kofa-site-schedule__empty-message h3 { margin: 0; font-size: var(--kofa-typo-headline-2-size); font-weight: var(--kofa-font-weight-bold); line-height: var(--kofa-line-height-base); }
@media (max-width: 1279px) {
  .kofa-site-schedule__empty-message h3 { font-size: var(--kofa-typo-headline-1-size); }
}
.kofa-site-schedule__empty-message p { margin: 0; color: var(--kofa-color-text-02); font-size: var(--kofa-typo-body-4-size); line-height: var(--kofa-line-height-base); }

@media (max-width: 1279px) {
  .kofa-site-schedule__empty-message p { font-size: var(--kofa-typo-body-3-size); }
}

.kofa-site-schedule__category-marker { display: flex; align-items: center; justify-content: center; flex: none; width: 8px; height: 8px; }
.kofa-site-schedule__category-marker img { flex: none; max-width: none; }

/* =============================================================================
   FIAF 선언 — /fiaf-declaration
   ============================================================================= */

.kofa-site-fiaf {
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
  padding-bottom: 80px;
  color: var(--kofa-color-text-01);
  font-size: var(--kofa-typo-body-5-size);
  font-weight: var(--kofa-font-weight-regular);
  line-height: 1.8;
  letter-spacing: var(--kofa-letter-spacing-base);
  overflow-wrap: break-word;
}

@media (max-width: 1279px) {
  .kofa-site-fiaf {
    padding-block: 32px 64px;
  }
}

@media (max-width: 599px) {
  .kofa-site-fiaf {
    padding-top: 24px;
  }
}

.kofa-site-fiaf p {
  margin: 0;
}

.kofa-site-fiaf__title {
  margin: 0;
  padding-block: 20px 12px;
  /* 원본은 높이 0인 중앙 2px stroke이므로 문서 높이를 늘리지 않는다. */
  box-shadow: 0 1px 0 var(--kofa-color-divider-02), inset 0 -1px 0 var(--kofa-color-divider-02);
  font-size: var(--kofa-typo-headline-4-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
}

@media (max-width: 1279px) {
  .kofa-site-fiaf__title {
    font-size: var(--kofa-typo-headline-compact-size);
  }
}

.kofa-site-fiaf__introduction {
  display: flex;
  flex-direction: column;
  gap: 1.8em;
  padding-block: 20px;
}

@media (max-width: 1279px) {
  .kofa-site-fiaf__introduction {
    padding-top: 44px;
  }
}

.kofa-site-fiaf__highlight {
  margin-bottom: 20px;
  padding: 24px 32px;
  border-radius: 16px;
  background: var(--kofa-color-surface-gray-subtle);
}

@media (max-width: 1279px) {
  .kofa-site-fiaf__highlight {
    margin-top: 24px;
  }
}

@media (max-width: 599px) {
  .kofa-site-fiaf__highlight {
    padding-inline: 16px;
  }
}

.kofa-site-fiaf__strategy {
  padding-bottom: 20px;
}

@media (max-width: 1279px) {
  .kofa-site-fiaf__strategy {
    padding-top: 24px;
  }
}

.kofa-site-fiaf__subtitle {
  margin: 0;
  padding-block: 12px;
  font-size: var(--kofa-typo-headline-3-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
}

@media (max-width: 1279px) {
  .kofa-site-fiaf__subtitle {
    padding-top: 52px;
  }
}

@media (max-width: 599px) {
  .kofa-site-fiaf__subtitle {
    padding-top: 44px;
  }
}

.kofa-site-fiaf__reasons {
  margin: 0;
  padding: 0 0 20px;
  list-style: none;
  counter-reset: fiaf-reason;
}

@media (max-width: 1279px) {
  .kofa-site-fiaf__reasons {
    padding-top: 16px;
  }
}

.kofa-site-fiaf__reasons li {
  counter-increment: fiaf-reason;
}

.kofa-site-fiaf__reasons li::before {
  content: counter(fiaf-reason) ". ";
}

.kofa-site-fiaf__conclusion {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding-bottom: 20px;
}

@media (max-width: 1279px) {
  .kofa-site-fiaf__conclusion {
    padding-top: 24px;
  }
}

.kofa-site-fiaf__note {
  color: var(--kofa-color-text-02);
}

.kofa-site-fiaf__acknowledgements {
  width: 100%;
}

@media (max-width: 1279px) {
  .kofa-site-fiaf__acknowledgements {
    padding-top: 40px;
  }
}

@media (max-width: 599px) {
  .kofa-site-fiaf__acknowledgements {
    padding-top: 32px;
  }
}

.kofa-site-fiaf__credits {
  margin: 0;
  padding-block: 10px;
  padding-inline: 0;
  list-style: none;
}

@media (max-width: 1279px) {
  .kofa-site-fiaf__credits {
    padding-top: 26px;
  }
}

.kofa-site-fiaf__credit {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  padding-block: 10px;
  color: var(--kofa-color-text-02);
}

.kofa-site-fiaf__credit p {
  flex: 1;
  min-width: 0;
}

.kofa-site-fiaf__bullet {
  flex: 0 0 24px;
  width: 24px;
  height: 24px;
}

/* ===== copyright ===== */
/* 저작권정책 조회 — /copyright */
.kofa-site-copyright {
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
  padding-block: 20px 100px;
  color: var(--kofa-color-text-01);
  font-size: var(--kofa-typo-body-5-size);
  line-height: 1.8;
  letter-spacing: var(--kofa-letter-spacing-base);
}
@media (max-width: 1279px) {
  .kofa-site-copyright {
    display: flex;
    flex-direction: column;
    gap: 40px;
    padding-block: 32px 64px;
    line-height: 1.5;
  }
}
@media (max-width: 599px) {
  .kofa-site-copyright {
    gap: 32px;
    padding-top: 24px;
  }
}
.kofa-site-copyright__introduction {
  margin: 0 0 20px;
}
@media (max-width: 1279px) {
  .kofa-site-copyright__introduction { margin: 0; }
}
.kofa-site-copyright__policy {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1279px) {
  .kofa-site-copyright__policy { gap: 16px; }
}
.kofa-site-copyright__policy-introduction {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1279px) {
  .kofa-site-copyright__policy-introduction { gap: 12px; }
}
.kofa-site-copyright__heading {
  margin: 0;
  padding-block: 20px 12px;
  font-size: var(--kofa-typo-headline-4-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: 1.5;
}
@media (max-width: 1279px) {
  .kofa-site-copyright__heading {
    padding: 0;
    font-size: 22px;
  }
}
.kofa-site-copyright__heading--ruled {
  background: linear-gradient(var(--kofa-color-divider-02), var(--kofa-color-divider-02)) left bottom / 100% 1px no-repeat;
}
@media (max-width: 1279px) {
  .kofa-site-copyright__heading--ruled { padding-bottom: 8px; }
}
.kofa-site-copyright__description {
  margin: 0;
  padding-block: 12px;
}
@media (max-width: 1279px) {
  .kofa-site-copyright__description {
    padding: 0;
  }
}
.kofa-site-copyright__conditions {
  margin: 0;
  padding: 0;
  list-style: none;
}
.kofa-site-copyright__condition {
  display: flex;
  align-items: center;
  gap: 4px;
  padding-block: 6px;
}
@media (max-width: 1279px) {
  .kofa-site-copyright__condition { padding-block: 8px; }
}
.kofa-site-copyright__condition::before {
  content: "";
  flex: 0 0 24px;
  height: 24px;
  background: url("/icons/site/copyright/bullet.svg") center no-repeat;
}
.kofa-site-copyright__section {
  display: flex;
  flex-direction: column;
}
@media (max-width: 1279px) {
  .kofa-site-copyright__section { gap: 16px; }
}
.kofa-site-copyright__scroll {
  min-width: 0;
  margin-block: 20px;
  overflow-x: auto;
}
@media (max-width: 1279px) {
  .kofa-site-copyright__scroll { margin: 0; }
}
@media (max-width: 599px) {
  .kofa-site-copyright__scroll { padding-bottom: 8px; }
}
.kofa-site-copyright__scroll::-webkit-scrollbar {
  height: 8px;
}
.kofa-site-copyright__scroll::-webkit-scrollbar-track {
  border-radius: 4px;
  background: var(--kofa-color-divider-02);
}
.kofa-site-copyright__scroll::-webkit-scrollbar-thumb {
  border-radius: 4px;
  background: var(--kofa-color-text-02);
}
.kofa-site-copyright__table {
  width: 100%;
}
.kofa-site-copyright__table--licensed {
  --kofa-site-copyright-columns: 300px minmax(0, 1fr) minmax(0, 1fr) 170px;
}
@media (max-width: 1279px) {
  .kofa-site-copyright__table--licensed { --kofa-site-copyright-columns: 23.3051% 28.6017% 34.9576% 13.1356%; }
}
@media (max-width: 599px) {
  .kofa-site-copyright__table--licensed {
    width: 760px;
    --kofa-site-copyright-columns: 180px 220px 250px 110px;
  }
}
.kofa-site-copyright__table--restricted {
  --kofa-site-copyright-columns: repeat(3, minmax(0, 1fr));
}
@media (max-width: 1279px) {
  .kofa-site-copyright__table--restricted { --kofa-site-copyright-columns: 31.7797% 29.661% 38.5593%; }
}
@media (max-width: 599px) {
  .kofa-site-copyright__table--restricted {
    width: 640px;
    --kofa-site-copyright-columns: 220px 190px 230px;
  }
}
.kofa-site-copyright__table--contacts {
  --kofa-site-copyright-columns: minmax(0, 1fr) minmax(0, 1fr) 250px;
}
@media (max-width: 1279px) {
  .kofa-site-copyright__table--contacts { --kofa-site-copyright-columns: 32.839% 41.3136% 25.8474%; }
}
@media (max-width: 599px) {
  .kofa-site-copyright__table--contacts {
    width: 680px;
    --kofa-site-copyright-columns: 220px 280px 180px;
  }
}
.kofa-site-copyright__row {
  display: grid;
  grid-template-columns: var(--kofa-site-copyright-columns);
}
.kofa-site-copyright__note {
  margin: 0;
  font-size: var(--kofa-typo-body-3-size);
  line-height: 1.8;
}
/* ===== /copyright ===== */

/* 통합검색 결과 화면 */
.kofa-search {
  letter-spacing: var(--kofa-letter-spacing-base);
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
  padding-block: 30px 80px;
}
@media (max-width: 1279px) {
  .kofa-search { padding-block: 32px 64px; }
}
@media (max-width: 599px) {
  .kofa-search { padding-top: 24px; }
}
.kofa-search .kofa-search__form { margin-bottom: 48px; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__form { margin-bottom: 40px; }
}
.kofa-search .kofa-search__summary { display: flex; align-items: center; flex-wrap: wrap; gap: 8px; margin: 0; padding-block: 10px; font-size: 24px; font-weight: 700; line-height: 1.5; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__summary { padding: 0; font-size: 20px; }
}
@media (max-width: 599px) {
  .kofa-search .kofa-search__summary { font-size: 22px; }
}
.kofa-search .kofa-search__total { color: var(--kofa-color-text-secondary-red); font-size: 20px; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__total { font-size: 18px; }
}
@media (max-width: 599px) {
  .kofa-search .kofa-search__total { font-size: 20px; }
}
.kofa-search .kofa-search__categories { padding-block: 20px; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__categories { margin-top: 12px; margin-bottom: 32px; }
}
@media (max-width: 599px) {
  .kofa-search .kofa-search__categories { margin-bottom: 24px; }
}
.kofa-search .kofa-search__tabs { width: 100%; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__tabs { display: none; }
}
.kofa-search .kofa-search__selection { display: none; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__selection { display: block; }
}
.kofa-search .kofa-search__selection-control--tablet { display: block; }
@media (max-width: 599px) {
  .kofa-search .kofa-search__selection-control--tablet { display: none; }
}
.kofa-search .kofa-search__selection-control--mobile { display: none; }
@media (max-width: 599px) {
  .kofa-search .kofa-search__selection-control--mobile { display: block; }
}
.kofa-search .kofa-search__sections { display: grid; gap: 40px; padding-top: 20px; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__sections { gap: 32px; padding-top: 0; }
}
.kofa-search .kofa-search__section { min-width: 0; }
.kofa-search .kofa-search__section-heading { display: flex; align-items: center; justify-content: space-between; gap: 6px; padding-block: 10px 20px; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__section-heading { padding: 0; margin-bottom: 12px; }
}
.kofa-search .kofa-search__section-title { display: flex; align-items: center; gap: 6px; margin: 0; font-size: 20px; font-weight: 700; line-height: 1.5; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__section-title { font-size: 18px; }
}
.kofa-search .kofa-search__count { color: var(--kofa-color-text-03); }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__count { display: none; }
}
.kofa-search .kofa-search__compact-count { display: none; color: var(--kofa-color-text-03); }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__compact-count { display: inline; }
}
.kofa-search .kofa-search__more { display: inline-flex; align-items: center; gap: 5px; color: var(--kofa-color-text-01); font-size: 16px; line-height: 1.5; text-decoration: none; }
.kofa-search .kofa-search__rows { list-style: none; margin: 0; padding: 0; }
.kofa-search .kofa-search__rows--standard { display: block; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__rows--standard { display: none; }
}
@media (max-width: 599px) {
  .kofa-search .kofa-search__rows--standard { display: block; }
}
.kofa-search .kofa-search__rows--tablet { display: none; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__rows--tablet { display: block; }
}
@media (max-width: 599px) {
  .kofa-search .kofa-search__rows--tablet { display: none; }
}
.kofa-search .kofa-search__row { display: flex; align-items: flex-start; gap: 16px; padding-block: 20px; border-bottom: 1px solid var(--kofa-color-divider-02); }
@media (max-width: 599px) {
  .kofa-search .kofa-search__row { gap: 10px; }
}
.kofa-search .kofa-search__section--menu .kofa-search__row { align-items: center; padding-block: 16px; }
@media (max-width: 599px) {
  .kofa-search .kofa-search__section--menu .kofa-search__row { gap: 12px; }
}
.kofa-search .kofa-search__row--extra { display: none; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__row--extra { display: flex; }
}
.kofa-search .kofa-search__bullet { flex: 0 0 24px; width: 24px; height: 24px; }
.kofa-search .kofa-search__result { display: flex; flex: 1; flex-direction: column; gap: 12px; min-width: 0; color: var(--kofa-color-text-01); text-decoration: none; }
.kofa-search .kofa-search__headline { display: flex; align-items: center; gap: 10px; min-width: 0; }
.kofa-search .kofa-search__result-title { overflow: hidden; margin: 0; font-size: 20px; font-weight: 700; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.kofa-search .kofa-search__match { color: var(--kofa-color-text-information); background: var(--kofa-color-surface-success-subtle); font-weight: 700; }
.kofa-search .kofa-search__match--excerpt { background: var(--kofa-color-surface-information-subtle); }
.kofa-search .kofa-search__date { flex: 0 0 auto; color: var(--kofa-color-text-02); font-size: 18px; line-height: 1.5; }
@media (max-width: 599px) {
  .kofa-search .kofa-search__date { display: none; }
}
.kofa-search .kofa-search__excerpt { overflow: hidden; margin: 0; color: var(--kofa-color-text-02); font-size: 18px; line-height: 1.5; text-overflow: ellipsis; white-space: nowrap; }
.kofa-search .kofa-search__path { display: flex; flex-wrap: wrap; gap: 4px; }
.kofa-search .kofa-search__path--menu { align-items: center; }
.kofa-search .kofa-search__trailing-date { display: none; color: var(--kofa-color-text-02); font-size: 16px; line-height: 1.5; }
@media (max-width: 599px) {
  .kofa-search .kofa-search__trailing-date { display: block; }
}
.kofa-search .kofa-search__empty { display: flex; flex-direction: column; align-items: center; gap: 16px; padding-block: 200px; text-align: center; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__empty { padding-block: 120px; gap: 8px; }
}
@media (max-width: 599px) {
  .kofa-search .kofa-search__empty { padding-block: 80px; }
}
.kofa-search .kofa-search__empty-title { margin: 0; font-size: 18px; font-weight: 700; line-height: 1.5; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__empty-title { font-size: 16px; }
}
@media (max-width: 599px) {
  .kofa-search .kofa-search__empty-title { font-size: 16px; }
}
.kofa-search .kofa-search__empty-help { margin: 0; color: var(--kofa-color-text-02); font-size: 16px; line-height: 1.5; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__empty-help { font-size: 14px; }
}
@media (max-width: 599px) {
  .kofa-search .kofa-search__empty-help { font-size: 14px; }
}
.kofa-search .kofa-search__pagination { display: flex; justify-content: center; padding-top: 60px; }
@media (max-width: 1279px) {
  .kofa-search .kofa-search__pagination { padding-top: 40px; }
}

.kofa-search .kofa-search__date-divider { flex: 0 0 1px; width: 1px; height: 16px; background: var(--kofa-color-divider-02); }
@media (max-width: 599px) {
  .kofa-search .kofa-search__date-divider { display: none; }
}

.kofa-search .kofa-search__depth-standard { display: inline; }
@media (max-width: 599px) {
  .kofa-search .kofa-search__depth-standard { display: none; }
}
.kofa-search .kofa-search__depth-compact { display: none; }
@media (max-width: 599px) {
  .kofa-search .kofa-search__depth-compact { display: inline; }
}

.kofa-search.kofa-search--empty { padding-bottom: 20px; }
@media (max-width: 1279px) {
  .kofa-search.kofa-search--empty { padding-bottom: 64px; }
}
.kofa-search--empty .kofa-search__section-title,
.kofa-search--post .kofa-search__section-title { font-size: 20px; }
@media (max-width: 599px) {
  .kofa-search--empty .kofa-search__summary { font-size: 20px; }
}
@media (max-width: 599px) {
  .kofa-search--empty .kofa-search__total { font-size: 18px; }
}

/* 사이트맵 — 공용 site map 승격 전 페이지 구현 */
.kofa-site-sitemap {
  letter-spacing: var(--kofa-letter-spacing-base);
}

.kofa-site-sitemap__guidance {
  width: var(--kofa-layout-safe-width);
  margin: 0 auto;
  padding-block: 20px;
  font-size: var(--kofa-typo-headline-3-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
}

@media (max-width: 1279px) {
  .kofa-site-sitemap__guidance {
    padding-block: 32px 0;
  }
}

@media (max-width: 599px) {
  .kofa-site-sitemap__guidance {
    padding-top: 24px;
  }
}

.kofa-site-sitemap__categories {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 40px 16px;
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
  padding-block: 20px 100px;
}

@media (max-width: 1279px) {
  .kofa-site-sitemap__categories {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    row-gap: 24px;
    padding-block: 32px 64px;
  }
}

@media (max-width: 599px) {
  .kofa-site-sitemap__categories {
    grid-template-columns: minmax(0, 1fr);
    padding-top: 24px;
  }
}

.kofa-site-sitemap__category {
  overflow: hidden;
  min-width: 0;
  border: 1px solid var(--kofa-color-divider-02);
  border-radius: var(--kofa-radius-16);
  background: var(--kofa-color-surface-white);
}

.kofa-site-sitemap__category-title {
  margin: 0;
  padding: 14px 16px;
  background: var(--kofa-color-surface-primary);
  color: var(--kofa-color-text-white);
  font-size: var(--kofa-typo-headline-2-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
  text-align: center;
}

.kofa-site-sitemap__menus {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kofa-site-sitemap__menu {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 16px;
  border-bottom: 1px solid var(--kofa-color-divider-02);
  color: var(--kofa-color-text-01);
  font-size: var(--kofa-typo-headline-2-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
  text-decoration: none;
}

.kofa-site-sitemap__category:last-child .kofa-site-sitemap__menus > li:last-child > .kofa-site-sitemap__menu {
  border-bottom: 0;
}

.kofa-site-sitemap__submenus {
  margin: 0;
  padding: 0;
  list-style: none;
}

.kofa-site-sitemap__submenu {
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 12px 16px;
  background: var(--kofa-color-surface-gray-subtle);
  color: var(--kofa-color-text-01);
  font-size: var(--kofa-typo-body-4-size);
  font-weight: var(--kofa-font-weight-semibold);
  line-height: var(--kofa-line-height-base);
  text-decoration: none;
}

.kofa-site-sitemap__category img {
  flex: 0 0 auto;
  display: block;
}

/* 뷰어 다운로드 */
.kofa-site-viewer-download {
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
  padding-bottom: 80px;
  letter-spacing: var(--kofa-letter-spacing-base);
}
@media (max-width: 1279px) {
  .kofa-site-viewer-download {
    padding-block: 32px 64px;
  }
}
@media (max-width: 599px) {
  .kofa-site-viewer-download {
    padding-top: 24px;
  }
}
.kofa-site-viewer-download__description {
  margin: 0;
  padding-block: 20px;
  color: var(--kofa-color-text-01);
  font-size: var(--kofa-typo-body-5-size);
  line-height: var(--kofa-line-height-base);
}
@media (max-width: 1279px) {
  .kofa-site-viewer-download__description {
    padding: 0;
    margin-bottom: 24px;
    line-height: 1.8;
  }
}
.kofa-site-viewer-download__notice {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  padding: 16px 32px;
  border-radius: var(--kofa-radius-16);
  background: var(--kofa-color-surface-information-subtle);
  color: var(--kofa-color-text-01);
  font-size: var(--kofa-typo-body-4-size);
  line-height: var(--kofa-line-height-base);
}
@media (max-width: 1279px) {
  .kofa-site-viewer-download__notice {
    padding-inline: 24px;
  }
}
@media (max-width: 599px) {
  .kofa-site-viewer-download__notice {
    padding-inline: 16px;
  }
}
.kofa-site-viewer-download__notice img {
  flex: 0 0 24px;
}
.kofa-site-viewer-download__notice p {
  min-width: 0;
  margin: 0;
}
.kofa-site-viewer-download__notice strong {
  font-weight: var(--kofa-font-weight-semibold);
}
.kofa-site-viewer-download__programs {
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding-block: 40px 20px;
}
@media (max-width: 1279px) {
  .kofa-site-viewer-download__programs {
    padding-block: 24px 0;
  }
}
.kofa-site-viewer-download__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
}
@media (max-width: 599px) {
  .kofa-site-viewer-download__cards {
    grid-template-columns: minmax(0, 1fr);
    gap: 12px;
  }
}
.kofa-site-viewer-download__card {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: start;
  padding: 20px;
  border: 1px solid var(--kofa-color-divider-02);
  border-radius: var(--kofa-radius-16);
  background: var(--kofa-color-surface-white);
}
@media (max-width: 599px) {
  .kofa-site-viewer-download__card {
    gap: 16px 12px;
    padding: 16px;
  }
}
.kofa-site-viewer-download__viewer-icon {
  display: flex;
  flex: 0 0 44px;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
}
.kofa-site-viewer-download__program-info {
  display: flex;
  flex: 1;
  flex-direction: column;
  gap: 6px;
  min-width: min-content;
}
.kofa-site-viewer-download__program-info h2 {
  margin: 0;
  color: var(--kofa-color-text-01);
  font-size: var(--kofa-typo-headline-2-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: var(--kofa-line-height-base);
}
@media (max-width: 1279px) {
  .kofa-site-viewer-download__program-info h2 {
    font-size: var(--kofa-typo-headline-1-size);
  }
}
.kofa-site-viewer-download__program-info p {
  margin: 0;
  color: var(--kofa-color-text-02);
  font-size: var(--kofa-typo-body-3-size);
  line-height: var(--kofa-line-height-base);
}
.kofa-site-viewer-download__download {
  margin-left: auto;
}
@media (max-width: 599px) {
  .kofa-site-viewer-download__download {
    width: 100%;
  }
}
.kofa-site-viewer-download__contact {
  margin: 0;
  color: var(--kofa-color-text-02);
  font-size: var(--kofa-typo-body-3-size);
  line-height: var(--kofa-line-height-base);
}

/* 메인 퍼블리싱 */
.kofa-site-home__accessible-title {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}

/* 홈메인 — 배너와 오늘 일정 */
.kofa-site-home {
  --kofa-site-home-press-color: #b36200;
  background: var(--kofa-color-black);
  line-height: var(--kofa-line-height-base);
  letter-spacing: var(--kofa-letter-spacing-base);
}

/* 페이지 한정 밴드 예외: 사용자 결정(2026-10-19)에 따라 히어로도 오늘의 일정과 같은 899px 이하 모바일 배치를 쓴다. */
.kofa-site-home-hero {
  box-sizing: border-box;
  position: relative;
  isolation: isolate;
  overflow-x: clip;
  overflow-y: visible;
  height: 700px;
  touch-action: pan-y pinch-zoom;
  padding-block: 161px 0;
  color: var(--kofa-color-text-white);
}

html[lang="en"] .kofa-site-home-hero {
  height: auto;
  min-height: 700px;
}

@media (max-width: 1279px) {
  html[lang="en"] .kofa-site-home-hero {
    min-height: 0;
  }
}

@media (max-width: 1279px) {
  .kofa-site-home-hero {
    z-index: 1;
    height: 438px;
    padding-top: 86px;
  }
}

@media (max-width: 899px) {
  .kofa-site-home-hero {
    height: 751px;
    padding-top: 356px;
    padding-bottom: 40px;
  }
}

.kofa-site-home-hero__banner-link {
  position: absolute;
  z-index: 1;
  inset: 0;
  cursor: pointer;
  user-select: none;
}

.kofa-site-home-hero__banner-link:focus-visible {
  outline: var(--kofa-outline-focus-width) solid var(--kofa-color-focus-ring);
  outline-offset: var(--kofa-outline-focus-offset);
}

.kofa-site-home-hero[data-carousel-dragging] .kofa-site-home-hero__banner-link {
  cursor: grabbing;
}

.kofa-site-home-hero__programme {
  position: relative;
  z-index: 2;
}

.kofa-site-home-hero__slides {
  display: grid;
}

.kofa-site-home-hero__slide {
  grid-area: 1 / 1;
  min-width: 0;
  opacity: 1;
  visibility: visible;
  transition: opacity 400ms ease, visibility 400ms;
}

@media (prefers-reduced-motion: reduce) {
  .kofa-site-home-hero__slide {
    transition: none;
  }
}

.kofa-site-home-hero__slide[hidden] {
  display: block;
  height: 0;
  min-height: 0;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: none;
}

.kofa-site-home-hero__visual {
  position: absolute;
  z-index: -1;
  top: 10px;
  right: -74px;
  left: calc(50% - 405px);
  width: auto;
  height: 826px;
}

@media (max-width: 1279px) {
  .kofa-site-home-hero__visual {
    top: 32px;
    right: auto;
    left: max(154px, calc(100% - 646px));
    width: 784px;
    height: 440px;
  }
}

@media (max-width: 899px) {
  .kofa-site-home-hero__visual {
    top: 0;
    right: auto;
    left: max(calc(50% - 297.5px), calc(100% - 595px));
    width: 595px;
    height: 615px;
  }
}

.kofa-site-home-hero__visual::after {
  position: absolute;
  inset: 0;
  content: "";
  pointer-events: none;
  background: linear-gradient(180deg, transparent 50%, #000 82.4455%), linear-gradient(0deg, transparent 85.6538%, #000 98.8439%), linear-gradient(90deg, transparent 79.3259%, #000 101.697%), linear-gradient(270deg, transparent 71.4385%, #000 101.3889%);
}

.kofa-site-home-hero__image {
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
}

@media (max-width: 899px) {
  .kofa-site-home-hero__image {
    object-position: center;
  }
}

.kofa-site-home-hero__copy {
  position: relative;
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
}

/* 제목·설명 두 줄과 기존 간격을 확보해 짧은 문구 아래에 여백을 남긴다. */
.kofa-site-home-hero__link {
  display: flow-root;
  box-sizing: border-box;
  position: relative;
  padding-top: 33px;
  min-height: calc(33px + 24px + var(--kofa-typo-display-2-size) * 3 + 8px + var(--kofa-typo-body-5-size) * 3 + 40px);
  color: inherit;
  text-decoration: none;
}

@media (max-width: 1279px) {
  .kofa-site-home-hero__link {
    min-height: calc(33px + 24px + var(--kofa-typo-display-2-size-mobile) * 3 + 8px + var(--kofa-typo-body-5-size) * 3 + 40px);
  }
}

@media (max-width: 899px) {
  .kofa-site-home-hero__link {
    min-height: calc(33px + 24px + var(--kofa-typo-display-2-size-mobile) * 3 + 8px + var(--kofa-typo-body-5-size) * 3 + 24px);
  }
}

.kofa-site-home-hero__category-period {
  position: absolute;
  bottom: calc(100% - 33px);
  left: 0;
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px;
  font-size: var(--kofa-typo-body-3-size);
  line-height: 1.5;
}

.kofa-site-home-hero__categories {
  display: contents;
}

.kofa-site-home-hero__category {
  display: inline-flex;
  align-items: center;
  padding: 6px 8px;
  border-radius: var(--kofa-radius-43);
  background: var(--kofa-color-information-700);
  font-weight: var(--kofa-font-weight-semibold);
}

.kofa-site-home-hero h2 {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  margin: 24px 0 8px;
  font-size: var(--kofa-typo-display-2-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: 1.5;
  overflow-wrap: anywhere;
}

html[lang="en"] .kofa-site-home-hero h2 {
  word-break: normal;
}

@media (max-width: 1279px) {
  .kofa-site-home-hero h2 {
    font-size: var(--kofa-typo-display-2-size-mobile);
  }
}

@media (max-width: 899px) {
  .kofa-site-home-hero h2 {
    width: 100%;
    margin-left: 2px;
    word-break: keep-all;
  }
}

.kofa-site-home-hero__copy p {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow-wrap: anywhere;
  margin: 0 0 40px;
  font-size: var(--kofa-typo-body-5-size);
  font-weight: var(--kofa-font-weight-semibold);
  line-height: 1.5;
  opacity: .8;
}

html[lang="en"] .kofa-site-home-hero__copy p {
  overflow-wrap: anywhere;
  word-break: normal;
}

@media (max-width: 899px) {
  .kofa-site-home-hero__copy p {
    width: 100%;
    margin-left: 2px;
    margin-bottom: 24px;
  }
}

.kofa-site-home-hero__controls {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  gap: 18px;
  width: var(--kofa-layout-safe-width);
  margin: 100px auto 0;
}

@media (max-width: 1279px) {
  .kofa-site-home-hero__controls {
    gap: 8px;
  }
}

@media (max-width: 899px) {
  .kofa-site-home-hero__controls {
    box-sizing: border-box;
    padding-left: 2px;
    margin-top: 44px;
  }
}

.kofa-site-home-hero__arrow {
  display: inline-grid;
  place-items: center;
  position: relative;
  flex: 0 0 43px;
  width: 43px;
  height: 32px;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  cursor: pointer;
}

@media (max-width: 1279px) {
  .kofa-site-home-hero__arrow {
    flex-basis: 31.5px;
    width: 31.5px;
    height: 24px;
  }
}

.kofa-site-home-hero__arrow::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
  content: "";
}

.kofa-site-home-hero__arrow img {
  display: block;
  width: 43px;
  height: 32px;
  pointer-events: none;
}

@media (max-width: 1279px) {
  .kofa-site-home-hero__arrow img {
    width: 31.5px;
    height: 24px;
  }
}

.kofa-site-home-hero__arrow:hover {
  opacity: .7;
}

.kofa-site-home-hero__arrow:focus-visible {
  outline: var(--kofa-outline-focus-width) solid var(--kofa-color-focus-ring);
  outline-offset: var(--kofa-outline-focus-offset);
}

.kofa-site-home-hero__arrow:disabled {
  opacity: .4;
  cursor: default;
}

.kofa-site-home-hero__play {
  position: relative;
  display: inline-grid;
  place-items: center;
  flex: 0 0 32px;
  width: 32px;
  height: 32px;
  margin-left: 2px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

@media (max-width: 1279px) {
  .kofa-site-home-hero__play {
    flex-basis: 24px;
    width: 24px;
    height: 24px;
  }
}

.kofa-site-home-hero__play::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 44px;
  height: 44px;
  transform: translate(-50%, -50%);
  content: "";
}

.kofa-site-home-hero__play:hover {
  opacity: .7;
}

.kofa-site-home-hero__play:focus-visible {
  outline: var(--kofa-outline-focus-width) solid var(--kofa-color-focus-ring);
  outline-offset: var(--kofa-outline-focus-offset);
}

.kofa-site-home-hero__play:disabled {
  opacity: .4;
  cursor: default;
}

.kofa-site-home-hero__play span {
  box-sizing: border-box;
  display: grid;
  place-items: center;
  width: 32px;
  height: 32px;
  border: 1.5px solid rgb(255 255 255 / 50%);
  border-radius: 50%;
  pointer-events: none;
}

@media (max-width: 1279px) {
  .kofa-site-home-hero__play span {
    width: 24px;
    height: 24px;
  }
}

.kofa-site-home-hero__indicators {
  position: absolute;
  z-index: 2;
  right: 0;
  bottom: 17px;
  left: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  height: 8px;
}

@media (max-width: 1279px) {
  .kofa-site-home-hero__indicators {
    display: none;
  }
}

.kofa-site-home-hero__indicator {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: 16px;
  height: 44px;
  padding: 0 4px;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.kofa-site-home-hero__indicator[hidden] {
  display: none;
}

.kofa-site-home-hero__indicator--small {
  width: 14px;
}

.kofa-site-home-hero__indicator[aria-current="true"] {
  width: 26px;
}

.kofa-site-home-hero__indicator span {
  width: 8px;
  height: 8px;
  border-radius: 4px;
  background: var(--kofa-color-white);
  pointer-events: none;
  transition: width 240ms ease-out, height 240ms ease-out;
}

@media (prefers-reduced-motion: reduce) {
  .kofa-site-home-hero__indicator span {
    transition: none;
  }
}

.kofa-site-home-hero__indicator--small span {
  width: 6px;
  height: 6px;
}

.kofa-site-home-hero__indicator[aria-current="true"] span {
  width: 18px;
}

.kofa-site-home-hero__indicator:hover {
  opacity: .7;
}

.kofa-site-home-hero__indicator:focus-visible {
  outline: var(--kofa-outline-focus-width) solid var(--kofa-color-focus-ring);
  outline-offset: var(--kofa-outline-focus-offset);
}

/*
 * 페이지 한정 밴드 예외: 오늘의 일정(today·events·external)은 899px 이하에서 모바일 배치를 쓴다.
 * tablet 배치(날짜 블록 + 목록 가로)는 600~약 700px에서 제목이 49px까지 줄어 말줄임·글자 단위 줄바꿈이 났다.
 * 시안은 1024·375뿐이라 사이 폭 근거가 없고, 다른 홈 영역은 tablet 배치로 깨지지 않아 이 영역만 옮긴다(사용자 지시 2026-10-16).
 */
.kofa-site-home-today {
  /* 라이브러리 스타일 없음, 단발 값: 날짜 장식 숫자 */ --kofa-site-home-date-size: 80px;
  --kofa-site-home-today-background-height: 468px;
  position: relative;
  isolation: isolate;
  padding-top: 117px;
  padding-bottom: 9px;
  color: var(--kofa-color-text-white);
  background: linear-gradient(180deg, transparent var(--kofa-site-home-today-background-height), var(--kofa-color-surface-white) var(--kofa-site-home-today-background-height));
}

@media (max-width: 1279px) {
  .kofa-site-home-today {
    --kofa-site-home-today-background-height: 467px;
    padding-top: 139px;
    padding-bottom: 0;
  }
}

@media (max-width: 899px) {
  .kofa-site-home-today {
    --kofa-site-home-date-size: 50px;
    /* 시안의 흰 공지 영역이 검은 배경 레이어를 덮는 지점 */
    --kofa-site-home-today-background-height: 383px;
    padding-top: 32px;
  }
}

.kofa-site-home-today--expanded {
  padding-bottom: 23px;
}

.kofa-site-home-today--empty {
  padding-bottom: 0;
}

@media (max-width: 899px) {
  .kofa-site-home-today--empty {
    --kofa-site-home-today-background-height: 681px;
  }
}

@media (max-width: 1279px) {
  .kofa-site-home-today--expanded {
    padding-bottom: 0;
  }
}

.kofa-site-home-today__heading {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 24px;
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
}

@media (max-width: 899px) {
  .kofa-site-home-today__heading {
    gap: 12px;
  }
}

.kofa-site-home-today__title-count {
  display: flex;
  padding-left: 2px;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

@media (max-width: 1279px) {
  .kofa-site-home-today__title-count {
    padding-left: 0;
    gap: 8px;
  }
}

.kofa-site-home-today h2 {
  margin: 0;
  font-size: var(--kofa-typo-headline-6-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: 1.5;
}

@media (max-width: 1279px) {
  .kofa-site-home-today h2 {
    font-size: var(--kofa-typo-headline-6-size-mobile);
  }
}

@media (max-width: 899px) {
  .kofa-site-home-today h2 {
    font-size: var(--kofa-typo-headline-compact-size);
    white-space: nowrap;
  }
}

.kofa-site-home-today__calendar-icon {
  display: block;
  flex: 0 0 20px;
}

.kofa-site-home-today__date-list {
  display: grid;
  grid-template-columns: 203px minmax(0, 1fr);
  align-items: center;
  gap: 47px;
  width: var(--kofa-layout-safe-width);
  min-height: 245px;
  margin: 37px auto 0;
}

@media (max-width: 1279px) {
  .kofa-site-home-today__date-list {
    grid-template-columns: 183px minmax(0, 1fr);
    gap: 30px;
    margin-top: 40px;
  }
}

@media (max-width: 899px) {
  .kofa-site-home-today__date-list {
    grid-template-columns: minmax(0, 1fr);
    gap: 28px;
    margin-top: 32px;
    min-height: 0;
  }
}

.kofa-site-home-today__date {
  position: relative;
  display: grid;
  grid-template-columns: 92px 19px 92px;
  width: 203px;
  grid-template-rows: 15px 52px 105px 30px;
  align-self: start;
  font-weight: var(--kofa-font-weight-bold);
}

@media (max-width: 1279px) {
  .kofa-site-home-today__date {
    grid-template-columns: 75px 33px 75px;
    width: 183px;
    grid-template-rows: 15px 52px 78px 30px;
    padding-top: 8px;
  }
}

@media (max-width: 899px) {
  .kofa-site-home-today__date {
    grid-template-columns: 69px 27px 69px;
    grid-template-rows: 27px 7px 71px 30px;
    padding-top: 0;
    width: 165px;
    margin-inline: auto;
  }
}

.kofa-site-home-today__year {
  grid-column: 1 / -1;
  grid-row: 1 / 3;
  align-self: start;
  font-size: var(--kofa-typo-headline-3-size);
  line-height: 1.5;
}

@media (max-width: 899px) {
  .kofa-site-home-today__year {
    padding-top: 12px;
  }
}

.kofa-site-home-today__month {
  grid-column: 1;
  grid-row: 2 / 4;
  font-size: var(--kofa-site-home-date-size);
  line-height: 1.5;
}

@media (max-width: 1279px) {
  .kofa-site-home-today__month {
    font-size: var(--kofa-typo-display-3-size);
  }
}

@media (max-width: 899px) {
  .kofa-site-home-today__month {
    font-size: var(--kofa-site-home-date-size);
  }
}

.kofa-site-home-today__day {
  grid-column: 3;
  grid-row: 3 / 5;
  font-size: var(--kofa-site-home-date-size);
  line-height: 1.5;
}

@media (max-width: 1279px) {
  .kofa-site-home-today__day {
    font-size: var(--kofa-typo-display-3-size);
  }
}

@media (max-width: 899px) {
  .kofa-site-home-today__day {
    font-size: var(--kofa-site-home-date-size);
  }
}

.kofa-site-home-today__weekday {
  grid-column: 3;
  grid-row: 4;
  justify-self: end;
  font-size: var(--kofa-typo-headline-3-size);
}

.kofa-site-home-today__slash {
  position: absolute;
  top: 121.384px;
  left: 96.1865px;
  width: 120.241px;
  height: 2px;
  transform: translate(-50%, -50%) rotate(-66.91deg);
}

@media (max-width: 1279px) {
  .kofa-site-home-today__slash {
    top: 96px;
    left: 90px;
    width: 100px;
  }
}

@media (max-width: 899px) {
  .kofa-site-home-today__slash {
    top: 73px;
    left: 82px;
    width: 82px;
  }
}

.kofa-site-home-events {
  position: relative;
  min-width: 0;
  border: 1px solid var(--kofa-color-divider-02);
  border-radius: var(--kofa-radius-20);
  background: var(--kofa-color-surface-white);
  color: var(--kofa-color-text-01);
}

@media (max-width: 899px) {
  .kofa-site-home-events {
    border: 0;
    border-radius: 0;
    background: transparent;
  }
}

.kofa-site-home-events__viewport {
  padding: 29px 30px;
}

@media (max-width: 1279px) {
  .kofa-site-home-events__viewport {
    padding: 29px 23px;
  }
}

@media (max-width: 899px) {
  .kofa-site-home-events__viewport {
    padding: 0;
    border: 1px solid var(--kofa-color-divider-02);
    border-radius: var(--kofa-radius-16);
    background: var(--kofa-color-surface-white);
  }
}

.kofa-site-home-events__viewport--scrollable {
  box-sizing: border-box;
  max-height: var(--kofa-site-home-events-visible-height, 418px);
  overflow-y: auto;
  scrollbar-width: none;
}

@media (max-width: 899px) {
  .kofa-site-home-events__viewport--scrollable {
    max-height: none;
    overflow-y: visible;
  }
}

.kofa-site-home-events__list {
  display: grid;
  gap: 32px;
  margin: 0;
  padding: 0;
  list-style: none;
}

@media (max-width: 899px) {
  .kofa-site-home-events__list {
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
  }
}

.kofa-site-home-events__event {
  display: grid;
  grid-template-columns: 106px minmax(0, 1fr) 100px;
  align-items: start;
  column-gap: 12px;
}

@media (max-width: 1279px) {
  .kofa-site-home-events__event {
    grid-template-columns: 86px minmax(0, 1fr) 100px;
    column-gap: 4.685%;
  }
}

@media (max-width: 899px) {
  .kofa-site-home-events__event {
    display: flex;
    flex-direction: column;
    gap: 18px;
    padding: 16px 12px;
  }
}

.kofa-site-home-events__event[hidden] {
  display: none;
}

.kofa-site-home-events__category {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: var(--kofa-typo-headline-2-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: 1.5;
}

@media (max-width: 899px) {
  .kofa-site-home-events__category {
    font-size: var(--kofa-typo-headline-1-size);
  }
}

.kofa-site-home-events__description {
  min-width: 0;
  max-width: 100%;
}

@media (max-width: 899px) {
  .kofa-site-home-events__description { width: 100%; }
}

.kofa-site-home-events h3 {
  margin: 0 0 12px;
  font-size: var(--kofa-typo-headline-3-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: 1.5;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

@media (max-width: 899px) {
  .kofa-site-home-events h3 {
    font-size: var(--kofa-typo-headline-2-size);
  }
}

.kofa-site-home-events__details {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
  font-size: var(--kofa-typo-body-4-size);
  line-height: 1.5;
}

@media (max-width: 899px) {
  .kofa-site-home-events__details {
    font-size: var(--kofa-typo-body-3-size);
    overflow-wrap: anywhere;
  }
}

.kofa-site-home-events__details span + span {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.kofa-site-home-events__details span + span::before {
  flex: 0 0 4px;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: var(--kofa-color-divider-02);
  content: "";
}

.kofa-site-home-events__action {
  align-self: center;
  justify-self: end;
  width: 100px;
}

@media (max-width: 899px) {
  .kofa-site-home-events__action {
    width: 100%;
  }
}

.kofa-site-home-events__scroll {
  position: absolute;
  left: calc(50% - 23px);
  z-index: 1;
  display: grid;
  place-items: center;
  pointer-events: auto;
  width: 46px;
  height: 46px;
  padding: 10px;
  border: 1px solid var(--kofa-color-border-default);
  border-radius: 50%;
  background: var(--kofa-color-surface-white);
  cursor: pointer;
}

@media (max-width: 899px) {
  .kofa-site-home-events__scroll {
    position: relative;
    top: auto;
    bottom: auto;
    left: auto;
    width: 40px;
    height: 40px;
    padding: 7px;
  }
}

.kofa-site-home-events__scroll:disabled {
  opacity: .4;
  cursor: default;
}

.kofa-site-home-events__scroll[hidden] {
  display: none;
}

.kofa-site-home-events__scroll--up {
  top: -23px;
}

@media (max-width: 899px) {
  .kofa-site-home-events__scroll--up {
    top: auto;
  }
}

.kofa-site-home-events__scroll--down {
  bottom: -23px;
}

@media (max-width: 899px) {
  .kofa-site-home-events__scroll--down {
    bottom: auto;
  }
}

.kofa-site-home-external {
  min-width: 0;
}

.kofa-site-home-external__holiday {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  padding: 10px;
}

@media (max-width: 899px) {
  .kofa-site-home-external__holiday {
    gap: 8px;
    padding: 10px 0;
  }
}

.kofa-site-home-external__holiday-chip {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 6px 12px;
  border: 1px solid var(--kofa-color-text-danger);
  border-radius: var(--kofa-radius-43);
  background: var(--kofa-color-surface-white);
  color: var(--kofa-color-text-danger);
  font-size: var(--kofa-typo-body-3-size);
  font-weight: var(--kofa-font-weight-semibold);
}

.kofa-site-home-external__holiday-message {
  padding-left: 12px;
  border-left: 2px solid var(--kofa-color-white);
  font-size: var(--kofa-typo-headline-1-size);
  font-weight: var(--kofa-font-weight-bold);
}

@media (max-width: 899px) {
  .kofa-site-home-external__holiday-message {
    padding-left: 0;
    border: 0;
    font-size: var(--kofa-typo-body-3-size);
  }
}

.kofa-site-home-external__card {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  padding: 63.5px 32px;
  border: 1px solid var(--kofa-color-divider-02);
  border-radius: var(--kofa-radius-20);
  background: var(--kofa-color-surface-white);
  color: var(--kofa-color-text-01);
}

@media (max-width: 1279px) {
  .kofa-site-home-external__card {
    padding: 84px 23px;
  }
}

@media (max-width: 899px) {
  .kofa-site-home-external__card {
    box-sizing: border-box;
    min-height: 802px;
    padding: 54px 19px;
    border-radius: var(--kofa-radius-16);
  }
}

.kofa-site-home-external__visual {
  position: absolute;
  z-index: -1;
  top: -104px;
  right: -65.9px;
  width: 750px;
  height: 580px;
  overflow: hidden;
}

@media (max-width: 899px) {
  .kofa-site-home-external__visual {
    top: auto;
    bottom: 0;
    right: -50%;
    width: 200%;
    height: 528px;
  }
}

.kofa-site-home-external__visual::after {
  position: absolute;
  inset: 0;
  background: linear-gradient(-90deg, transparent 0%, var(--kofa-color-white) 70.695%);
  content: "";
}

@media (max-width: 899px) {
  .kofa-site-home-external__visual::after {
    background: linear-gradient(0deg, transparent 30%, var(--kofa-color-white) 100%);
  }
}

.kofa-site-home-external__image {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kofa-site-home-external__copy {
  position: relative;
}

.kofa-site-home-external__film {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin: 0;
  font-size: var(--kofa-typo-body-4-size);
  line-height: 1.5;
}

.kofa-site-home-external__film span {
  opacity: .8;
}

.kofa-site-home-external__film strong {
  font-size: var(--kofa-typo-body-5-size);
  font-weight: var(--kofa-font-weight-semibold);
}

.kofa-site-home-external__quote {
  margin: 20px 0 40px;
  font-size: var(--kofa-typo-display-3-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: 1.3;
  overflow-wrap: anywhere;
}

@media (max-width: 1279px) {
  .kofa-site-home-external__quote {
    font-size: var(--kofa-typo-display-2-size);
    line-height: 1.3;
  }
}

@media (max-width: 899px) {
  .kofa-site-home-external__quote {
    font-size: var(--kofa-typo-display-2-size);
    line-height: 1.5;
    word-break: normal;
  }
}

.kofa-site-home-external__quote-line {
  display: block;
}

.kofa-site-home-external__quote-open {
  display: inline-block;
  margin-right: 8px;
  vertical-align: text-top;
  object-fit: none;
  rotate: 180deg;
}

@media (max-width: 899px) {
  .kofa-site-home-external__quote-open {
    box-sizing: border-box;
    width: 24px;
    height: 24px;
    padding: 4px;
    object-fit: contain;
  }
}

.kofa-site-home-external__quote-close {
  display: inline-block;
  margin-left: 8px;
  vertical-align: text-top;
  object-fit: none;
}

@media (max-width: 899px) {
  .kofa-site-home-external__quote-close {
    width: 24px;
    height: 24px;
    box-sizing: border-box;
    padding: 4px;
    object-fit: contain;
  }
}


/* 홈메인 — 공지와 웹진 */
.kofa-site-home-news {
  width: 100%;
  padding-block: 96px 80px;
  background: var(--kofa-color-surface-white);
}

@media (max-width: 1279px) {
  .kofa-site-home-news {
    padding-top: 96px;
  }
}

@media (max-width: 599px) {
  .kofa-site-home-news {
    padding-block: 60px 64px;
  }
}

.kofa-site-home-news h2 {
  width: var(--kofa-layout-safe-width);
  margin: 0 auto 20px;
  font-size: var(--kofa-typo-headline-6-size);
  font-weight: var(--kofa-font-weight-bold);
  line-height: 1.5;
}

@media (max-width: 1279px) {
  .kofa-site-home-news h2 {
    width: calc(var(--kofa-layout-safe-width) - 2px);
    margin-left: calc(var(--kofa-layout-safe-gutter) + 2px);
    font-size: var(--kofa-typo-headline-6-size-mobile);
  }
}

@media (max-width: 599px) {
  .kofa-site-home-news h2 {
    width: var(--kofa-layout-safe-width);
    margin-left: auto;
  }
}

.kofa-site-home-news__notices-banner {
  display: grid;
  grid-template-columns: minmax(0, 918fr) minmax(0, 266fr);
  align-items: center;
  gap: 96px;
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
}

html[lang="en"] .kofa-site-home-news__notices-banner {
  grid-template-columns: minmax(0, 1fr);
}

@media (max-width: 1279px) {
  .kofa-site-home-news__notices-banner {
    grid-template-columns: minmax(0, 1fr);
    gap: 48px;
  }
}

@media (max-width: 599px) {
  .kofa-site-home-news__notices-banner {
    gap: 22px;
  }
}

.kofa-site-home-news__list {
  position: relative;
  margin: 0;
  padding: 10px 146px 10px 0;
  list-style: none;
}

html[lang="en"] .kofa-site-home-news__list {
  padding-right: 0;
}

@media (max-width: 1279px) {
  .kofa-site-home-news__list {
    padding-right: 50px;
  }
}

@media (max-width: 599px) {
  .kofa-site-home-news__list {
    padding: 0;
  }
}

.kofa-site-home-news__list--empty {
  align-self: stretch;
  padding-block: 0;
}

@media (max-width: 1279px) {
  .kofa-site-home-news__list--empty {
    align-self: auto;
    padding-right: 0;
  }
}

.kofa-site-home-news__list::after {
  position: absolute;
  inset-block: 10.75px;
  right: 0;
  width: 1px;
  background: var(--kofa-color-divider-02);
  content: "";
}

html[lang="en"] .kofa-site-home-news__list::after {
  display: none;
}

@media (max-width: 1279px) {
  .kofa-site-home-news__list::after {
    display: none;
  }
}

.kofa-site-home-news__notice {
  box-sizing: border-box;
  display: grid;
  grid-template-columns: 50px minmax(0, 1fr) 91px;
  align-items: center;
  gap: 20px;
  padding-block: 18px;
  min-height: 70px;
  color: inherit;
  text-decoration: none;
}

@media (max-width: 599px) {
  .kofa-site-home-news__notice {
    grid-template-columns: 46px minmax(0, 1fr);
    row-gap: 12px;
    padding: 20px 8px;
  }
}

@media (hover: hover) and (pointer: fine) {
  .kofa-site-home-news__notice:hover {
    background: var(--kofa-color-background-gray-subtler);
  }
}

.kofa-site-home-news__category {
  box-sizing: border-box;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 34px;
  border: 1px solid var(--kofa-color-badge-notice);
  border-radius: var(--kofa-radius-43);
  color: var(--kofa-color-badge-notice);
  font-size: var(--kofa-typo-body-4-size);
  font-weight: var(--kofa-font-weight-semibold);
}

@media (max-width: 599px) {
  .kofa-site-home-news__category {
    width: 46px;
    height: 31px;
    font-size: var(--kofa-typo-body-3-size);
  }
}

.kofa-site-home-news__category[data-notice-kind="press"] {
  border-color: var(--kofa-site-home-press-color);
  color: var(--kofa-site-home-press-color);
}

.kofa-site-home-news__title {
  margin-right: 4px;
  font-weight: var(--kofa-font-weight-semibold);
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
  font-size: var(--kofa-typo-body-5-size);
}

@media (max-width: 599px) {
  .kofa-site-home-news__title {
    grid-column: 1 / -1;
    grid-row: 2;
    margin: 0;
  }
}

.kofa-site-home-news time {
  color: var(--kofa-color-text-02);
  font-size: var(--kofa-typo-body-4-size);
  white-space: nowrap;
}

@media (max-width: 599px) {
  .kofa-site-home-news time {
    grid-column: 2;
    grid-row: 1;
    justify-self: end;
  }
}

.kofa-site-home-webzine {
  position: relative;
  touch-action: pan-y pinch-zoom;
  overflow: hidden;
  aspect-ratio: 266 / 355;
  min-width: 0;
  border-radius: var(--kofa-radius-20);
  color: var(--kofa-color-text-white);
}

@media (max-width: 1279px) {
  .kofa-site-home-webzine {
    height: 355px;
    aspect-ratio: auto;
  }
}

@media (max-width: 599px) {
  .kofa-site-home-webzine {
    height: auto;
    aspect-ratio: 266 / 355;
  }
}

.kofa-site-home-webzine__slides {
  display: grid;
  height: 100%;
}

.kofa-site-home-webzine__slide {
  grid-area: 1 / 1;
  min-width: 0;
  height: 100%;
  opacity: 1;
  visibility: visible;
  transition: opacity 400ms ease, visibility 400ms;
}

@media (prefers-reduced-motion: reduce) {
  .kofa-site-home-webzine__slide {
    transition: none;
  }
}

.kofa-site-home-webzine__slide[hidden] {
  display: block;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.kofa-site-home-webzine__slide a {
  display: block;
  height: 100%;
  color: inherit;
  text-decoration: none;
  user-select: none;
}

.kofa-site-home-webzine[data-carousel-dragging] .kofa-site-home-webzine__slide a {
  cursor: grabbing;
}

.kofa-site-home-webzine__image {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kofa-site-home-webzine__slide a::after {
  position: absolute;
  inset: 0;
  border-radius: var(--kofa-radius-20);
  box-shadow: inset 0 0 0 1px var(--kofa-color-border-default);
  background: linear-gradient(180deg, transparent 45.943%, var(--kofa-color-black) 96.539%);
  content: "";
  pointer-events: none;
}

.kofa-site-home-webzine__slide a:focus-visible {
  outline: 0;
}
.kofa-site-home-webzine__slide a:focus-visible::after {
  box-shadow: inset 0 0 0 var(--kofa-outline-focus-width) var(--kofa-color-focus-ring);
}

.kofa-site-home-webzine__caption {
  position: absolute;
  z-index: 1;
  top: 30px;
  left: 20px;
  right: 20px;
}

.kofa-site-home-webzine__caption p {
  display: flex;
  align-items: center;
  gap: 6px;
  margin: 0 0 10px;
  font-size: var(--kofa-typo-body-3-size);
}

.kofa-site-home-webzine__caption p span + span::before {
  display: inline-block;
  width: 4px;
  height: 4px;
  margin-right: 6px;
  border-radius: 50%;
  background: var(--kofa-color-white);
  vertical-align: middle;
  content: "";
}

.kofa-site-home-webzine__caption strong {
  font-size: var(--kofa-typo-headline-4-size);
  font-weight: var(--kofa-font-weight-bold);
}

@media (max-width: 1279px) {
  .kofa-site-home-webzine__caption strong {
    font-size: var(--kofa-typo-headline-compact-size);
  }
}

.kofa-site-home-webzine__controls {
  position: absolute;
  z-index: 1;
  right: 20px;
  bottom: 12px;
  left: 20px;
  display: flex;
  align-items: center;
  justify-content: safe center;
  gap: 18px;
}

@media (max-width: 1279px) {
  .kofa-site-home-webzine__controls {
    bottom: 18px;
    gap: 8px;
    overflow: visible;
  }
}

.kofa-site-home-webzine__arrow {
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
}

.kofa-site-home-webzine__arrow img {
  display: block;
  width: 43px;
  height: 32px;
  pointer-events: none;
}

@media (max-width: 1279px) {
  .kofa-site-home-webzine__arrow img {
    width: 31.5px;
    height: 24px;
  }
}

.kofa-site-home-webzine__arrow:hover {
  opacity: .7;
}

.kofa-site-home-webzine__arrow:focus-visible {
  outline: var(--kofa-outline-focus-width) solid var(--kofa-color-focus-ring);
  outline-offset: var(--kofa-outline-focus-offset);
}

.kofa-site-home-webzine__arrow:disabled {
  opacity: .4;
  cursor: default;
}

.kofa-site-home-webzine__count span:first-child {
  font-weight: var(--kofa-font-weight-semibold);
}

.kofa-site-home-webzine__count {
  flex: 0 0 auto;
  display: flex;
  gap: 2px;
  font-size: var(--kofa-typo-body-3-size);
}


/* 긴급 공지 — 기획 와이어프레임 */
.kofa-site-home-urgent {
  line-height: var(--kofa-line-height-base);
  letter-spacing: var(--kofa-letter-spacing-base);
  background: var(--kofa-color-information-50);
  color: var(--kofa-color-text-01);
}

.kofa-site-home-urgent__notice {
  display: flex;
  align-items: center;
  gap: 20px;
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
  padding-block: 10px;
}

@media (max-width: 599px) {
  .kofa-site-home-urgent__notice {
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 12px;
    padding-block: 12px;
  }
}

.kofa-site-home-urgent__label {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  flex: 0 0 auto;
  padding: 4px 10px;
  border: 1px solid var(--kofa-color-information-700);
  border-radius: var(--kofa-radius-43);
  color: var(--kofa-color-information-700);
  font-size: var(--kofa-typo-body-3-size);
  font-weight: var(--kofa-font-weight-semibold);
}

@media (max-width: 599px) {
  .kofa-site-home-urgent__label {
    order: 0;
  }
}

.kofa-site-home-urgent p {
  white-space: pre-line;
  flex: 1;
  margin: 0;
  font-size: var(--kofa-typo-body-3-size);
  color: var(--kofa-color-information-700);
}

@media (max-width: 599px) {
  .kofa-site-home-urgent p {
    flex: 0 0 100%;
  }
}

.kofa-site-home-urgent__actions {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: 32px;
}

@media (max-width: 599px) {
  .kofa-site-home-urgent__actions {
    order: 2;
    width: 100%;
    margin-top: 4px;
    justify-content: space-between;
  }
}

.kofa-site-home-urgent__dismiss {
  position: relative;
}

.kofa-site-home-urgent__close {
  color: var(--kofa-color-information-700);
  position: relative;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 0;
  border: 0;
  background: transparent;
  font: inherit;
  font-size: var(--kofa-typo-body-3-size);
  cursor: pointer;
}

.kofa-site-home-hero__description-line {
  display: inline;
}

@media (max-width: 899px) {
  .kofa-site-home-hero__description-line {
    display: block;
  }
}

.kofa-site-home-hero__count {
  display: flex;
  gap: 2px;
  font-size: var(--kofa-typo-body-5-size);
}

@media (max-width: 1279px) {
  .kofa-site-home-hero__count {
    font-size: var(--kofa-typo-body-4-size);
  }
}

.kofa-site-home-hero__count span:first-child {
  font-weight: var(--kofa-font-weight-bold);
}

.kofa-site-home-hero__arrow::before {
  position: absolute;
  content: "";
  width: 44px;
  height: 44px;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
}

.kofa-site-home-hero__play::before {
  position: absolute;
  content: "";
  width: 44px;
  height: 44px;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
}

.kofa-site-home-today__count {
  display: contents;
}

.kofa-site-home-today__count-compact {
  display: none;
}

@media (max-width: 1279px) {
  .kofa-site-home-today__count-compact {
    display: inline-flex;
  }
}

.kofa-site-home-today__count-wide {
  display: inline-flex;
}

@media (max-width: 1279px) {
  .kofa-site-home-today__count-wide {
    display: none;
  }
}

.kofa-site-home-today__calendar-suffix {
  display: inline;
}

@media (max-width: 899px) {
  .kofa-site-home-today__calendar-suffix {
    display: none;
  }
}

.kofa-site-home-events__controls {
  position: absolute;
  inset: 0;
  pointer-events: none;
}

@media (max-width: 899px) {
  .kofa-site-home-events__controls {
    position: static;
    display: none;
    align-items: center;
    justify-content: center;
    gap: 24px;
    margin-block: 20px 0;
    pointer-events: auto;
  }
}

.kofa-site-home-events__scroll img {
  display: block;
}

@media (max-width: 899px) {
  .kofa-site-home-events__scroll img {
    rotate: -90deg;
  }
}

.kofa-site-home-webzine__arrow::before {
  position: absolute;
  content: "";
  width: 44px;
  height: 44px;
  inset: 50% auto auto 50%;
  translate: -50% -50%;
}

.kofa-site-home-urgent__dismiss::before {
  position: absolute;
  inset: -12px 0;
  content: "";
}

.kofa-site-home-urgent__close::before {
  position: absolute;
  inset: -10px 0;
  content: "";
}

.kofa-site-home-hero__arrow img {
  display: block;
}

@media (max-width: 1279px) {
  .kofa-site-home-hero__arrow img {
    width: 31.5px;
    height: 24px;
  }
}

.kofa-site-home-webzine__arrow img {
  display: block;
}

@media (max-width: 1279px) {
  .kofa-site-home-webzine__arrow img {
    width: 31.5px;
    height: 24px;
  }
}

.kofa-site-home-hero__play img {
  display: block;
}

@media (max-width: 1279px) {
  .kofa-site-home-hero__play img {
    width: 12px;
    height: 12px;
  }
}

.kofa-site-home-events__scroll::before {
  pointer-events: auto;
}

@media (max-width: 899px) {
  .kofa-site-home-events__scroll::before {
    position: absolute;
    inset: -2px;
    content: "";
  }
}

@media (max-width: 899px) {
  .kofa-site-home-events__controls:has(button:not([hidden])) {
    display: flex;
  }
}

.kofa-site-home-urgent__bell {
  width: 20px;
  height: 20px;
  background: var(--kofa-color-information-700);
  mask: url("/icons/navigation/bell-default.svg") center / contain no-repeat;
}

.kofa-site-home-urgent__close-icon {
  width: 24px;
  height: 24px;
  background: var(--kofa-color-information-700);
  mask: url("/icons/auth/dialog-close.svg") center / contain no-repeat;
}

.kofa-site-schedule__placeholder {
  color: transparent;
  background: var(--kofa-color-gray-100);
  border-radius: var(--kofa-radius-4);
  pointer-events: none;
}

.kofa-site-schedule__placeholder > * {
  visibility: hidden;
}

.kofa-site-schedule__status {
  width: var(--kofa-layout-safe-width);
  margin: 0 auto 16px;
}

.kofa-site-schedule__retry {
  width: var(--kofa-layout-safe-width);
  margin: 0 auto 16px;
}

.kofa-site-home__empty-panel {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-width: 0;
  height: 100%;
  background: var(--kofa-color-surface-white);
  border-radius: var(--kofa-radius-20);
}

/* 흰 바탕 위라 영역 경계가 안 보이는 자리(공지사항·소배너)만 테두리를 둔다. */
.kofa-site-home__empty-panel--outlined {
  border: 1px solid var(--kofa-color-border-default);
}

.kofa-site-home-hero__empty {
  width: var(--kofa-layout-safe-width);
  margin-inline: auto;
}

.kofa-search__placeholder { color: transparent; background: var(--kofa-color-gray-100); border-radius: var(--kofa-radius-4); }

.kofa-search[aria-busy="true"] .kofa-search__status { position: absolute; width: 1px; height: 1px; padding: 0; margin: 0; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
/* 개인정보처리방침 개정이력 */
.kofa-site-privacy-history { width: var(--kofa-layout-safe-width); margin-inline: auto; padding-top: 16px; padding-bottom: 80px; letter-spacing: -0.6px; }
@media (max-width: 1279px) {
  .kofa-site-privacy-history { padding-bottom: 64px; }
}
.kofa-site-privacy-history__button { display: flex; align-items: center; justify-content: space-between; width: 100%; color: inherit; font: inherit; text-align: left; cursor: pointer; gap: 12px; padding: 20px; border: 0; border-bottom: 1px solid #e1e1e1; background: #fff; font-size: var(--kofa-typo-body-4-size); font-weight: var(--kofa-font-weight-bold); line-height: var(--kofa-line-height-base); }
@media (max-width: 599px) {
  .kofa-site-privacy-history__button { padding-inline: 16px; }
}
.kofa-site-privacy-history__button::after { content: ""; flex: 0 0 24px; width: 24px; height: 24px; background: url("/icons/chevron/chevron-down.svg") center / 24px 24px no-repeat; transition: transform 220ms cubic-bezier(0.2, 0, 0, 1); }
@media (prefers-reduced-motion: reduce) {
  .kofa-site-privacy-history__button::after { transition: none; }
}
.kofa-site-privacy-history__button[aria-expanded="true"]::after { transform: rotate(180deg); }
.kofa-site-privacy-history__button:focus-visible { outline: var(--kofa-outline-focus-width) solid var(--kofa-color-focus-ring); outline-offset: var(--kofa-outline-focus-offset); }
.kofa-site-privacy-history__panel { overflow: hidden; }
.kofa-site-privacy-history__panel[hidden] { display: none; }
.kofa-site-privacy-history__list { margin: 0; padding: 0; list-style: none; }
.kofa-site-privacy-history__row { display: flex; align-items: center; gap: 16px; padding: 16px 24px; border-bottom: 1px solid #e1e1e1; }
@media (max-width: 599px) {
  .kofa-site-privacy-history__row { flex-direction: column; align-items: flex-start; gap: 12px; padding-inline: 16px; }
}
.kofa-site-privacy-history__row--current { padding-block: 12px; }
@media (max-width: 599px) {
  .kofa-site-privacy-history__row--current { padding-block: 16px; }
}
.kofa-site-privacy-history__link { color: #262831; font-size: var(--kofa-typo-body-4-size); font-weight: var(--kofa-font-weight-regular); line-height: var(--kofa-line-height-base); text-decoration: none; }
.kofa-site-privacy-history__row--current .kofa-site-privacy-history__link { color: #30666b; font-weight: var(--kofa-font-weight-semibold); }
.kofa-site-privacy-history__link:hover { text-decoration: underline; }
.kofa-site-privacy-history__link:focus-visible { outline: var(--kofa-outline-focus-width) solid var(--kofa-color-focus-ring); outline-offset: var(--kofa-outline-focus-offset); border-radius: 2px; }
.kofa-site-privacy-history__download { text-decoration: none; display: inline-flex; align-items: center; justify-content: center; flex-shrink: 0; gap: 4px; padding: 6px 8px; border: 1px solid #e1e1e1; border-radius: 8px; background: #fff; color: #58585a; font-family: inherit; font-size: var(--kofa-typo-body-2-size); font-weight: var(--kofa-font-weight-semibold); line-height: var(--kofa-line-height-base); letter-spacing: var(--kofa-letter-spacing-base); cursor: pointer; }
.kofa-site-privacy-history__download[hidden] { display: none; }
.kofa-site-privacy-history__download:hover { background: #f9f9f9; }
.kofa-site-privacy-history__download:focus-visible { outline: var(--kofa-outline-focus-width) solid var(--kofa-color-focus-ring); outline-offset: var(--kofa-outline-focus-offset); }
.kofa-site-privacy-history__download img { flex: 0 0 16px; width: 16px; height: 16px; }

.kofa-site-home-image--fallback {
  box-sizing: border-box;
  padding: 0 30%;
  object-fit: scale-down;
}
