/* 메인 홈(/) — 첨부 시안: 배경 일러스트 + 히어로 + 액션 그리드 + SNS 레일 */
@import url("https://fonts.googleapis.com/css2?family=Orbitron:wght@500;700&display=swap");

:root {
  --home-ink: #011D20;
  --home-dark: #011D20;
  --home-teal: #3f8f8c;
  --home-magenta: #e2187a;
  --home-muted: #2a3438;
}

.page-home {
  min-height: 100vh;
  /* 모바일 주소창을 감안한 실제 표시 높이. 100vh 는 항상 더 커서 푸터 아래 빈 공간을 만든다 */
  min-height: 100dvh;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  color: var(--home-ink);
}

.main-home {
  position: relative;
  flex: 1;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
  min-height: 100dvh;
  width: 100%;
  overflow: hidden;
}

.main-home__bg {
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: #ffffff;
  background-size: cover;
  background-position: right bottom;
  background-repeat: no-repeat;
  pointer-events: none;
  transform-origin: right bottom;
  animation: home-bg-in 1.2s ease-out both;
}

.main-home > .header-bg {
  position: relative;
  z-index: 20;
}

.main-home > .main-home__content {
  position: relative;
  z-index: 1;
}

.main-home > .home-rail {
  z-index: 3;
}

.main-home__content {
  position: relative;
  flex: 1;
  width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.main-home__bg {
  transition: opacity 0.35s ease;
}

.main-home__bg.is-fading {
  opacity: 0.35;
}

/* —— Header (라이트 모드) —— */
.page-home .header-bg {
  background: #ffffff !important;
  background-color: #ffffff !important;
  border-bottom: none;
  transition: background-color 0.18s ease, box-shadow 0.18s ease, border-color 0.18s ease;
}

@media (min-width: 1025px) {
  .page-home .header-bg:hover,
  .page-home .header-bg:has(.navigation:hover),
  .page-home .header-bg:has(.navigation:focus-within),
  .page-home .header-bg:has(.header-actions:hover),
  .page-home .header-bg:has(.header-actions:focus-within) {
    background: #ffffff !important;
    background-color: #ffffff !important;
    border-bottom: none;
    box-shadow: none;
  }
}

.page-home .header-brand {
  color: #011D20;
}

.page-home .header-inner > a img:not(.header-brand__badge) {
  filter: brightness(0);
}

.page-home .nav-link {
  color: #011D20;
  transition: color 0.2s ease, background-color 0.2s ease;
}

@media (min-width: 1025px) {
  .page-home .nav-item > .nav-link {
    border-radius: 999px;
    padding: 0.55rem 14px;
    margin: 0 -14px;
  }

  .page-home .nav-item:hover > .nav-link,
  .page-home .nav-item--current > .nav-link {
    color: #fff;
    background-color: #0F6055;
  }

  .page-home .nav-item {
    padding: 0 36px;
  }
}

.page-home .lang-switch span {
  color: rgba(1, 29, 32, 0.72);
}

.page-home .lang-switch .lang-active {
  color: #011D20;
  font-weight: 700;
}

.page-home a.mypage_text {
  color: #011D20;
}

.page-home a.mypage_text:hover,
.page-home a.mypage_text.is-current {
  color: #0F6055;
}

.page-home .menu-toggle span {
  background-color: #011D20;
}

.page-home .lang-switch img {
  filter: brightness(0);
  opacity: 0.4;
}

/* 5번: 헤더 배경 없음 + 기존 다크 텍스트/로고 */
.page-home.is-header-clear .header-bg,
.page-home.is-header-clear .header-bg:hover,
.page-home.is-header-clear .header-bg:has(.navigation:hover),
.page-home.is-header-clear .header-bg:has(.navigation:focus-within),
.page-home.is-header-clear .header-bg:has(.header-actions:hover),
.page-home.is-header-clear .header-bg:has(.header-actions:focus-within) {
  background: transparent !important;
  background-color: transparent !important;
  border-bottom: none;
  box-shadow: none;
}

.page-home.is-header-clear .header-brand {
  color: #011D20;
}

.page-home.is-header-clear .header-inner > a img:not(.header-brand__badge) {
  filter: brightness(0);
}

.page-home.is-header-clear .nav-link {
  color: #011D20;
}

@media (min-width: 1025px) {
  .page-home.is-header-clear .nav-item:hover > .nav-link,
  .page-home.is-header-clear .nav-item--current > .nav-link {
    color: #fff;
    background-color: #0F6055;
  }
}

.page-home.is-header-clear .lang-switch span {
  color: #011D20;
}

.page-home.is-header-clear .lang-switch .lang-active {
  color: #011D20;
  font-weight: 700;
}

.page-home.is-header-clear a.mypage_text {
  color: #011D20;
}

.page-home.is-header-clear a.mypage_text:hover,
.page-home.is-header-clear a.mypage_text.is-current {
  color: #011D20;
}

.page-home.is-header-clear .menu-toggle span {
  background-color: #011D20;
}

.page-home.is-header-clear .lang-switch img {
  filter: brightness(0);
  opacity: 0.35;
}

/* page-home 헤더 좌우 여백은 공통 .header-inner.container(32px) 와 동일 */

/* —— Hero —— */
.home-hero {
  flex: 1;
  width: 100%;
  max-width: none;
  margin: 0;
  padding:
    clamp(1.5rem, 4vh, 3rem)
    clamp(1rem, 4vw, 3.25rem)
    0
    clamp(1.25rem, 5.5vw, 5rem);
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  gap: clamp(1.25rem, 3vh, 2rem);
  box-sizing: border-box;
}

.home-hero > .home-actions {
  margin-top: auto;
  margin-bottom: clamp(1.25rem, 3vh, 2.25rem);
}

.home-hero > .home-facts {
  margin-top: 0;
  margin-left: calc(-1 * clamp(1.25rem, 5.5vw, 5rem));
  margin-right: calc(-1 * clamp(1rem, 4vw, 3.25rem));
  width: auto;
}

.home-hero__copy {
  max-width: min(52rem, 100%);
  padding-top: clamp(1.25rem, 3.5vh, 2.75rem);
  animation: home-rise 0.8s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.home-hero__brand {
  margin: 0;
  --home-hero-logo-width: min(52rem, 100%);
}

.home-hero__logo-wrap {
  display: block;
  width: var(--home-hero-logo-width);
  margin-top: clamp(0.5rem, 1.5vh, 1.1rem);
}

.home-hero__logo {
  display: block;
  width: 100%;
  aspect-ratio: 166 / 36;
  height: auto;
}

.home-hero__logo--default {
  background-color: #011D20;
  -webkit-mask-image: url("/images/envex_logo.svg");
  mask-image: url("/images/envex_logo.svg");
  -webkit-mask-size: contain;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: left center;
  mask-position: left center;
}

.home-hero__logo--forest {
  display: block;
  aspect-ratio: 1024 / 221;
  object-fit: contain;
  object-position: left center;
  margin: 0;
  vertical-align: top;
}

.home-hero__logo-wrap.is-forest .home-hero__logo--default {
  display: none;
}

.home-hero__logo-wrap.is-forest .home-hero__logo--forest {
  display: block;
}

.home-hero__logo-wrap:not(.is-forest) .home-hero__logo--forest {
  display: none;
}

.home-hero__tagline {
  display: block;
  margin: clamp(1.1rem, 2.6vh, 1.85rem) 0 0;
  max-width: min(56rem, 100%);
  font-family: inherit;
  font-size: clamp(1.35rem, 2.45vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.15;
  color: #011D20;
  text-transform: uppercase;
}

.home-hero__tagline-lead,
.home-hero__tagline-sub {
  display: block;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
  line-height: inherit;
  color: inherit;
}

.home-hero__tagline-sub {
  margin-top: 0.1rem;
}

.home-hero__tagline.is-accent:not(.home-hero__tagline--ko) {
  font-size: clamp(1.28rem, 2.3vw, 1.88rem);
}

.home-hero__tagline.is-accent {
  color: #011D20;
}

.home-hero__tagline--ko {
  width: var(--home-hero-logo-width);
  max-width: var(--home-hero-logo-width);
  text-align: right;
  text-transform: none;
  letter-spacing: -0.02em;
  line-height: 1.35;
}

.home-hero__tagline--ko .home-hero__tagline-lead {
  margin-left: 0;
  transform: translateX(-40px);
  color: color-mix(in srgb, #011D20 88%, #ffffff 12%);
}

.home-hero__tagline.is-accent .home-hero__tagline-lead,
.home-hero__tagline.is-accent .home-hero__tagline-sub {
  color: inherit;
}

.home-hero__tagline.is-accent .home-hero__tagline-sub {
  margin-top: 0.1rem;
}

.home-hero__venue {
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.55rem 0.85rem;
  width: fit-content;
  max-width: 100%;
  margin: clamp(1.1rem, 2.6vh, 1.85rem) 0 0;
  padding: 0.15rem 0;
  box-sizing: border-box;
  border-radius: 0;
  background: transparent;
  color: #e85d04;
  font-family: inherit;
  font-size: clamp(1.15rem, 1.85vw, 1.5rem);
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.35;
}

.home-hero__venue.is-banner {
  display: flex;
  width: min(72rem, calc(100vw - clamp(1rem, 4vw, 3.25rem)));
  max-width: none;
  margin-left: calc(-1 * clamp(1.25rem, 5.5vw, 5rem));
  padding: 0.65rem 1.5rem 0.65rem clamp(1.25rem, 5.5vw, 5rem);
  border-radius: 0;
  background: linear-gradient(
    90deg,
    #f36b1c 0%,
    #f59a2e 28%,
    #ffb347 52%,
    rgba(255, 208, 138, 0.55) 72%,
    rgba(255, 220, 170, 0.22) 88%,
    rgba(255, 232, 200, 0) 100%
  );
  color: #ffffff;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  box-sizing: border-box;
}

.home-hero__date,
.home-hero__place {
  margin: 0;
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  letter-spacing: inherit;
}

.home-hero__venue-sep {
  color: inherit;
  opacity: 0.85;
  font-weight: 500;
}

.home-hero__place-dot {
  margin: 0 0.25rem;
  opacity: 0.9;
}

.home-hero__place-coex {
  color: #e2187a;
  font-weight: 700;
}

/* —— Action grid —— */
.home-actions {
  display: grid;
  grid-template-columns: minmax(12rem, 15.5rem) repeat(3, minmax(9.5rem, 12rem));
  grid-template-rows: repeat(2, minmax(5.5rem, 6.75rem));
  grid-template-areas:
    "apply visit prereg list"
    "brochure visit prereg list";
  gap: 0.75rem;
  width: max-content;
  max-width: 100%;
  margin-bottom: 0.5rem;
  animation: home-rise 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
}

.home-action--apply { grid-area: apply; }
.home-action--brochure { grid-area: brochure; }
.home-action--visit { grid-area: visit; }
.home-action--prereg { grid-area: prereg; }
.home-action--list { grid-area: list; }

.home-action {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.35rem;
  padding: 1rem 1.15rem;
  border-radius: 1rem;
  text-decoration: none;
  color: #fff;
  box-shadow: 0 10px 28px rgba(1, 29, 32, 0.18);
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.home-action.home-action--apply,
.home-action.home-action--prereg {
  background: #011D20 !important;
  background-color: #011D20 !important;
}

.home-action.home-action--brochure,
.home-action.home-action--list {
  background-color: #228380;
}

.home-action.home-action--visit {
  background-color: #0F6055;
}

.home-action:hover,
.home-action:focus-visible {
  transform: translateY(-3px);
  box-shadow: 0 16px 36px rgba(1, 29, 32, 0.28);
  filter: brightness(1.05);
  outline: none;
}

.home-action__title {
  font-size: clamp(1.05rem, 1.5vw, 1.35rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.home-action__desc {
  font-size: clamp(0.72rem, 0.95vw, 0.86rem);
  font-weight: 500;
  line-height: 1.45;
  opacity: 0.92;
}

/* —— Action style variants (배경 1~5) —— */

/* 1: glass — 모자이크 + 프로스티드 글래스 */
.home-actions--glass {
  grid-template-columns: minmax(13rem, 16rem) repeat(3, minmax(10rem, 12.5rem));
  grid-template-rows: repeat(2, minmax(5.75rem, 7rem));
  grid-template-areas:
    "apply visit prereg list"
    "brochure visit prereg list";
  gap: 0.85rem;
}

.home-actions--glass .home-action {
  color: #011D20;
  border: 1px solid rgba(255, 255, 255, 0.75);
  border-radius: 1.25rem;
  box-shadow:
    0 1px 0 rgba(255, 255, 255, 0.65) inset,
    0 12px 32px rgba(1, 29, 32, 0.12);
  backdrop-filter: blur(14px) saturate(1.2);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
}

.home-actions--glass .home-action--apply {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.88), rgba(232, 245, 243, 0.72)) !important;
  background-color: rgba(255, 255, 255, 0.8) !important;
}

.home-actions--glass .home-action--brochure {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.78), rgba(210, 236, 232, 0.7)) !important;
  background-color: rgba(214, 238, 234, 0.75) !important;
}

.home-actions--glass .home-action--visit {
  background: linear-gradient(160deg, rgba(15, 96, 85, 0.88), rgba(34, 131, 128, 0.82)) !important;
  background-color: #0F6055 !important;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.25);
}

.home-actions--glass .home-action--prereg {
  background: linear-gradient(160deg, rgba(1, 29, 32, 0.9), rgba(15, 96, 85, 0.85)) !important;
  background-color: #011D20 !important;
  color: #fff;
  border-color: rgba(255, 255, 255, 0.2);
}

.home-actions--glass .home-action--list {
  background: linear-gradient(145deg, rgba(255, 255, 255, 0.8), rgba(244, 232, 240, 0.75)) !important;
  background-color: rgba(248, 236, 244, 0.8) !important;
}

.home-actions--glass .home-action:hover,
.home-actions--glass .home-action:focus-visible {
  transform: translateY(-4px) scale(1.01);
  box-shadow: 0 18px 40px rgba(1, 29, 32, 0.18);
  filter: none;
}

.home-actions--glass .home-action__desc {
  opacity: 0.78;
}

/* 2: outline — 교차 그린 타일 (첨부 시안) */
.home-actions--outline {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: minmax(10.5rem, 12.5rem);
  grid-template-areas: "apply brochure visit prereg list";
  gap: 0;
  width: min(58rem, 100%);
  border: none;
  overflow: hidden;
}

.home-actions--outline .home-action {
  position: relative;
  min-height: 0;
  padding: 1.15rem 1.1rem 1.25rem;
  border: none;
  border-radius: 0;
  box-shadow: none;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 0.4rem;
  overflow: hidden;
}

.home-actions--outline .home-action::after {
  content: "↗";
  position: absolute;
  top: 0.95rem;
  right: 1rem;
  font-size: 1.05rem;
  font-weight: 600;
  line-height: 1;
  opacity: 0.95;
}

.home-actions--outline .home-action--apply,
.home-actions--outline .home-action--visit,
.home-actions--outline .home-action--list {
  color: #ffffff;
  background: #0a4a3c !important;
  background-color: #0a4a3c !important;
}

.home-actions--outline .home-action--brochure,
.home-actions--outline .home-action--prereg {
  color: #111111;
  background: #d4e800 !important;
  background-color: #d4e800 !important;
}

.home-actions--outline .home-action__title {
  position: relative;
  z-index: 1;
  padding-top: 0;
  max-width: calc(100% - 1.5rem);
  font-size: clamp(1.05rem, 1.4vw, 1.3rem);
  font-weight: 800;
  letter-spacing: -0.02em;
  color: inherit;
}

.home-actions--outline .home-action__title::before {
  display: none;
}

.home-actions--outline .home-action__desc {
  position: relative;
  z-index: 1;
  max-width: calc(100% - 0.5rem);
  opacity: 0.88;
  font-size: clamp(0.7rem, 0.9vw, 0.84rem);
  font-weight: 500;
  line-height: 1.4;
  color: inherit;
}

.home-actions--outline .home-action--brochure .home-action__desc,
.home-actions--outline .home-action--prereg .home-action__desc {
  opacity: 0.78;
}

.home-actions--outline .home-action:hover,
.home-actions--outline .home-action:focus-visible {
  transform: none;
  box-shadow: none;
  filter: brightness(1.06);
  outline: none;
}

.home-actions--outline .home-action--apply:hover,
.home-actions--outline .home-action--apply:focus-visible,
.home-actions--outline .home-action--visit:hover,
.home-actions--outline .home-action--visit:focus-visible,
.home-actions--outline .home-action--list:hover,
.home-actions--outline .home-action--list:focus-visible {
  background: #0d5a4a !important;
  background-color: #0d5a4a !important;
}

.home-actions--outline .home-action--brochure:hover,
.home-actions--outline .home-action--brochure:focus-visible,
.home-actions--outline .home-action--prereg:hover,
.home-actions--outline .home-action--prereg:focus-visible {
  background: #e0f020 !important;
  background-color: #e0f020 !important;
}

/* 3: soft — 가로 카드 + 초록 투영 이미지 */
.home-actions--soft {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  grid-template-rows: minmax(11.5rem, 13.5rem);
  grid-template-areas: "apply brochure visit prereg list";
  gap: 0.85rem;
  width: min(58rem, 100%);
}

.home-actions--soft .home-action {
  position: relative;
  isolation: isolate;
  justify-content: flex-start;
  align-items: flex-start;
  gap: 0.4rem;
  min-height: 0;
  padding: 1.35rem 1.2rem;
  border: none;
  border-radius: 1.15rem;
  box-shadow: 0 8px 24px rgba(1, 29, 32, 0.08);
  overflow: hidden;
  color: #011D20;
  background: #eef5f2 !important;
  background-color: #eef5f2 !important;
}

.home-actions--soft .home-action--apply,
.home-actions--soft .home-action--brochure,
.home-actions--soft .home-action--visit,
.home-actions--soft .home-action--prereg,
.home-actions--soft .home-action--list {
  background: #eef5f2 !important;
  background-color: #eef5f2 !important;
}

/* 투영 이미지 (우하단 → 좌상단 fade) */
.home-actions--soft .home-action::after {
  content: "";
  position: absolute;
  right: -4%;
  bottom: -6%;
  width: 105%;
  height: 90%;
  z-index: 0;
  pointer-events: none;
  background-repeat: no-repeat;
  background-size: cover;
  background-position: right bottom;
  filter: grayscale(0.85) contrast(1.12) brightness(0.95);
  opacity: 0.92;
  -webkit-mask-image: linear-gradient(to top left, #000 28%, rgba(0, 0, 0, 0.55) 52%, transparent 78%);
  mask-image: linear-gradient(to top left, #000 28%, rgba(0, 0, 0, 0.55) 52%, transparent 78%);
}

.home-actions--soft .home-action--apply::after {
  background-image: url("/images/home/action-card-1.png");
  opacity: 0.88;
  filter: grayscale(1) brightness(1.35) contrast(1.1);
}

.home-actions--soft .home-action--brochure::after {
  background-image: url("/images/home/action-card-3.png");
}

.home-actions--soft .home-action--visit::after {
  background-image: url("/images/home/action-card-2.png");
}

.home-actions--soft .home-action--prereg::after {
  background-image: url("/images/home/action-card-4.png");
}

.home-actions--soft .home-action--list::after {
  background-image: url("/images/home/action-card-5.png");
}

.home-actions--soft .home-action::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background: linear-gradient(145deg, rgba(238, 245, 242, 0.88) 0%, rgba(238, 245, 242, 0.35) 28%, transparent 52%);
}

.home-actions--soft .home-action--apply {
  color: #ffffff;
  background: linear-gradient(145deg, #0a4a3c 0%, #0F6055 55%, #167a6c 100%) !important;
  background-color: #0F6055 !important;
  box-shadow: 0 10px 28px rgba(15, 96, 85, 0.28);
}

.home-actions--soft .home-action--apply::before {
  background: linear-gradient(145deg, rgba(15, 96, 85, 0.7) 0%, rgba(15, 96, 85, 0.2) 32%, transparent 55%);
}

.home-actions--soft .home-action__title,
.home-actions--soft .home-action__desc {
  position: relative;
  z-index: 1;
  color: inherit;
}

.home-actions--soft .home-action__title {
  font-size: clamp(1.05rem, 1.45vw, 1.3rem);
  font-weight: 800;
}

.home-actions--soft .home-action__desc {
  opacity: 0.72;
  color: inherit;
  font-weight: 500;
}

.home-actions--soft .home-action--apply .home-action__desc {
  opacity: 0.9;
}

.home-actions--soft .home-action:hover,
.home-actions--soft .home-action:focus-visible {
  color: #ffffff;
  background: linear-gradient(145deg, #0a4a3c 0%, #0F6055 55%, #167a6c 100%) !important;
  background-color: #0F6055 !important;
  transform: translateY(-4px);
  box-shadow: 0 14px 32px rgba(15, 96, 85, 0.3);
  filter: none;
}

.home-actions--soft .home-action:hover::before,
.home-actions--soft .home-action:focus-visible::before {
  background: linear-gradient(145deg, rgba(15, 96, 85, 0.72) 0%, rgba(15, 96, 85, 0.22) 32%, transparent 55%);
}

.home-actions--soft .home-action:hover::after,
.home-actions--soft .home-action:focus-visible::after {
  opacity: 0.85;
  filter: grayscale(1) brightness(1.3) contrast(1.08);
}

.home-actions--soft .home-action:hover .home-action__desc,
.home-actions--soft .home-action:focus-visible .home-action__desc {
  opacity: 0.9;
}

/* 4: ink — 풀와이드 스택 리스트 (세련된 틸 톤) */
.home-actions--ink {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: min(36rem, 100%);
  grid-template-columns: none;
  grid-template-rows: none;
  grid-template-areas: none;
}

.home-actions--ink .home-action--apply,
.home-actions--ink .home-action--brochure,
.home-actions--ink .home-action--visit,
.home-actions--ink .home-action--prereg,
.home-actions--ink .home-action--list {
  grid-area: auto;
}

.home-actions--ink .home-action {
  display: grid;
  grid-template-columns: minmax(7rem, 9.5rem) 1fr;
  align-items: center;
  gap: 1rem;
  min-height: 0;
  padding: 1rem 1.25rem;
  color: #ffffff;
  border: none;
  border-radius: 0.65rem;
  box-shadow: 0 8px 22px rgba(1, 29, 32, 0.16);
  overflow: hidden;
  transition: transform 0.25s ease, box-shadow 0.25s ease, filter 0.25s ease;
}

.home-actions--ink .home-action--apply,
.home-actions--ink .home-action--prereg {
  background: #011D20 !important;
  background-color: #011D20 !important;
}

.home-actions--ink .home-action--brochure,
.home-actions--ink .home-action--list {
  background: #228380 !important;
  background-color: #228380 !important;
}

.home-actions--ink .home-action--visit {
  background: #0F6055 !important;
  background-color: #0F6055 !important;
}

.home-actions--ink .home-action__title {
  margin: 0;
  font-size: clamp(0.95rem, 1.2vw, 1.12rem);
  font-weight: 800;
  letter-spacing: -0.01em;
  color: #ffffff;
}

.home-actions--ink .home-action__desc {
  margin: 0;
  opacity: 0.9;
  font-size: clamp(0.7rem, 0.9vw, 0.82rem);
  text-align: left;
  color: #ffffff;
}

.home-actions--ink .home-action:hover,
.home-actions--ink .home-action:focus-visible {
  transform: translateX(5px);
  box-shadow: 0 12px 28px rgba(1, 29, 32, 0.26);
  filter: brightness(1.08);
  outline: none;
}

.home-actions--ink .home-action:hover .home-action__title,
.home-actions--ink .home-action:focus-visible .home-action__title,
.home-actions--ink .home-action:hover .home-action__desc,
.home-actions--ink .home-action:focus-visible .home-action__desc {
  color: #ffffff;
  opacity: 0.95;
}

/* 5: solid — 모자이크 솔리드 (기본 홈) */
.home-actions--solid {
  grid-template-columns: minmax(12rem, 15.5rem) repeat(3, minmax(10rem, 12.5rem));
  grid-template-rows: repeat(2, minmax(4.25rem, 4.85rem));
  gap: 0.6rem;
  margin-bottom: 0;
}

.home-actions--solid .home-action {
  position: relative;
  justify-content: center;
  gap: 0;
  padding: 0.7rem 0.9rem;
  border-radius: 0.2rem;
  min-height: 0;
  overflow: visible;
  box-shadow:
    0 4px 12px rgba(1, 29, 32, 0.14),
    0 12px 32px rgba(1, 29, 32, 0.22),
    0 20px 48px rgba(1, 29, 32, 0.16);
  transition:
    color 0.32s ease,
    transform 0.25s ease,
    box-shadow 0.25s ease;
}

.home-actions--solid .home-action::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  border-radius: inherit;
  background: #ffffff;
  transform: scaleY(0);
  transform-origin: bottom center;
  transition: transform 0.38s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
  overflow: hidden;
}

.home-actions--solid .home-action:hover,
.home-actions--solid .home-action:focus-visible {
  color: #011D20;
  transform: translateY(-3px);
  box-shadow:
    0 6px 16px rgba(1, 29, 32, 0.16),
    0 18px 42px rgba(1, 29, 32, 0.28),
    0 28px 56px rgba(1, 29, 32, 0.2);
  filter: none;
  outline: none;
}

.home-actions--solid .home-action:hover::before,
.home-actions--solid .home-action:focus-visible::before {
  transform: scaleY(1);
}

.home-actions--solid .home-action__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.5rem;
  width: 100%;
  position: relative;
  z-index: 1;
}

.home-actions--solid .home-action__label {
  display: inline-flex;
  align-items: center;
  gap: 0.85rem;
  min-width: 0;
  flex: 1 1 auto;
}

.home-actions--solid .home-action__icon {
  flex-shrink: 0;
  display: block;
  width: 2.85rem;
  height: 2.85rem;
  background-color: currentColor;
  opacity: 0.95;
  -webkit-mask: center / contain no-repeat;
  mask: center / contain no-repeat;
}

.home-actions--solid .home-action--apply .home-action__icon {
  -webkit-mask-image: url("/images/home/action-icon-apply.svg");
  mask-image: url("/images/home/action-icon-apply.svg");
}

.home-actions--solid .home-action--brochure .home-action__icon {
  -webkit-mask-image: url("/images/home/action-icon-brochure.svg");
  mask-image: url("/images/home/action-icon-brochure.svg");
}

.home-actions--solid .home-action--visit .home-action__icon {
  -webkit-mask-image: url("/images/home/action-icon-visit.svg");
  mask-image: url("/images/home/action-icon-visit.svg");
}

.home-actions--solid .home-action--prereg .home-action__icon {
  -webkit-mask-image: url("/images/home/action-icon-prereg.svg");
  mask-image: url("/images/home/action-icon-prereg.svg");
}

.home-actions--solid .home-action--list .home-action__icon {
  -webkit-mask-image: url("/images/home/action-icon-list.svg");
  mask-image: url("/images/home/action-icon-list.svg");
}

.home-actions--solid .home-action__arrow {
  position: static;
  flex-shrink: 0;
  display: block;
  width: 2.65rem;
  height: 2.65rem;
  background-color: currentColor;
  -webkit-mask: url("/images/home/action-arrow-up-right.svg?v=20260826a") center / contain no-repeat;
  mask: url("/images/home/action-arrow-up-right.svg?v=20260826a") center / contain no-repeat;
  opacity: 0.92;
  transition: transform 0.22s ease, opacity 0.22s ease;
}

.home-actions--solid .home-action--visit,
.home-actions--solid .home-action--prereg,
.home-actions--solid .home-action--list {
  justify-content: flex-end;
  padding-top: 1.15rem;
  padding-bottom: 1.15rem;
}

.home-actions--solid .home-action--visit .home-action__top,
.home-actions--solid .home-action--prereg .home-action__top,
.home-actions--solid .home-action--list .home-action__top {
  position: static;
  align-items: flex-end;
  width: 100%;
}

.home-actions--solid .home-action--visit .home-action__arrow,
.home-actions--solid .home-action--prereg .home-action__arrow,
.home-actions--solid .home-action--list .home-action__arrow {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
}

html[lang="en"] .home-actions--solid .home-action--visit .home-action__icon,
html[lang="en"] .home-actions--solid .home-action--prereg .home-action__icon,
html[lang="en"] .home-actions--solid .home-action--list .home-action__icon {
  position: absolute;
  top: 0.75rem;
  left: 0.75rem;
  z-index: 2;
}

html[lang="en"] .home-actions--solid .home-action--visit .home-action__label,
html[lang="en"] .home-actions--solid .home-action--prereg .home-action__label,
html[lang="en"] .home-actions--solid .home-action--list .home-action__label {
  gap: 0;
}

.home-actions--solid .home-action__title {
  flex: 1 1 auto;
  min-width: 0;
  font-size: clamp(1.15rem, 1.55vw, 1.4rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.home-actions--solid .home-action--list .home-action__title {
  line-height: 1.2;
}

.home-actions--solid .home-action:hover .home-action__arrow,
.home-actions--solid .home-action:focus-visible .home-action__arrow {
  transform: translate(3px, -3px);
  opacity: 1;
}

/* —— Right SNS rail —— */
/* —— Right SNS rail (removed) —— */
.home-rail {
  display: none !important;
}

.home-rail a {
  pointer-events: auto;
}

.home-rail__dots {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.75rem;
}

.home-rail__dot {
  display: block;
  flex-shrink: 0;
  border-radius: 50%;
  background: #0F6055;
}

.home-rail__dot--sm {
  width: 2.5px;
  height: 2.5px;
}

.home-rail__dot--md {
  width: 7px;
  height: 7px;
  background: #0F6055;
  box-shadow: none;
}

.home-rail__dot--active {
  width: 7px;
  height: 7px;
  background: #0F6055;
  box-shadow:
    0 0 0 2px #ffffff,
    0 0 0 5px rgba(15, 96, 85, 0.45);
}

.home-rail__dot[data-home-section-dot] {
  cursor: pointer;
  pointer-events: auto;
}

.home-rail__sns {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.55rem;
  padding-bottom: 0;
}

.home-rail__sns-link {
  display: grid;
  place-items: center;
  width: 2.1rem;
  height: 2.1rem;
  border-radius: 0;
  background: transparent;
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.home-rail__sns-link:hover,
.home-rail__sns-link:focus-visible {
  transform: scale(1.1);
  opacity: 0.85;
  outline: none;
}

.home-rail__sns-link img {
  width: 1.75rem;
  height: 1.75rem;
  object-fit: contain;
  filter: brightness(0) invert(1);
}

/* —— Motion —— */
@keyframes home-bg-in {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes home-rise {
  from { opacity: 0; transform: translateY(18px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes home-rail-in {
  from { opacity: 0; transform: translateX(16px); }
  to { opacity: 1; transform: translateX(0); }
}

@media (prefers-reduced-motion: reduce) {
  .main-home__bg,
  .home-hero__copy,
  .home-actions,
  .home-rail {
    animation: none;
  }

  .home-action {
    transition: none;
  }

  .home-actions--solid .home-action::before {
    transition: none;
  }

  .home-actions--solid .home-action:hover::before,
  .home-actions--solid .home-action:focus-visible::before {
    transform: scaleY(1);
  }
}

/* —— Responsive —— */
@media (max-width: 1200px) {
  .home-actions {
    grid-template-columns: minmax(11rem, 1fr) repeat(3, minmax(8.5rem, 1fr));
    width: 100%;
  }

  .home-actions--soft {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    width: 100%;
  }

  .home-rail {
    width: 3.25rem;
  }
}

@media (max-width: 1024px) {
  .page-home .header-bg {
    background-color: #ffffff !important;
    backdrop-filter: blur(8px);
    border-bottom: none;
  }

  .page-home.is-header-clear .header-bg {
    background: transparent !important;
    background-color: transparent !important;
    border-bottom: none;
    backdrop-filter: none;
  }

  /* .main-home 이 overflow:hidden 이라 sticky 가 동작하지 않으므로 fixed + 상단 여백으로 고정한다 */
  .main-home > .header-bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 300;
  }

  .main-home {
    padding-top: 56px;
  }

  /* 태블릿도 세로가 길어 cover가 이미지를 크게 잘라내므로 전체가 보이도록 축소한다 */
  .main-home__bg {
    background-size: contain;
    background-position: right bottom;
  }

  .home-hero {
    width: 100%;
    padding-bottom: 0;
    padding-left: clamp(1rem, 4vw, 2.5rem);
    padding-right: clamp(1rem, 4vw, 2.5rem);
  }

  .home-hero > .home-facts {
    margin-left: calc(-1 * clamp(1rem, 4vw, 2.5rem));
    margin-right: calc(-1 * clamp(1rem, 4vw, 2.5rem));
  }

  .home-hero__venue.is-banner {
    margin-left: calc(-1 * clamp(1rem, 4vw, 2.5rem));
    padding-left: clamp(1rem, 4vw, 2.5rem);
    width: min(72rem, calc(100vw - clamp(1rem, 4vw, 2.5rem)));
  }

  /* 카드 종류와 무관하게 화살표를 우측 상단에 고정한다 */
  .home-actions--solid .home-action__arrow {
    position: absolute;
    top: 0.75rem;
    right: 0.75rem;
    z-index: 2;
  }

  /* 화살표 기준점을 카드로 만들고, 제목이 화살표 아래로 겹치지 않게 여백을 준다 */
  .home-actions--solid .home-action--apply .home-action__top,
  .home-actions--solid .home-action--brochure .home-action__top {
    position: static;
    padding-right: 3rem;
  }

  .home-rail {
    display: none;
  }
}

@media (max-width: 900px) {
  .home-actions,
  .home-actions--glass,
  .home-actions--soft,
  .home-actions--solid {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-template-areas:
      "apply brochure"
      "visit prereg"
      "list list";
    width: 100%;
  }

  .home-actions--outline {
    grid-template-columns: 1fr 1fr;
    grid-template-areas:
      "apply brochure"
      "visit prereg"
      "list list";
    width: 100%;
    border: none;
    gap: 0;
  }

  .home-actions--outline .home-action {
    min-height: 7.5rem;
    border: none;
    border-radius: 0;
    padding: 1.1rem 1rem 1.2rem;
  }

  .home-actions--ink {
    width: 100%;
  }

  .home-actions--ink .home-action {
    grid-template-columns: minmax(5.5rem, 7.5rem) 1fr;
  }

  .home-action {
    min-height: 5.25rem;
  }
}

@media (max-width: 560px) {
  /* 헤더(56px) 아래 남은 화면 높이를 히어로가 정확히 채우고, 마지막 자식인 Facts 를 하단에 붙인다 */
  .main-home {
    height: 100dvh;
  }

  .home-hero {
    width: 100%;
    gap: clamp(0.6rem, 1.6vh, 1.1rem);
    padding-top: clamp(0.5rem, 1.6vh, 1rem);
    padding-bottom: 0;
    padding-left: clamp(0.85rem, 4.5vw, 1.25rem);
    padding-right: clamp(0.85rem, 4.5vw, 1.25rem);
  }

  .home-hero__copy {
    padding-top: clamp(0.35rem, 1.2vh, 1rem);
  }

  .home-hero > .home-actions {
    margin-bottom: clamp(0.6rem, 1.8vh, 1.25rem);
  }

  .home-hero > .home-facts {
    margin-left: calc(-1 * clamp(0.85rem, 4.5vw, 1.25rem));
    margin-right: calc(-1 * clamp(0.85rem, 4.5vw, 1.25rem));
  }

  /* 화면 높이에 이미지 세로를 맞추고 가로는 비율대로 (오른쪽 정렬) */
  .main-home__bg {
    background-size: auto 100%;
    background-position: right bottom;
    filter: blur(2.5px) saturate(0.95);
  }

  /* 흐릿한 이미지 위에 옅은 흰 막을 덮어 텍스트 가독성을 높인다 */
  .main-home__bg::after {
    content: "";
    position: absolute;
    inset: 0;
    background-color: rgba(255, 255, 255, 0.32);
  }

  .home-hero__venue.is-banner {
    /* 좌우 패딩을 상쇄해 화면 양끝까지 채운다 */
    margin-left: calc(-1 * clamp(0.85rem, 4.5vw, 1.25rem));
    margin-right: calc(-1 * clamp(0.85rem, 4.5vw, 1.25rem));
    padding-left: clamp(0.85rem, 4.5vw, 1.25rem);
    padding-right: clamp(0.85rem, 4.5vw, 1.25rem);
    width: auto;
    max-width: none;
    /* 폭이 좁아 페이드가 일찍 시작되므로, 오른쪽 끝까지 주황을 더 유지한다 */
    background: linear-gradient(
      90deg,
      #f36b1c 0%,
      #f48022 22%,
      #f59a2e 46%,
      rgba(245, 154, 46, 0.82) 70%,
      rgba(243, 128, 34, 0.6) 88%,
      rgba(243, 107, 28, 0.42) 100%
    );
  }

  /* 날짜·장소가 줄바꿈되므로 구분자는 불필요 */
  .home-hero__venue-sep {
    display: none;
  }

  /* 날짜·장소가 두 줄로 나뉘므로 줄 간격을 좁힌다 */
  .home-hero__venue.is-banner {
    row-gap: 0.1rem;
  }

  /* 데스크톱에서는 로고 우측 끝에 맞추지만, 모바일에서는 가로 중앙 정렬 */
  .home-hero__tagline--ko {
    width: 100%;
    max-width: 100%;
    text-align: center;
  }

  .home-hero__tagline--ko .home-hero__tagline-lead {
    transform: none;
  }

  .home-hero__logo-wrap {
    width: min(21rem, 100%);
    margin-top: clamp(0.35rem, 1.2vh, 0.85rem);
  }

  /* 참가 신청만 한 줄 전체, 나머지 4개는 2x2 */
  .home-actions,
  .home-actions--glass,
  .home-actions--soft,
  .home-actions--solid,
  .home-actions--outline {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    grid-template-areas:
      "apply apply"
      "brochure visit"
      "prereg list";
  }

  .home-actions--ink .home-action {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  /* 카드가 좁아 아이콘·텍스트가 겹치므로 전체적으로 축소하고, 높이는 다섯 장 모두 통일한다 */
  .home-actions--solid .home-action {
    padding: 0.55rem 0.7rem;
    min-height: 4.5rem;
  }

  .home-actions--solid .home-action--visit,
  .home-actions--solid .home-action--prereg,
  .home-actions--solid .home-action--list {
    padding-top: 0.8rem;
    padding-bottom: 0.8rem;
  }

  .home-actions--solid .home-action__icon {
    width: 1.85rem;
    height: 1.85rem;
  }

  /* 카드 종류와 무관하게 화살표를 우측 상단에 고정한다 */
  .home-actions--solid .home-action__arrow {
    position: absolute;
    top: 0.5rem;
    right: 0.5rem;
    z-index: 2;
    width: 1.6rem;
    height: 1.6rem;
  }

  /* 화살표 기준점을 카드로 만들고, 제목이 화살표 아래로 겹치지 않게 여백을 준다 */
  .home-actions--solid .home-action--apply .home-action__top,
  .home-actions--solid .home-action--brochure .home-action__top {
    position: static;
    padding-right: 1.9rem;
  }

  .home-actions--solid .home-action__label {
    gap: 0.45rem;
  }

  .home-actions--solid .home-action__top {
    gap: 0.3rem;
  }

  .home-actions--solid .home-action__title {
    font-size: 0.95rem;
    line-height: 1.2;
  }

  /* 한글은 글자 단위로 끊기므로 줄바꿈을 막아 한 줄로 유지한다 */
  .home-actions--solid .home-action--prereg .home-action__title,
  .home-actions--solid .home-action--visit .home-action__title {
    white-space: nowrap;
  }
}

/* —— Facts & Figures —— */
.home-facts {
  flex: 0 0 auto;
  width: 100%;
  color: #ffffff;
}

.page-home {
  --home-counting-bg: url("/images/home/home-countdown-bg.png?v=20260826i");
}

.home-counting-bg,
.page-home .home-countdown {
  background-color: #0a322b;
  background-image: var(--home-counting-bg);
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}

.home-facts__inner.home-counting-bg {
  position: relative;
  width: 100%;
  overflow: hidden;
  background-image: none;
  /* 반투명 민트로 뒤쪽 배경 이미지가 비쳐 보이게 한다 */
  background-color: rgba(47, 192, 166, 0.78);
}

/* 배경 이미지 없이 단색만 사용한다 */
.home-facts__inner.home-counting-bg::before {
  content: none;
}

.home-facts__content {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1.25rem, 3vw, 3rem);
  padding: clamp(1.1rem, 2.2vw, 1.75rem) 0;
}

.home-facts__title {
  margin: 0;
  flex: 0 0 auto;
  font-size: clamp(1.55rem, 3.2vw, 2.6rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #ffffff;
  white-space: nowrap;
}

.home-facts__stats {
  display: flex;
  align-items: flex-start;
  justify-content: flex-end;
  flex: 1 1 auto;
  gap: clamp(1.75rem, 5vw, 5rem);
  flex-wrap: wrap;
}

.home-facts__stat {
  min-width: 0;
  text-align: left;
}

.home-facts__value {
  display: flex;
  align-items: baseline;
  gap: 0.2em;
  margin: 0;
  font-weight: 500;
  line-height: 1;
  color: #ffffff;
}

.home-facts__number {
  font-size: clamp(1.55rem, 3.4vw, 2.5rem);
  letter-spacing: -0.03em;
  font-variant-numeric: tabular-nums;
}

.home-facts__unit {
  font-size: clamp(0.85rem, 1.5vw, 1.1rem);
  font-weight: 500;
  letter-spacing: -0.01em;
}

.home-facts__label {
  margin: 0.4rem 0 0;
  font-size: clamp(0.72rem, 0.95vw, 0.85rem);
  font-weight: 400;
  line-height: 1.35;
  color: rgba(255, 255, 255, 0.88);
}

@media (max-width: 900px) {
  .home-facts__content {
    flex-direction: column;
    align-items: flex-start;
    gap: 2rem;
  }

  .home-facts__stats {
    width: 100%;
    justify-content: space-between;
    gap: 1.5rem 2rem;
  }
}

/* 컨테이너 최대폭(1440px)보다 좁아지면 좌우가 화면 끝에 붙으므로 여백을 준다 */
@media (max-width: 1200px) {
  .home-facts__content {
    padding-left: clamp(1rem, 3vw, 2.5rem);
    padding-right: clamp(1rem, 3vw, 2.5rem);
  }
}

@media (max-width: 560px) {
  .home-facts__title {
    white-space: normal;
  }

  .home-facts__content {
    padding-left: 1.25rem;
    padding-right: 1.25rem;
  }

  /* 좁은 화면에서도 3개 항목을 한 줄에 유지한다 */
  .home-facts__stats {
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    gap: 0.75rem;
  }

  .home-facts__stat {
    flex: 1 1 0;
  }

  .home-facts__value {
    gap: 0.15em;
    white-space: nowrap;
  }

  .home-facts__number {
    font-size: 1.25rem;
  }

  .home-facts__unit {
    font-size: 0.75rem;
  }

  .home-facts__label {
    margin-top: 0.3rem;
    font-size: 0.68rem;
    white-space: nowrap;
  }
}

/* —— Feed (NOTICE / 관련뉴스 / 파트너) —— */
.page-home .home-feed {
  /* Facts & Figures 아래 피드 영역은 노출하지 않는다 */
  display: none;
  flex: 0 0 auto;
  width: 100%;
  background: #ffffff;
}

/* NOTICE + 배너존 2열 */
.home-notice-banner {
  padding: clamp(3.5rem, 7vw, 7.5rem) 0 clamp(1.5rem, 3vw, 2.75rem);
  background: #ffffff;
  color: #111111;
}

.home-notice-banner__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 4.5rem);
  align-items: stretch;
}

.home-notice,
.home-banner-zone {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.home-notice__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.page-home .home-banner-zone .home-notice__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.page-home .home-banner-zone .home-notice__title {
  margin: 0;
  font-size: clamp(2rem, 3.2vw, 2.5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #111111;
}

.page-home .home-banner-zone .home-notice__more {
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  color: #111111;
  text-decoration: none;
  white-space: nowrap;
}

.page-home .home-banner-zone .home-notice__more:hover,
.page-home .home-banner-zone .home-notice__more:focus-visible {
  color: #0f6055;
}

.home-notice__title {
  margin: 0;
  font-size: clamp(2rem, 3.2vw, 2.5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #111111;
}

.home-notice__more {
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  color: #111111;
  text-decoration: none;
  white-space: nowrap;
}

.home-notice__more:hover,
.home-notice__more:focus-visible {
  color: #0f6055;
}

.page-home .home-notice .notice-list {
  width: 100%;
  flex: 1 1 auto;
}

.page-home .home-notice .notice-item {
  display: flex;
  align-items: center;
  gap: 1rem;
  padding: clamp(1.25rem, 2vw, 2rem) 0;
  border-bottom: 1px solid #eeeeee;
  text-decoration: none;
  color: inherit;
}

.page-home .home-notice .notice-item:first-child {
  padding-top: 0;
}

.page-home .home-notice .notice-item > span:nth-child(2) {
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: clamp(0.95rem, 1.1vw, 1.05rem);
  font-weight: 400;
  color: #222222;
}

.home-banner-zone {
  display: flex;
  flex-direction: column;
  min-height: 0;
  position: relative;
}

.home-banner-zone__viewport {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  display: flex;
  flex-direction: column;
}

.home-banner-zone__slider {
  position: relative;
  flex: 1 1 auto;
  width: 100%;
  min-height: 0;
  height: 100%;
  background: linear-gradient(180deg, #d4eb5f 0%, #c8e636 100%);
  border-radius: 0.35rem;
  overflow: hidden;
  touch-action: pan-y;
}

.home-banner-zone__slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: opacity 0.45s ease;
  pointer-events: none;
}

.home-banner-zone__slide.is-active {
  opacity: 1;
  pointer-events: auto;
}

.home-banner-zone__link {
  display: block;
  width: 100%;
  height: 100%;
}

.home-banner-zone__image {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 0;
  object-fit: cover;
  object-position: center;
}

.home-banner-zone__nav {
  position: absolute;
  top: 50%;
  z-index: 3;
  transform: translateY(-50%);
  width: 2.25rem;
  height: 2.25rem;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(1, 29, 32, 0.45);
  color: #ffffff;
  font-size: 1.5rem;
  line-height: 1;
  cursor: pointer;
  display: grid;
  place-items: center;
  transition: background-color 0.2s ease, opacity 0.2s ease;
}

.home-banner-zone__nav:hover,
.home-banner-zone__nav:focus-visible {
  background: rgba(15, 96, 85, 0.85);
  outline: none;
}

.home-banner-zone__nav--prev {
  left: 0.65rem;
}

.home-banner-zone__nav--next {
  right: 0.65rem;
}

.home-banner-zone__nav[hidden],
.home-banner-zone__dots[hidden] {
  display: none !important;
}

.home-banner-zone__dots {
  display: flex;
  justify-content: center;
  gap: 0.45rem;
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0.75rem;
  margin-top: 0;
  z-index: 2;
}

.home-banner-zone__dot {
  width: 0.55rem;
  height: 0.55rem;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.65);
  box-shadow: 0 0 0 1px rgba(1, 29, 32, 0.2);
  cursor: pointer;
}

.home-banner-zone__dot.is-active {
  background: #0f6055;
  box-shadow: none;
}

@media (max-width: 1024px) {
  .home-notice-banner__inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }
}

.page-home .notice-list__empty {
  margin: 0;
  padding: 24px 0;
  color: #888;
  font-size: 14px;
}

.page-home .notice-badge {
  flex-shrink: 0;
  min-width: 2em;
  margin-right: 0;
  font-size: 14px;
  font-weight: 500;
  color: #888;
}

.page-home .notice-item > span:nth-child(2) {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

/* 관련 뉴스 + 참가기업 배너 2열 */
.page-home .home-news-exhibitor.related-news-section {
  padding: clamp(3.5rem, 7vw, 7.5rem) 0;
}

.home-news-exhibitor {
  padding: clamp(3.5rem, 7vw, 7.5rem) 0;
}

.home-news-exhibitor__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(2rem, 4vw, 4.5rem);
  align-items: start;
}

.home-related-news,
.home-participating-banner {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.page-home .home-related-news .related-news-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.page-home .home-related-news .related-news-title {
  margin: 0;
  font-size: clamp(2rem, 3.2vw, 2.5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #111111;
}

.page-home .home-related-news .related-news-more {
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  color: #111111;
  text-decoration: none;
  white-space: nowrap;
}

.page-home .home-related-news .related-news-more:hover,
.page-home .home-related-news .related-news-more:focus-visible {
  color: #0f6055;
}

.page-home .home-related-news .related-news-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, auto);
  gap: clamp(0.65rem, 1.1vw, 1rem);
  flex: 0 0 auto;
}

.page-home .home-related-news .related-news-card:nth-child(n + 5) {
  display: none;
}

.page-home .home-related-news .related-news-thumb {
  aspect-ratio: 16 / 8.5;
}

.page-home .home-related-news .related-news-body {
  padding: clamp(0.65rem, 0.95vw, 0.85rem);
}

.page-home .home-related-news .related-news-headline {
  font-size: clamp(0.8rem, 0.9vw, 0.92rem);
  font-weight: 600;
  line-height: 1.35;
  -webkit-line-clamp: 2;
}

.page-home .home-related-news .related-news-empty {
  grid-column: 1 / -1;
  margin: 0;
  padding: 1.5rem 0;
  color: #888888;
  font-size: 0.95rem;
}

.page-home .home-participating-banner .home-notice__header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: clamp(1.5rem, 3vw, 2.5rem);
}

.page-home .home-participating-banner .home-notice__title {
  margin: 0;
  font-size: clamp(2rem, 3.2vw, 2.5rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #111111;
}

.page-home .home-participating-banner .home-notice__more {
  flex-shrink: 0;
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.4;
  color: #111111;
  text-decoration: none;
  white-space: nowrap;
}

.page-home .home-participating-banner .home-notice__more:hover,
.page-home .home-participating-banner .home-notice__more:focus-visible {
  color: #0f6055;
}

.home-participating-banner__viewport {
  position: relative;
  overflow: hidden;
  box-sizing: border-box;
  min-height: 16rem;
}

.home-participating-banner__track {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.4vw, 2rem) clamp(0.85rem, 1.6vw, 1.35rem);
  align-content: start;
  will-change: transform;
  transform: translate3d(0, -50%, 0);
}

.home-participating-banner__track.is-rolling {
  animation-name: home-participating-roll-down;
  animation-timing-function: linear;
  animation-iteration-count: infinite;
}

.home-participating-banner__track.is-paused,
.home-participating-banner__viewport:hover .home-participating-banner__track.is-rolling {
  animation-play-state: paused;
}

@keyframes home-participating-roll-down {
  from {
    transform: translate3d(0, -50%, 0);
  }
  to {
    transform: translate3d(0, 0, 0);
  }
}

.home-participating-banner__item {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 4.25rem;
  height: auto;
  padding: 0.45rem 0.25rem;
  background: transparent;
  border: none;
  border-radius: 0;
  text-decoration: none;
  box-shadow: none;
  transition: opacity 0.2s ease, transform 0.2s ease;
}

.home-participating-banner__item:hover,
.home-participating-banner__item:focus-visible {
  opacity: 0.82;
  transform: scale(1.04);
  outline: none;
  box-shadow: none;
  border: none;
}

.home-participating-banner__logo {
  display: block;
  width: 100%;
  max-width: 100%;
  max-height: clamp(2rem, 3.8vw, 3.25rem);
  object-fit: contain;
}

.home-participating-banner__empty {
  margin: 0;
  padding: 2rem 0;
  text-align: center;
  color: #888888;
  font-size: 0.95rem;
}

@media (prefers-reduced-motion: reduce) {
  .home-participating-banner__track,
  .home-participating-banner__track.is-rolling {
    animation: none !important;
    transform: none !important;
  }
}

@media (max-width: 1024px) {
  .home-news-exhibitor__inner {
    grid-template-columns: 1fr;
    gap: 3rem;
  }

  .page-home .home-related-news .related-news-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .home-participating-banner__viewport {
    min-height: 14rem;
  }
}

@media (max-width: 640px) {
  .page-home .home-related-news .related-news-grid {
    grid-template-columns: 1fr;
  }

  .home-participating-banner__track {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .home-participating-banner__item {
    min-height: 3.5rem;
  }
}

/* 전시 개막 카운트다운 */
.page-home .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.home-countdown {
  position: relative;
  overflow: hidden;
  padding: clamp(1.5rem, 3.2vw, 2.5rem) 0;
  color: #ffffff;
}

.home-countdown__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: clamp(1.15rem, 3vw, 3rem);
}

.home-countdown__label {
  margin: 0;
  flex: 0 1 auto;
  font-size: clamp(1.7rem, 4.35vw, 3.25rem);
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.02em;
  color: #ffffff;
  white-space: nowrap;
}

.home-countdown__timer {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  flex: 1 1 auto;
  gap: clamp(0.2rem, 0.55vw, 0.45rem);
  font-family: "Orbitron", "Rajdhani", "Noto Sans", sans-serif;
  font-size: clamp(2rem, 5.1vw, 3.85rem);
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.04em;
  color: #ffffff;
  font-variant-numeric: tabular-nums;
}

.home-countdown__unit {
  align-self: flex-end;
  margin-right: clamp(0.5rem, 1.15vw, 0.95rem);
  padding-bottom: 0.06em;
  font-size: 0.67em;
  font-weight: 500;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #ffffff;
  white-space: nowrap;
}

.home-countdown__value {
  min-width: 2ch;
  text-align: center;
}

.home-countdown__sep {
  margin: 0;
  color: #ffffff;
  opacity: 0.95;
}

@media (max-width: 768px) {
  .home-countdown__inner {
    flex-direction: column;
    align-items: flex-start;
    gap: 0.85rem;
  }

  .home-countdown__timer {
    width: 100%;
    justify-content: flex-start;
    font-size: clamp(1.65rem, 8.5vw, 2.5rem);
  }

  .home-countdown__label {
    font-size: clamp(1.4rem, 7.2vw, 2.15rem);
    white-space: normal;
  }
}

/* 홈 파트너(주관/주최/후원) 로고 높이 통일 */
.page-home .partner-section .partner-main-logo,
.page-home .partner-section .logo-md,
.page-home .partner-section .logo-sm,
.page-home .partner-section .sponsor-marquee-content img {
  height: 36px;
  width: auto;
  max-width: 210px;
  object-fit: contain;
  object-position: center;
  display: block;
  flex-shrink: 0;
}

.page-home .partner-section a:has(> img.partner-main-logo),
.page-home .partner-section a:has(> img.logo-md),
.page-home .partner-section a:has(> img.logo-sm),
.page-home .partner-section .sponsor-marquee-content a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  height: 36px;
  line-height: 0;
}

.page-home .partner-section .partner-host-logos {
  min-height: 36px;
}

@media (max-width: 1024px) {
  .page-home .partner-section .partner-main-logo,
  .page-home .partner-section .logo-md,
  .page-home .partner-section .logo-sm,
  .page-home .partner-section .sponsor-marquee-content img {
    height: 30px;
    max-width: 185px;
  }

  .page-home .partner-section a:has(> img.partner-main-logo),
  .page-home .partner-section a:has(> img.logo-md),
  .page-home .partner-section a:has(> img.logo-sm),
  .page-home .partner-section .sponsor-marquee-content a {
    height: 30px;
  }

  .page-home .partner-section .partner-host-logos {
    min-height: 30px;
  }
}

@media (max-width: 767px) {
  .page-home .partner-section .partner-main-logo,
  .page-home .partner-section .logo-md,
  .page-home .partner-section .logo-sm,
  .page-home .partner-section .sponsor-marquee-content img {
    height: 26px;
    max-width: 165px;
  }

  .page-home .partner-section a:has(> img.partner-main-logo),
  .page-home .partner-section a:has(> img.logo-md),
  .page-home .partner-section a:has(> img.logo-sm),
  .page-home .partner-section .sponsor-marquee-content a {
    height: 26px;
  }

  .page-home .partner-section .partner-host-logos {
    min-height: 26px;
  }
}
