@charset "UTF-8";
/*
 * 중앙하이츠 구성 플랫폼시티 (js-guseong.com)
 * 프로젝트 전용 오버라이드 — 레이아웃·섹션·반응형 커스텀
 *
 * 브랜드 컬러 (site-logo-dark/light 기준)
 *  --rh-navy:        #143085  로고 네이비
 *  --rh-accent:      #238EC7  스카이 블루 (메뉴 호버·인터랙션)
 *  --rh-accent-warm: #E59542  웜 오렌지
 *  --rh-accent-mint: #8AC896  민트 그린
 */
:root {
  --rh-navy: #143085;
  --rh-navy-deep: #11284e;
  --rh-accent: #238ec7;
  --rh-accent-soft: #6ec0e8;
  --rh-accent-warm: #e59542;
  --rh-accent-mint: #8ac896;
}

/* 커스텀 커서(DRAG/CLICK/skip) — 미사용·노출 버그로 전면 비활성 */
#cursor {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  pointer-events: none !important;
}

/* 히어로 영상 폴백 / 메인 로고 */
.rh-intro-vd:after,
.rh-main-vd:after {
  background: url(../project/perspective_day.jpg?v=20261103hq) center / cover
    no-repeat !important;
}

.rh-main-logo {
  width: 16rem !important;
  height: 10rem !important;
  background: url(../project/site-logo-light.png) center / contain no-repeat !important;
}

.rh-main-logo::after {
  background: url(../project/site-logo-light.png) center / contain no-repeat !important;
}

@media all and (max-width: 1400px) {
  .rh-main-logo {
    width: 13rem !important;
    height: 8.2rem !important;
  }
}

@media all and (max-width: 767px) {
  .rh-main-logo {
    width: 8rem !important;
    height: 8rem !important;
  }
}

/* ========== 에듀포레 스토리 숏 인트로 ========== */
.rh-intro-wrap.richell-story-intro::before {
  display: none !important;
}

.richell-story-intro {
  overflow: hidden;
  background: #0b1524;
}

.richell-story-intro-bgs {
  position: absolute;
  inset: 0;
  z-index: 1;
}

.richell-story-intro-bg {
  position: absolute;
  inset: 0;
  opacity: 0;
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  background-repeat: no-repeat;
  background-size: cover;
  -webkit-transition:
    opacity 1s ease,
    -webkit-transform 5.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1s ease,
    -webkit-transform 5.5s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 1s ease,
    transform 5.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1s ease,
    transform 5.5s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1s ease,
    transform 5.5s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 5.5s cubic-bezier(0.22, 1, 0.36, 1);
  will-change: opacity, transform;
}

.richell-story-intro-bg.is-station {
  background-image: url(../project/perspective_day.jpg?v=20261103hq);
  background-position: center 38%;
}

.richell-story-intro-bg.is-life {
  background-image: url(../project/aerial_day.jpg?v=20261103hq);
  background-position: center 58%;
}

.richell-story-intro-bg.is-home {
  background-image: url(../project/perspective_day.jpg?v=20261103hq);
  background-position: center 62%;
}

.richell-story-intro.is-step-1 .richell-story-intro-bg.is-station,
.richell-story-intro.is-step-2 .richell-story-intro-bg.is-life,
.richell-story-intro.is-step-3 .richell-story-intro-bg.is-home,
.richell-story-intro.is-step-4 .richell-story-intro-bg.is-home {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.richell-story-intro.is-step-4 .richell-story-intro-bg.is-home {
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
  -webkit-transition:
    opacity 1s ease,
    -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1s ease,
    -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 1s ease,
    transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1s ease,
    transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1s ease,
    transform 2.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-story-intro-veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    -o-radial-gradient(
      50% 42%,
      ellipse 70% 55%,
      rgba(8, 16, 30, 0.15) 0%,
      rgba(8, 16, 30, 0.55) 70%,
      rgba(8, 16, 30, 0.78) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.35) 0%,
        rgba(8, 16, 30, 0.2) 40%,
        rgba(8, 16, 30, 0.72) 100%
      );
  background:
    -o-radial-gradient(
      50% 42%,
      ellipse 70% 55%,
      rgba(8, 16, 30, 0.15) 0%,
      rgba(8, 16, 30, 0.55) 70%,
      rgba(8, 16, 30, 0.78) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.35) 0%,
        rgba(8, 16, 30, 0.2) 40%,
        rgba(8, 16, 30, 0.72) 100%
      );
  background:
    -o-radial-gradient(
      50% 42%,
      ellipse 70% 55%,
      rgba(8, 16, 30, 0.15) 0%,
      rgba(8, 16, 30, 0.55) 70%,
      rgba(8, 16, 30, 0.78) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.35) 0%,
        rgba(8, 16, 30, 0.2) 40%,
        rgba(8, 16, 30, 0.72) 100%
      );
  background:
    -o-radial-gradient(
      50% 42%,
      ellipse 70% 55%,
      rgba(8, 16, 30, 0.15) 0%,
      rgba(8, 16, 30, 0.55) 70%,
      rgba(8, 16, 30, 0.78) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.35) 0%,
        rgba(8, 16, 30, 0.2) 40%,
        rgba(8, 16, 30, 0.72) 100%
      );
  background:
    -o-radial-gradient(
      50% 42%,
      ellipse 70% 55%,
      rgba(8, 16, 30, 0.15) 0%,
      rgba(8, 16, 30, 0.55) 70%,
      rgba(8, 16, 30, 0.78) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.35) 0%,
        rgba(8, 16, 30, 0.2) 40%,
        rgba(8, 16, 30, 0.72) 100%
      );
  background:
    -o-radial-gradient(
      50% 42%,
      ellipse 70% 55%,
      rgba(8, 16, 30, 0.15) 0%,
      rgba(8, 16, 30, 0.55) 70%,
      rgba(8, 16, 30, 0.78) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.35) 0%,
        rgba(8, 16, 30, 0.2) 40%,
        rgba(8, 16, 30, 0.72) 100%
      );
  background:
    radial-gradient(
      ellipse 70% 55% at 50% 42%,
      rgba(8, 16, 30, 0.15) 0%,
      rgba(8, 16, 30, 0.55) 70%,
      rgba(8, 16, 30, 0.78) 100%
    ),
    -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(rgba(8, 16, 30, 0.35)),
        color-stop(40%, rgba(8, 16, 30, 0.2)),
        to(rgba(8, 16, 30, 0.72))
      );
  background:
    -o-radial-gradient(
      50% 42%,
      ellipse 70% 55%,
      rgba(8, 16, 30, 0.15) 0%,
      rgba(8, 16, 30, 0.55) 70%,
      rgba(8, 16, 30, 0.78) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.35) 0%,
        rgba(8, 16, 30, 0.2) 40%,
        rgba(8, 16, 30, 0.72) 100%
      );
  background:
    radial-gradient(
      ellipse 70% 55% at 50% 42%,
      rgba(8, 16, 30, 0.15) 0%,
      rgba(8, 16, 30, 0.55) 70%,
      rgba(8, 16, 30, 0.78) 100%
    ),
    linear-gradient(
      180deg,
      rgba(8, 16, 30, 0.35) 0%,
      rgba(8, 16, 30, 0.2) 40%,
      rgba(8, 16, 30, 0.72) 100%
    );
  -webkit-transition:
    opacity 0.7s ease,
    background 0.9s ease;
  -o-transition:
    opacity 0.7s ease,
    background 0.9s ease;
  transition:
    opacity 0.7s ease,
    background 0.9s ease;
}

.richell-story-intro.is-step-4 .richell-story-intro-veil {
  background:
    -o-radial-gradient(
      50% 48%,
      ellipse 48% 42%,
      rgba(201, 169, 110, 0.14) 0%,
      rgba(8, 16, 30, 0.28) 42%,
      rgba(8, 16, 30, 0.82) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.55) 0%,
        rgba(8, 16, 30, 0.35) 45%,
        rgba(8, 16, 30, 0.88) 100%
      );
  background:
    -o-radial-gradient(
      50% 48%,
      ellipse 48% 42%,
      rgba(201, 169, 110, 0.14) 0%,
      rgba(8, 16, 30, 0.28) 42%,
      rgba(8, 16, 30, 0.82) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.55) 0%,
        rgba(8, 16, 30, 0.35) 45%,
        rgba(8, 16, 30, 0.88) 100%
      );
  background:
    -o-radial-gradient(
      50% 48%,
      ellipse 48% 42%,
      rgba(201, 169, 110, 0.14) 0%,
      rgba(8, 16, 30, 0.28) 42%,
      rgba(8, 16, 30, 0.82) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.55) 0%,
        rgba(8, 16, 30, 0.35) 45%,
        rgba(8, 16, 30, 0.88) 100%
      );
  background:
    -o-radial-gradient(
      50% 48%,
      ellipse 48% 42%,
      rgba(201, 169, 110, 0.14) 0%,
      rgba(8, 16, 30, 0.28) 42%,
      rgba(8, 16, 30, 0.82) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.55) 0%,
        rgba(8, 16, 30, 0.35) 45%,
        rgba(8, 16, 30, 0.88) 100%
      );
  background:
    -o-radial-gradient(
      50% 48%,
      ellipse 48% 42%,
      rgba(201, 169, 110, 0.14) 0%,
      rgba(8, 16, 30, 0.28) 42%,
      rgba(8, 16, 30, 0.82) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.55) 0%,
        rgba(8, 16, 30, 0.35) 45%,
        rgba(8, 16, 30, 0.88) 100%
      );
  background:
    -o-radial-gradient(
      50% 48%,
      ellipse 48% 42%,
      rgba(201, 169, 110, 0.14) 0%,
      rgba(8, 16, 30, 0.28) 42%,
      rgba(8, 16, 30, 0.82) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.55) 0%,
        rgba(8, 16, 30, 0.35) 45%,
        rgba(8, 16, 30, 0.88) 100%
      );
  background:
    radial-gradient(
      ellipse 48% 42% at 50% 48%,
      rgba(201, 169, 110, 0.14) 0%,
      rgba(8, 16, 30, 0.28) 42%,
      rgba(8, 16, 30, 0.82) 100%
    ),
    -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(rgba(8, 16, 30, 0.55)),
        color-stop(45%, rgba(8, 16, 30, 0.35)),
        to(rgba(8, 16, 30, 0.88))
      );
  background:
    -o-radial-gradient(
      50% 48%,
      ellipse 48% 42%,
      rgba(201, 169, 110, 0.14) 0%,
      rgba(8, 16, 30, 0.28) 42%,
      rgba(8, 16, 30, 0.82) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(8, 16, 30, 0.55) 0%,
        rgba(8, 16, 30, 0.35) 45%,
        rgba(8, 16, 30, 0.88) 100%
      );
  background:
    radial-gradient(
      ellipse 48% 42% at 50% 48%,
      rgba(201, 169, 110, 0.14) 0%,
      rgba(8, 16, 30, 0.28) 42%,
      rgba(8, 16, 30, 0.82) 100%
    ),
    linear-gradient(
      180deg,
      rgba(8, 16, 30, 0.55) 0%,
      rgba(8, 16, 30, 0.35) 45%,
      rgba(8, 16, 30, 0.88) 100%
    );
}

.richell-story-intro-stage {
  position: relative;
  z-index: 3;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: min(92vw, 44rem);
  padding: 0 1.25rem;
  text-align: center;
  pointer-events: none;
}

.richell-story-intro-kicker {
  margin: 0 0 1.1rem;
  font-family: "lexend", "Pretendard", sans-serif;
  font-size: clamp(0.72rem, 1.1vw, 0.85rem);
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(201, 169, 110, 0.92);
  opacity: 0;
  -webkit-transform: translate3d(0, 0.6rem, 0);
  -ms-transform: translate3d(0, 0.6rem, 0);
  transform: translate3d(0, 0.6rem, 0);
  -webkit-transition:
    opacity 0.7s ease,
    -webkit-transform 0.7s ease,
    letter-spacing 1s ease;
  -webkit-transition:
    opacity 0.7s ease,
    letter-spacing 1s ease,
    -webkit-transform 0.7s ease;
  transition:
    opacity 0.7s ease,
    letter-spacing 1s ease,
    -webkit-transform 0.7s ease;
  -o-transition:
    opacity 0.7s ease,
    transform 0.7s ease,
    letter-spacing 1s ease;
  transition:
    opacity 0.7s ease,
    transform 0.7s ease,
    letter-spacing 1s ease;
  transition:
    opacity 0.7s ease,
    transform 0.7s ease,
    letter-spacing 1s ease,
    -webkit-transform 0.7s ease;
}

.richell-story-intro.is-ready .richell-story-intro-kicker {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.richell-story-intro.is-step-4 .richell-story-intro-kicker {
  letter-spacing: 0.34em;
  color: rgba(201, 169, 110, 1);
}

.richell-story-intro-panels {
  position: relative;
  width: 100%;
  min-height: clamp(3.6rem, 8vw, 5.2rem);
  -webkit-transition: -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-story-intro.is-step-4 .richell-story-intro-panels {
  -webkit-transform: translate3d(0, -0.35rem, 0);
  -ms-transform: translate3d(0, -0.35rem, 0);
  transform: translate3d(0, -0.35rem, 0);
}

.richell-story-intro-panel {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  margin: 0;
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  font-size: clamp(1.55rem, 3.6vw, 2.75rem);
  font-weight: 600;
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: #fff;
  text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
  opacity: 0;
  -webkit-transform: translate3d(0, calc(-50% + 1.1rem), 0);
  -ms-transform: translate3d(0, calc(-50% + 1.1rem), 0);
  transform: translate3d(0, calc(-50% + 1.1rem), 0);
  -webkit-transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-story-intro-panel.is-finale {
  font-size: clamp(1.65rem, 3.9vw, 3rem);
  font-weight: 700;
  letter-spacing: -0.03em;
}

.richell-story-intro-panel.is-finale em {
  font-style: normal;
  color: #fff;
  padding-bottom: 0.12em;
  background-image: -o-linear-gradient(#c9a96e, #c9a96e);
  background-image: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(#c9a96e),
    to(#c9a96e)
  );
  background-image: linear-gradient(#c9a96e, #c9a96e);
  background-repeat: no-repeat;
  background-position: left 100%;
  background-size: 0% 2px;
  -webkit-transition: background-size 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.25s;
  -o-transition: background-size 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.25s;
  transition: background-size 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.25s;
}

.richell-story-intro.is-step-3 .richell-story-intro-panel.is-finale em,
.richell-story-intro.is-step-4 .richell-story-intro-panel.is-finale em {
  background-size: 100% 2px;
}

.richell-story-intro.is-step-1 .richell-story-intro-panel[data-story="1"],
.richell-story-intro.is-step-2 .richell-story-intro-panel[data-story="2"],
.richell-story-intro.is-step-3 .richell-story-intro-panel[data-story="3"],
.richell-story-intro.is-step-4 .richell-story-intro-panel[data-story="3"] {
  opacity: 1;
  -webkit-transform: translate3d(0, -50%, 0);
  -ms-transform: translate3d(0, -50%, 0);
  transform: translate3d(0, -50%, 0);
}

.richell-story-intro.is-step-3 .richell-story-intro-panel.is-finale {
  -webkit-animation: richellStoryFinaleIn 0.95s cubic-bezier(0.22, 1, 0.36, 1)
    both;
  animation: richellStoryFinaleIn 0.95s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@-webkit-keyframes richellStoryFinaleIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, calc(-50% + 1.4rem), 0) scale(0.96);
    transform: translate3d(0, calc(-50% + 1.4rem), 0) scale(0.96);
    -webkit-filter: blur(4px);
    filter: blur(4px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, -50%, 0) scale(1);
    transform: translate3d(0, -50%, 0) scale(1);
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

@keyframes richellStoryFinaleIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, calc(-50% + 1.4rem), 0) scale(0.96);
    transform: translate3d(0, calc(-50% + 1.4rem), 0) scale(0.96);
    -webkit-filter: blur(4px);
    filter: blur(4px);
  }
  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, -50%, 0) scale(1);
    transform: translate3d(0, -50%, 0) scale(1);
    -webkit-filter: blur(0);
    filter: blur(0);
  }
}

.richell-story-intro-rule {
  width: 0;
  height: 1px;
  margin: 1.35rem 0 0;
  background: -o-linear-gradient(
    left,
    transparent,
    rgba(201, 169, 110, 0.95),
    transparent
  );
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(transparent),
    color-stop(rgba(201, 169, 110, 0.95)),
    to(transparent)
  );
  background: linear-gradient(
    90deg,
    transparent,
    rgba(201, 169, 110, 0.95),
    transparent
  );
  opacity: 0;
  -webkit-transition:
    width 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.55s ease;
  -o-transition:
    width 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.55s ease;
  transition:
    width 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    opacity 0.55s ease;
}

.richell-story-intro.is-step-4 .richell-story-intro-rule {
  width: min(12rem, 42vw);
  opacity: 1;
}

.richell-story-intro-brand {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 1.55rem;
  width: clamp(9rem, 18vw, 13rem);
  height: clamp(5.6rem, 11.5vw, 8.2rem);
  opacity: 0;
  -webkit-transform: scale(0.55);
  -ms-transform: scale(0.55);
  transform: scale(0.55);
  -webkit-transition:
    opacity 0.2s ease,
    -webkit-transform 1.15s cubic-bezier(0.16, 1, 0.3, 1);
  transition:
    opacity 0.2s ease,
    -webkit-transform 1.15s cubic-bezier(0.16, 1, 0.3, 1);
  -o-transition:
    opacity 0.2s ease,
    transform 1.15s cubic-bezier(0.16, 1, 0.3, 1);
  transition:
    opacity 0.2s ease,
    transform 1.15s cubic-bezier(0.16, 1, 0.3, 1);
  transition:
    opacity 0.2s ease,
    transform 1.15s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-transform 1.15s cubic-bezier(0.16, 1, 0.3, 1);
}

.richell-story-intro-brand-glow {
  position: absolute;
  inset: -28%;
  border-radius: 50%;
  background: -o-radial-gradient(
    circle,
    rgba(201, 169, 110, 0.42) 0%,
    rgba(201, 169, 110, 0.12) 42%,
    transparent 70%
  );
  background: radial-gradient(
    circle,
    rgba(201, 169, 110, 0.42) 0%,
    rgba(201, 169, 110, 0.12) 42%,
    transparent 70%
  );
  opacity: 0;
  -webkit-transform: scale(0.6);
  -ms-transform: scale(0.6);
  transform: scale(0.6);
  -webkit-transition:
    opacity 0.9s ease,
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s ease,
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.9s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  pointer-events: none;
}

.richell-story-intro-brand-ring {
  position: absolute;
  inset: -10%;
  border-radius: 50%;
  border: 1px solid rgba(201, 169, 110, 0.55);
  opacity: 0;
  -webkit-transform: scale(0.7);
  -ms-transform: scale(0.7);
  transform: scale(0.7);
  pointer-events: none;
  -webkit-box-shadow: 0 0 0 0 rgba(201, 169, 110, 0.25);
  box-shadow: 0 0 0 0 rgba(201, 169, 110, 0.25);
}

.richell-story-intro-brand img {
  position: relative;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -webkit-filter: drop-shadow(0 10px 32px rgba(0, 0, 0, 0.4));
  filter: drop-shadow(0 10px 32px rgba(0, 0, 0, 0.4));
}

.richell-story-intro.is-step-4 .richell-story-intro-brand {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.richell-story-intro.is-step-4 .richell-story-intro-brand-glow {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.richell-story-intro.is-step-4 .richell-story-intro-brand-ring {
  -webkit-animation: richellStoryLogoRing 1.35s cubic-bezier(0.22, 1, 0.36, 1)
    0.12s both;
  animation: richellStoryLogoRing 1.35s cubic-bezier(0.22, 1, 0.36, 1) 0.12s
    both;
}

@-webkit-keyframes richellStoryLogoRing {
  0% {
    opacity: 0.85;
    -webkit-transform: scale(0.72);
    transform: scale(0.72);
    -webkit-box-shadow: 0 0 0 0 rgba(201, 169, 110, 0.35);
    box-shadow: 0 0 0 0 rgba(201, 169, 110, 0.35);
  }
  70% {
    opacity: 0.45;
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.28);
    transform: scale(1.28);
    -webkit-box-shadow: 0 0 0 18px rgba(201, 169, 110, 0);
    box-shadow: 0 0 0 18px rgba(201, 169, 110, 0);
  }
}

@keyframes richellStoryLogoRing {
  0% {
    opacity: 0.85;
    -webkit-transform: scale(0.72);
    transform: scale(0.72);
    -webkit-box-shadow: 0 0 0 0 rgba(201, 169, 110, 0.35);
    box-shadow: 0 0 0 0 rgba(201, 169, 110, 0.35);
  }
  70% {
    opacity: 0.45;
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.28);
    transform: scale(1.28);
    -webkit-box-shadow: 0 0 0 18px rgba(201, 169, 110, 0);
    box-shadow: 0 0 0 18px rgba(201, 169, 110, 0);
  }
}

.richell-story-intro.is-leaving {
  pointer-events: none;
}

.richell-story-intro.is-leaving .richell-story-intro-veil {
  opacity: 0.2;
}

.richell-story-intro.is-leaving .richell-story-intro-stage {
  opacity: 0;
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
  -webkit-transition:
    opacity 0.7s ease,
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s ease,
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s ease,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-story-intro.is-leaving .richell-story-intro-brand {
  -webkit-transform: scale(1.08);
  -ms-transform: scale(1.08);
  transform: scale(1.08);
}

@media all and (max-width: 767px) {
  .richell-story-intro-kicker {
    margin-bottom: 0.85rem;
    letter-spacing: 0.22em;
  }

  .richell-story-intro-panels {
    min-height: 3.4rem;
  }

  .richell-story-intro-panel {
    font-size: clamp(1.35rem, 6.4vw, 1.75rem);
  }

  .richell-story-intro-panel.is-finale {
    font-size: clamp(1.45rem, 6.8vw, 1.9rem);
  }

  .richell-story-intro-rule {
    margin-top: 1.1rem;
  }

  .richell-story-intro-brand {
    margin-top: 1.25rem;
    width: clamp(4.75rem, 22vw, 6rem);
    height: clamp(4.75rem, 22vw, 6rem);
  }

  .richell-story-intro-bg.is-station,
  .richell-story-intro-bg.is-home {
    background-position: center 32%;
  }
}

/* 인트로 SKIP — PC/모바일 공통 고정 버튼 */
.rh-main-skip-wrap {
  position: fixed !important;
  inset: 0;
  z-index: 1000000000;
  width: auto !important;
  height: auto !important;
  pointer-events: none;
  background: transparent;
}

.rh-main-skip-wrap[hidden] {
  display: none !important;
}

.rh-main-skip-wrap.is-revealed {
  display: block !important;
  opacity: 1 !important;
  visibility: visible !important;
}

.rh-main-skip-wrap.is-revealed .rh-main-skip-bt:not(.is-enter) {
  animation: none !important;
}

.rh-main-skip-bt.is-mouse-follow.is-enter {
  -webkit-animation: richell-skip-pop 0.32s cubic-bezier(0.16, 1, 0.3, 1) both;
  animation: richell-skip-pop 0.32s cubic-bezier(0.16, 1, 0.3, 1) both;
}

@-webkit-keyframes richell-skip-pop {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0.72);
    transform: translate(-50%, -50%) scale(0.72);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
  }
}

@keyframes richell-skip-pop {
  from {
    opacity: 0;
    -webkit-transform: translate(-50%, -50%) scale(0.72);
    transform: translate(-50%, -50%) scale(0.72);
  }
  to {
    opacity: 1;
    -webkit-transform: translate(-50%, -50%) scale(1);
    transform: translate(-50%, -50%) scale(1);
  }
}

.rh-main-skip-bt {
  pointer-events: auto;
  position: fixed !important;
  right: clamp(1.25rem, 3vw, 2.5rem);
  bottom: clamp(1.25rem, 4vh, 2.75rem);
  left: auto;
  top: auto;
  z-index: 1000000001;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  width: 4.5rem !important;
  height: 4.5rem !important;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(17, 40, 78, 0.85);
  color: #fff;
  cursor: pointer;
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-backdrop-filter: blur(6px);
  backdrop-filter: blur(6px);
  -webkit-box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
  transition:
    background 0.25s ease,
    opacity 0.45s ease,
    -webkit-transform 0.25s ease;
  -webkit-transition:
    background 0.25s ease,
    opacity 0.45s ease,
    -webkit-transform 0.25s ease;
  -o-transition:
    background 0.25s ease,
    opacity 0.45s ease,
    transform 0.25s ease;
  transition:
    background 0.25s ease,
    opacity 0.45s ease,
    transform 0.25s ease;
  transition:
    background 0.25s ease,
    opacity 0.45s ease,
    transform 0.25s ease,
    -webkit-transform 0.25s ease;
}

/* PC: 인트로 중 SKIP이 커서를 따라다님 (left/top은 JS가 지정) */
.rh-main-skip-bt.is-mouse-follow {
  right: auto !important;
  bottom: auto !important;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  -webkit-transition:
    background 0.25s ease,
    opacity 0.45s ease;
  -o-transition:
    background 0.25s ease,
    opacity 0.45s ease;
  transition:
    background 0.25s ease,
    opacity 0.45s ease;
  will-change: left, top;
  cursor: pointer;
}

@media all and (max-width: 1024px) {
  .rh-main-skip-bt.is-mouse-follow {
    right: clamp(1.25rem, 3vw, 2.5rem) !important;
    bottom: clamp(1.25rem, 4vh, 2.75rem) !important;
    left: auto !important;
    top: auto !important;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    cursor: pointer;
    will-change: auto;
  }

  .rh-main-skip-bt.is-mouse-follow:hover,
  .rh-main-skip-bt.is-mouse-follow:focus-visible {
    -webkit-transform: scale(1.04);
    -ms-transform: scale(1.04);
    transform: scale(1.04);
  }
}

.rh-main-skip-bt.is-mouse-follow:hover,
.rh-main-skip-bt.is-mouse-follow:focus-visible {
  background: rgba(17, 40, 78, 0.92);
  cursor: pointer;
  -webkit-transform: translate(-50%, -50%) scale(1.06);
  -ms-transform: translate(-50%, -50%) scale(1.06);
  transform: translate(-50%, -50%) scale(1.06);
}

.rh-main-skip-bt:hover:not(.is-mouse-follow),
.rh-main-skip-bt:focus-visible:not(.is-mouse-follow) {
  background: rgba(17, 40, 78, 0.92);
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
  outline: none;
}

.rh-main-skip-bt span,
.rh-main-skip-bt p {
  display: block !important;
  margin: 0;
  font-family: "lexend", "Pretendard", sans-serif;
  font-size: 0.8rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  line-height: 1;
}

.rh-main-skip-bt::before {
  content: "";
  position: absolute;
  inset: -0.7rem;
  border-radius: 50%;
  border: 1px solid rgba(255, 255, 255, 0.28);
  pointer-events: none;
  -webkit-animation: richell-skip-pulse 2s ease-out infinite;
  animation: richell-skip-pulse 2s ease-out infinite;
}

@-webkit-keyframes richell-skip-pulse {
  0% {
    opacity: 0.7;
    -webkit-transform: scale(0.92);
    transform: scale(0.92);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.18);
    transform: scale(1.18);
  }
}

@keyframes richell-skip-pulse {
  0% {
    opacity: 0.7;
    -webkit-transform: scale(0.92);
    transform: scale(0.92);
  }
  100% {
    opacity: 0;
    -webkit-transform: scale(1.18);
    transform: scale(1.18);
  }
}

/* 히어로: 주간 투시도 (비교용 — 기존 aerial_day와 교체) */
.rh-main-vd:after {
  display: none;
}

/* 히어로 슬로건 — 우측 중상단 (역세권 배너형 구도) */
.rh-main-txt-box.richell-hero-copy {
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  /* 오른쪽 여백을 넓혀 화면 가장자리에 붙지 않게 */
  padding: 0 clamp(4.5rem, 12vw, 11rem) 0 1.25rem;
}

.rh-main-txt-box.richell-hero-copy > .richell-hero-copy-inner {
  max-width: min(34rem, 46vw);
  margin: 0;
  padding-bottom: 6vh;
  text-align: right;
  color: #fff;
  -webkit-transform: translateY(-9vh);
  -ms-transform: translateY(-9vh);
  transform: translateY(-9vh);
  text-shadow:
    0 1px 2px rgba(0, 0, 0, 0.45),
    0 4px 22px rgba(0, 0, 0, 0.35);
}

.rh-main-txt-box.richell-hero-copy .richell-hero-copy-points {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0.4rem;
  margin: 0 0 1.1rem;
  padding: 0;
  list-style: none;
  opacity: 0;
  -webkit-transform: translateY(-0.6rem);
  -ms-transform: translateY(-0.6rem);
  transform: translateY(-0.6rem);
  -webkit-transition:
    opacity 1.1s 0.15s,
    -webkit-transform 1.1s 0.15s;
  transition:
    opacity 1.1s 0.15s,
    -webkit-transform 1.1s 0.15s;
  -o-transition:
    opacity 1.1s 0.15s,
    transform 1.1s 0.15s;
  transition:
    opacity 1.1s 0.15s,
    transform 1.1s 0.15s;
  transition:
    opacity 1.1s 0.15s,
    transform 1.1s 0.15s,
    -webkit-transform 1.1s 0.15s;
}

.rh-main-txt-box.richell-hero-copy .richell-hero-copy-points li {
  position: relative;
  margin: 0;
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  font-size: clamp(1.05rem, 1.25vw, 1.25rem);
  font-weight: 400;
  line-height: 1.45;
  letter-spacing: -0.02em;
  word-break: keep-all;
  opacity: 0.95;
}

.rh-main-txt-box.richell-hero-copy .richell-hero-copy-points li::before {
  display: none;
}

.rh-main-txt-box.richell-hero-copy .richell-hero-copy-title {
  margin: 0;
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  font-size: clamp(2.55rem, 4.6vw, 4rem);
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.045em;
  word-break: keep-all;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.rh-main-txt-box.richell-hero-copy .richell-hero-copy-line {
  display: block;
  overflow: hidden;
  white-space: nowrap;
}

.rh-main-txt-box.richell-hero-copy .richell-hero-copy-line--accent {
  margin-top: 0.06em;
}

.rh-main-txt-box.richell-hero-copy .richell-hero-copy-title strong {
  font-weight: 800;
  font-style: normal;
}

.rh-main-txt-box.richell-hero-copy .richell-hero-copy-brand {
  margin: 1.15rem 0 0;
  overflow: visible;
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  font-size: clamp(1.2rem, 1.55vw, 1.55rem);
  font-weight: 600;
  letter-spacing: -0.02em;
  color: #fff;
}

.rh-main-txt-box.richell-hero-copy .richell-hero-copy-rise {
  display: block;
  opacity: 0;
  -webkit-transform: translate3d(0, 108%, 0);
  transform: translate3d(0, 108%, 0);
  -webkit-transition:
    opacity 0.45s ease,
    -webkit-transform 0.82s cubic-bezier(0.16, 1, 0.3, 1);
  transition:
    opacity 0.45s ease,
    -webkit-transform 0.82s cubic-bezier(0.16, 1, 0.3, 1);
  -o-transition:
    opacity 0.45s ease,
    transform 0.82s cubic-bezier(0.16, 1, 0.3, 1);
  transition:
    opacity 0.45s ease,
    transform 0.82s cubic-bezier(0.16, 1, 0.3, 1);
  transition:
    opacity 0.45s ease,
    transform 0.82s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-transform 0.82s cubic-bezier(0.16, 1, 0.3, 1);
}

.rh-main-txt-box.richell-hero-copy
  .richell-hero-copy-line:nth-child(1)
  .richell-hero-copy-rise {
  -webkit-transition-delay: 0.08s;
  -o-transition-delay: 0.08s;
  transition-delay: 0.08s;
}

.rh-main-txt-box.richell-hero-copy
  .richell-hero-copy-line:nth-child(2)
  .richell-hero-copy-rise {
  -webkit-transition-delay: 0.3s;
  -o-transition-delay: 0.3s;
  transition-delay: 0.3s;
}

.rh-main-txt-box.richell-hero-copy
  .richell-hero-copy-brand
  .richell-hero-copy-rise {
  opacity: 0;
  -webkit-transform: translate3d(0, 0.35em, 0);
  transform: translate3d(0, 0.35em, 0);
  -webkit-transition:
    opacity 1.55s ease,
    -webkit-transform 1.35s ease;
  transition:
    opacity 1.55s ease,
    -webkit-transform 1.35s ease;
  -o-transition:
    opacity 1.55s ease,
    transform 1.35s ease;
  transition:
    opacity 1.55s ease,
    transform 1.35s ease;
  transition:
    opacity 1.55s ease,
    transform 1.35s ease,
    -webkit-transform 1.35s ease;
  -webkit-transition-delay: 0.72s;
  -o-transition-delay: 0.72s;
  transition-delay: 0.72s;
}

.rh-main-txt-box.richell-hero-copy .richell-hero-copy-brand em {
  font-style: normal;
  font-weight: 700;
  color: #fff;
  border-bottom: 2px solid rgba(196, 165, 116, 0.95);
  padding-bottom: 0.08em;
}

.rh-main-wrap.on .rh-main-txt-box.richell-hero-copy .richell-hero-copy-points,
.rh-main-wrap.on .rh-main-txt-box.richell-hero-copy .richell-hero-copy-rise,
.rh-main-wrap.end .rh-main-txt-box.richell-hero-copy .richell-hero-copy-rise {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

@media (prefers-reduced-motion: reduce) {
  .rh-main-txt-box.richell-hero-copy .richell-hero-copy-rise {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

@media (max-width: 1400px) {
  .rh-main-txt-box.richell-hero-copy {
    padding-right: clamp(3rem, 9vw, 7rem);
  }

  .rh-main-txt-box.richell-hero-copy > .richell-hero-copy-inner {
    max-width: min(28rem, 48vw);
    -webkit-transform: translateY(-7vh) !important;
    -ms-transform: translateY(-7vh) !important;
    transform: translateY(-7vh) !important;
  }
}

@media (max-width: 767px) {
  .rh-main-txt-box.richell-hero-copy {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 5.5rem 1.25rem 0;
  }

  .rh-main-txt-box.richell-hero-copy > .richell-hero-copy-inner {
    max-width: 100%;
    padding-bottom: 0;
    text-align: center;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .rh-main-txt-box.richell-hero-copy .richell-hero-copy-points {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 0.85rem;
  }

  .rh-main-txt-box.richell-hero-copy .richell-hero-copy-points li {
    font-size: 1rem;
  }

  .rh-main-txt-box.richell-hero-copy .richell-hero-copy-title {
    font-size: clamp(2rem, 8vw, 2.65rem);
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .rh-main-txt-box.richell-hero-copy .richell-hero-copy-line {
    white-space: normal;
  }

  .rh-main-txt-box.richell-hero-copy .richell-hero-copy-brand {
    font-size: 1.15rem;
  }
}

.rh-main-vd-box::before {
  background: url(../project/perspective_day.jpg?v=20261103hq) no-repeat center /
    cover;
  opacity: 1;
}

.rh-main-wrap.on .rh-main-vd-box::before {
  opacity: 1;
}

/* 분양일정(on2) 시 검정 박스 위로 이미지만 어둡게 → 글씨 가독성 */
.rh-main-wrap.on2 .rh-main-vd-box::before {
  opacity: 0.2;
}

/* 패드/모바일 분양일정 섹션 배경 — 중앙하이츠 투시도 */
.rh-main02::before {
  background: url(../project/perspective_day.jpg?v=20261103hq) no-repeat center /
    cover !important;
}

/* 흰 GNB·히어로 카피 가독성: 상단~중상단까지 어둡게 + 가장자리 비네트 */
.rh-main-vd-box::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 8;
  pointer-events: none;
  background:
    -o-linear-gradient(
      top,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.42) 18%,
      rgba(0, 0, 0, 0.22) 38%,
      rgba(0, 0, 0, 0.08) 52%,
      rgba(0, 0, 0, 0) 68%
    ),
    -o-radial-gradient(
        center,
        ellipse,
        rgba(0, 0, 0, 0) 42%,
        rgba(0, 0, 0, 0.28) 100%
      );
  background:
    -o-linear-gradient(
      top,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.42) 18%,
      rgba(0, 0, 0, 0.22) 38%,
      rgba(0, 0, 0, 0.08) 52%,
      rgba(0, 0, 0, 0) 68%
    ),
    -o-radial-gradient(
        center,
        ellipse,
        rgba(0, 0, 0, 0) 42%,
        rgba(0, 0, 0, 0.28) 100%
      );
  background:
    -o-linear-gradient(
      top,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.42) 18%,
      rgba(0, 0, 0, 0.22) 38%,
      rgba(0, 0, 0, 0.08) 52%,
      rgba(0, 0, 0, 0) 68%
    ),
    -o-radial-gradient(
        center,
        ellipse,
        rgba(0, 0, 0, 0) 42%,
        rgba(0, 0, 0, 0.28) 100%
      );
  background:
    -o-linear-gradient(
      top,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.42) 18%,
      rgba(0, 0, 0, 0.22) 38%,
      rgba(0, 0, 0, 0.08) 52%,
      rgba(0, 0, 0, 0) 68%
    ),
    -o-radial-gradient(
        center,
        ellipse,
        rgba(0, 0, 0, 0) 42%,
        rgba(0, 0, 0, 0.28) 100%
      );
  background:
    -o-linear-gradient(
      top,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.42) 18%,
      rgba(0, 0, 0, 0.22) 38%,
      rgba(0, 0, 0, 0.08) 52%,
      rgba(0, 0, 0, 0) 68%
    ),
    -o-radial-gradient(
        center,
        ellipse,
        rgba(0, 0, 0, 0) 42%,
        rgba(0, 0, 0, 0.28) 100%
      );
  background:
    -o-linear-gradient(
      top,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.42) 18%,
      rgba(0, 0, 0, 0.22) 38%,
      rgba(0, 0, 0, 0.08) 52%,
      rgba(0, 0, 0, 0) 68%
    ),
    -o-radial-gradient(
        center,
        ellipse,
        rgba(0, 0, 0, 0) 42%,
        rgba(0, 0, 0, 0.28) 100%
      );
  background:
    -o-linear-gradient(
      top,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.42) 18%,
      rgba(0, 0, 0, 0.22) 38%,
      rgba(0, 0, 0, 0.08) 52%,
      rgba(0, 0, 0, 0) 68%
    ),
    -o-radial-gradient(
        center,
        ellipse,
        rgba(0, 0, 0, 0) 42%,
        rgba(0, 0, 0, 0.28) 100%
      );
  background:
    -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(rgba(0, 0, 0, 0.62)),
      color-stop(18%, rgba(0, 0, 0, 0.42)),
      color-stop(38%, rgba(0, 0, 0, 0.22)),
      color-stop(52%, rgba(0, 0, 0, 0.08)),
      color-stop(68%, rgba(0, 0, 0, 0))
    ),
    radial-gradient(
      ellipse at center,
      rgba(0, 0, 0, 0) 42%,
      rgba(0, 0, 0, 0.28) 100%
    );
  background:
    -o-linear-gradient(
      top,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.42) 18%,
      rgba(0, 0, 0, 0.22) 38%,
      rgba(0, 0, 0, 0.08) 52%,
      rgba(0, 0, 0, 0) 68%
    ),
    -o-radial-gradient(
        center,
        ellipse,
        rgba(0, 0, 0, 0) 42%,
        rgba(0, 0, 0, 0.28) 100%
      );
  background:
    linear-gradient(
      to bottom,
      rgba(0, 0, 0, 0.62) 0%,
      rgba(0, 0, 0, 0.42) 18%,
      rgba(0, 0, 0, 0.22) 38%,
      rgba(0, 0, 0, 0.08) 52%,
      rgba(0, 0, 0, 0) 68%
    ),
    radial-gradient(
      ellipse at center,
      rgba(0, 0, 0, 0) 42%,
      rgba(0, 0, 0, 0.28) 100%
    );
  -webkit-transition: opacity 0.8s;
  -o-transition: opacity 0.8s;
  transition: opacity 0.8s;
}

.rh-main-wrap.on2 .rh-main-vd-box::after {
  opacity: 0;
}

/* 2섹션(sum): perspective_day — 하늘 pan 대신 단지·남천 zoom-in + 가독성 베일
   3섹션(overview, 남천 물세권): aerial_day — 조감도 */
.rh-sum-bg {
  overflow: hidden;
}

.rh-sum-bg::before {
  background: url(../project/perspective_day.jpg?v=20261103hq) no-repeat center
    58% / cover !important;
  -webkit-transform: scale(1.14) !important;
  -ms-transform: scale(1.14) !important;
  transform: scale(1.14) !important;
  -webkit-transform-origin: center 62%;
  -ms-transform-origin: center 62%;
  transform-origin: center 62%;
  -webkit-filter: saturate(1.05);
  filter: saturate(1.05);
  -webkit-transition:
    background-position 1.6s ease,
    -webkit-transform 2.8s ease,
    -webkit-filter 1.2s ease !important;
  transition:
    background-position 1.6s ease,
    -webkit-transform 2.8s ease,
    -webkit-filter 1.2s ease !important;
  -o-transition:
    transform 2.8s ease,
    background-position 1.6s ease,
    filter 1.2s ease !important;
  transition:
    transform 2.8s ease,
    background-position 1.6s ease,
    filter 1.2s ease !important;
  transition:
    transform 2.8s ease,
    background-position 1.6s ease,
    filter 1.2s ease,
    -webkit-transform 2.8s ease,
    -webkit-filter 1.2s ease !important;
}

/* 좌측 Overview용 소프트 라이트 베일 (사업개요 on2는 어두운 베일로 전환) */
.rh-sum-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  opacity: 0.35;
  background:
    -o-linear-gradient(
      left,
      rgba(255, 255, 255, 0.42) 0%,
      rgba(255, 255, 255, 0.18) 22%,
      rgba(255, 255, 255, 0.05) 42%,
      rgba(255, 255, 255, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(255, 255, 255, 0.16) 0%,
        rgba(255, 255, 255, 0.04) 40%,
        rgba(255, 255, 255, 0.18) 100%
      );
  background:
    -o-linear-gradient(
      left,
      rgba(255, 255, 255, 0.42) 0%,
      rgba(255, 255, 255, 0.18) 22%,
      rgba(255, 255, 255, 0.05) 42%,
      rgba(255, 255, 255, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(255, 255, 255, 0.16) 0%,
        rgba(255, 255, 255, 0.04) 40%,
        rgba(255, 255, 255, 0.18) 100%
      );
  background:
    -o-linear-gradient(
      left,
      rgba(255, 255, 255, 0.42) 0%,
      rgba(255, 255, 255, 0.18) 22%,
      rgba(255, 255, 255, 0.05) 42%,
      rgba(255, 255, 255, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(255, 255, 255, 0.16) 0%,
        rgba(255, 255, 255, 0.04) 40%,
        rgba(255, 255, 255, 0.18) 100%
      );
  background:
    -o-linear-gradient(
      left,
      rgba(255, 255, 255, 0.42) 0%,
      rgba(255, 255, 255, 0.18) 22%,
      rgba(255, 255, 255, 0.05) 42%,
      rgba(255, 255, 255, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(255, 255, 255, 0.16) 0%,
        rgba(255, 255, 255, 0.04) 40%,
        rgba(255, 255, 255, 0.18) 100%
      );
  background:
    -o-linear-gradient(
      left,
      rgba(255, 255, 255, 0.42) 0%,
      rgba(255, 255, 255, 0.18) 22%,
      rgba(255, 255, 255, 0.05) 42%,
      rgba(255, 255, 255, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(255, 255, 255, 0.16) 0%,
        rgba(255, 255, 255, 0.04) 40%,
        rgba(255, 255, 255, 0.18) 100%
      );
  background:
    -o-linear-gradient(
      left,
      rgba(255, 255, 255, 0.42) 0%,
      rgba(255, 255, 255, 0.18) 22%,
      rgba(255, 255, 255, 0.05) 42%,
      rgba(255, 255, 255, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(255, 255, 255, 0.16) 0%,
        rgba(255, 255, 255, 0.04) 40%,
        rgba(255, 255, 255, 0.18) 100%
      );
  background:
    -webkit-gradient(
      linear,
      left top,
      right top,
      from(rgba(255, 255, 255, 0.42)),
      color-stop(22%, rgba(255, 255, 255, 0.18)),
      color-stop(42%, rgba(255, 255, 255, 0.05)),
      to(rgba(255, 255, 255, 0))
    ),
    -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(rgba(255, 255, 255, 0.16)),
        color-stop(40%, rgba(255, 255, 255, 0.04)),
        to(rgba(255, 255, 255, 0.18))
      );
  background:
    -o-linear-gradient(
      left,
      rgba(255, 255, 255, 0.42) 0%,
      rgba(255, 255, 255, 0.18) 22%,
      rgba(255, 255, 255, 0.05) 42%,
      rgba(255, 255, 255, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(255, 255, 255, 0.16) 0%,
        rgba(255, 255, 255, 0.04) 40%,
        rgba(255, 255, 255, 0.18) 100%
      );
  background:
    linear-gradient(
      to right,
      rgba(255, 255, 255, 0.42) 0%,
      rgba(255, 255, 255, 0.18) 22%,
      rgba(255, 255, 255, 0.05) 42%,
      rgba(255, 255, 255, 0) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0.16) 0%,
      rgba(255, 255, 255, 0.04) 40%,
      rgba(255, 255, 255, 0.18) 100%
    );
  -webkit-transition:
    opacity 1.1s ease,
    background 1.1s ease;
  -o-transition:
    opacity 1.1s ease,
    background 1.1s ease;
  transition:
    opacity 1.1s ease,
    background 1.1s ease;
}

.rh-sum-wrap.on .rh-sum-bg::before,
.rh-sum-wrap.on2 .rh-sum-bg::before {
  -webkit-transform: scale(1.06) !important;
  -ms-transform: scale(1.06) !important;
  transform: scale(1.06) !important;
  background-position: center 52% !important;
}

/* 사업개요(on2): 단지·남천 zoom + 어두운 베일 (흰 글씨 가독성) */
.rh-sum-wrap.on2 .rh-sum-bg::before {
  background: url(../project/perspective_day.jpg?v=20261103hq) no-repeat center
    68% / cover !important;
  -webkit-transform: scale(1.22) !important;
  -ms-transform: scale(1.22) !important;
  transform: scale(1.22) !important;
  -webkit-transform-origin: center 70%;
  -ms-transform-origin: center 70%;
  transform-origin: center 70%;
  -webkit-filter: saturate(1.05) brightness(0.72);
  filter: saturate(1.05) brightness(0.72);
}

.rh-sum-wrap.on2 .rh-sum-bg::after {
  opacity: 1;
  background: -o-linear-gradient(
    top,
    rgba(7, 11, 20, 0.58) 0%,
    rgba(7, 11, 20, 0.42) 35%,
    rgba(7, 11, 20, 0.48) 65%,
    rgba(7, 11, 20, 0.62) 100%
  );
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(7, 11, 20, 0.58)),
    color-stop(35%, rgba(7, 11, 20, 0.42)),
    color-stop(65%, rgba(7, 11, 20, 0.48)),
    to(rgba(7, 11, 20, 0.62))
  );
  background: linear-gradient(
    to bottom,
    rgba(7, 11, 20, 0.58) 0%,
    rgba(7, 11, 20, 0.42) 35%,
    rgba(7, 11, 20, 0.48) 65%,
    rgba(7, 11, 20, 0.62) 100%
  );
}

.rh-sum-tit-box {
  z-index: 2;
}

.overview-wrap::before {
  background: url(../project/aerial_day.jpg?v=20261103hq) no-repeat center 62% /
    cover;
}

/* 남천 섹션: Overview와 다르게 — 하단 남천 쪽 카피 + 하단만 다크 그라데이션
   상단은 GNB 가독성을 위해 밝게 유지 */
.overview-wrap.richell-namcheon::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
  pointer-events: none;
  background:
    -o-linear-gradient(
      top,
      rgba(255, 255, 255, 0.78) 0%,
      rgba(255, 255, 255, 0.42) 10%,
      rgba(255, 255, 255, 0.12) 20%,
      rgba(255, 255, 255, 0) 32%,
      rgba(7, 11, 20, 0) 55%,
      rgba(7, 11, 20, 0.28) 72%,
      rgba(7, 11, 20, 0.62) 88%,
      rgba(7, 11, 20, 0.78) 100%
    ),
    -o-linear-gradient(
        left,
        rgba(255, 255, 255, 0.28) 0%,
        rgba(255, 255, 255, 0.1) 18%,
        rgba(255, 255, 255, 0) 40%,
        rgba(255, 255, 255, 0) 78%,
        rgba(255, 255, 255, 0.22) 100%
      );
  background:
    -o-linear-gradient(
      top,
      rgba(255, 255, 255, 0.78) 0%,
      rgba(255, 255, 255, 0.42) 10%,
      rgba(255, 255, 255, 0.12) 20%,
      rgba(255, 255, 255, 0) 32%,
      rgba(7, 11, 20, 0) 55%,
      rgba(7, 11, 20, 0.28) 72%,
      rgba(7, 11, 20, 0.62) 88%,
      rgba(7, 11, 20, 0.78) 100%
    ),
    -o-linear-gradient(
        left,
        rgba(255, 255, 255, 0.28) 0%,
        rgba(255, 255, 255, 0.1) 18%,
        rgba(255, 255, 255, 0) 40%,
        rgba(255, 255, 255, 0) 78%,
        rgba(255, 255, 255, 0.22) 100%
      );
  background:
    -o-linear-gradient(
      top,
      rgba(255, 255, 255, 0.78) 0%,
      rgba(255, 255, 255, 0.42) 10%,
      rgba(255, 255, 255, 0.12) 20%,
      rgba(255, 255, 255, 0) 32%,
      rgba(7, 11, 20, 0) 55%,
      rgba(7, 11, 20, 0.28) 72%,
      rgba(7, 11, 20, 0.62) 88%,
      rgba(7, 11, 20, 0.78) 100%
    ),
    -o-linear-gradient(
        left,
        rgba(255, 255, 255, 0.28) 0%,
        rgba(255, 255, 255, 0.1) 18%,
        rgba(255, 255, 255, 0) 40%,
        rgba(255, 255, 255, 0) 78%,
        rgba(255, 255, 255, 0.22) 100%
      );
  background:
    -o-linear-gradient(
      top,
      rgba(255, 255, 255, 0.78) 0%,
      rgba(255, 255, 255, 0.42) 10%,
      rgba(255, 255, 255, 0.12) 20%,
      rgba(255, 255, 255, 0) 32%,
      rgba(7, 11, 20, 0) 55%,
      rgba(7, 11, 20, 0.28) 72%,
      rgba(7, 11, 20, 0.62) 88%,
      rgba(7, 11, 20, 0.78) 100%
    ),
    -o-linear-gradient(
        left,
        rgba(255, 255, 255, 0.28) 0%,
        rgba(255, 255, 255, 0.1) 18%,
        rgba(255, 255, 255, 0) 40%,
        rgba(255, 255, 255, 0) 78%,
        rgba(255, 255, 255, 0.22) 100%
      );
  background:
    -o-linear-gradient(
      top,
      rgba(255, 255, 255, 0.78) 0%,
      rgba(255, 255, 255, 0.42) 10%,
      rgba(255, 255, 255, 0.12) 20%,
      rgba(255, 255, 255, 0) 32%,
      rgba(7, 11, 20, 0) 55%,
      rgba(7, 11, 20, 0.28) 72%,
      rgba(7, 11, 20, 0.62) 88%,
      rgba(7, 11, 20, 0.78) 100%
    ),
    -o-linear-gradient(
        left,
        rgba(255, 255, 255, 0.28) 0%,
        rgba(255, 255, 255, 0.1) 18%,
        rgba(255, 255, 255, 0) 40%,
        rgba(255, 255, 255, 0) 78%,
        rgba(255, 255, 255, 0.22) 100%
      );
  background:
    -o-linear-gradient(
      top,
      rgba(255, 255, 255, 0.78) 0%,
      rgba(255, 255, 255, 0.42) 10%,
      rgba(255, 255, 255, 0.12) 20%,
      rgba(255, 255, 255, 0) 32%,
      rgba(7, 11, 20, 0) 55%,
      rgba(7, 11, 20, 0.28) 72%,
      rgba(7, 11, 20, 0.62) 88%,
      rgba(7, 11, 20, 0.78) 100%
    ),
    -o-linear-gradient(
        left,
        rgba(255, 255, 255, 0.28) 0%,
        rgba(255, 255, 255, 0.1) 18%,
        rgba(255, 255, 255, 0) 40%,
        rgba(255, 255, 255, 0) 78%,
        rgba(255, 255, 255, 0.22) 100%
      );
  background:
    -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(rgba(255, 255, 255, 0.78)),
      color-stop(10%, rgba(255, 255, 255, 0.42)),
      color-stop(20%, rgba(255, 255, 255, 0.12)),
      color-stop(32%, rgba(255, 255, 255, 0)),
      color-stop(55%, rgba(7, 11, 20, 0)),
      color-stop(72%, rgba(7, 11, 20, 0.28)),
      color-stop(88%, rgba(7, 11, 20, 0.62)),
      to(rgba(7, 11, 20, 0.78))
    ),
    -webkit-gradient(
        linear,
        left top,
        right top,
        from(rgba(255, 255, 255, 0.28)),
        color-stop(18%, rgba(255, 255, 255, 0.1)),
        color-stop(40%, rgba(255, 255, 255, 0)),
        color-stop(78%, rgba(255, 255, 255, 0)),
        to(rgba(255, 255, 255, 0.22))
      );
  background:
    -o-linear-gradient(
      top,
      rgba(255, 255, 255, 0.78) 0%,
      rgba(255, 255, 255, 0.42) 10%,
      rgba(255, 255, 255, 0.12) 20%,
      rgba(255, 255, 255, 0) 32%,
      rgba(7, 11, 20, 0) 55%,
      rgba(7, 11, 20, 0.28) 72%,
      rgba(7, 11, 20, 0.62) 88%,
      rgba(7, 11, 20, 0.78) 100%
    ),
    -o-linear-gradient(
        left,
        rgba(255, 255, 255, 0.28) 0%,
        rgba(255, 255, 255, 0.1) 18%,
        rgba(255, 255, 255, 0) 40%,
        rgba(255, 255, 255, 0) 78%,
        rgba(255, 255, 255, 0.22) 100%
      );
  background:
    linear-gradient(
      to bottom,
      rgba(255, 255, 255, 0.78) 0%,
      rgba(255, 255, 255, 0.42) 10%,
      rgba(255, 255, 255, 0.12) 20%,
      rgba(255, 255, 255, 0) 32%,
      rgba(7, 11, 20, 0) 55%,
      rgba(7, 11, 20, 0.28) 72%,
      rgba(7, 11, 20, 0.62) 88%,
      rgba(7, 11, 20, 0.78) 100%
    ),
    linear-gradient(
      to right,
      rgba(255, 255, 255, 0.28) 0%,
      rgba(255, 255, 255, 0.1) 18%,
      rgba(255, 255, 255, 0) 40%,
      rgba(255, 255, 255, 0) 78%,
      rgba(255, 255, 255, 0.22) 100%
    );
}

.overview-wrap.richell-namcheon .over-tit-box {
  z-index: 2;
  width: min(46%, 34rem) !important;
  height: auto !important;
  left: 3.25rem !important;
  right: auto !important;
  top: auto !important;
  bottom: 3.25rem !important;
  -webkit-box-pack: start !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
  -webkit-box-align: end !important;
  -ms-flex-align: end !important;
  align-items: flex-end !important;
  opacity: 0;
  -webkit-transform: translate3d(0, 2.25rem, 0) !important;
  -ms-transform: translate3d(0, 2.25rem, 0) !important;
  transform: translate3d(0, 2.25rem, 0) !important;
  -webkit-transition:
    opacity 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
  -o-transition:
    opacity 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.overview-wrap.richell-namcheon .over-tit-box > div {
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  max-width: 32rem;
}

.richell-namcheon-eyebrow {
  margin: 0 0 0.75rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.overview-wrap.richell-namcheon .over-tit-box h2 {
  color: #fff !important;
  font-size: clamp(1.85rem, 2.8vw, 2.45rem) !important;
  letter-spacing: -0.03em;
  line-height: 1.3 !important;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
  word-break: keep-all;
}

.overview-wrap.richell-namcheon .over-tit-box p {
  margin-top: 1.15rem !important;
  color: rgba(255, 255, 255, 0.82);
  font-size: 0.9375rem !important;
  line-height: 1.75 !important;
  opacity: 1 !important;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.3);
  word-break: keep-all;
}

.overview-wrap.richell-namcheon.on .over-tit-box,
.overview-wrap.richell-namcheon.active .over-tit-box {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) !important;
  -ms-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
}

.overview-wrap.richell-namcheon.on::before,
.overview-wrap.richell-namcheon.active::before {
  background-position: center 70% !important;
}

@media (max-width: 1200px) {
  .overview-wrap.richell-namcheon .over-tit-box {
    width: min(58%, 30rem) !important;
    left: 2rem !important;
    bottom: 2.5rem !important;
  }
}

@media (max-width: 900px) {
  .overview-wrap.richell-namcheon .over-tit-box {
    width: auto !important;
    left: 1.25rem !important;
    right: 1.25rem !important;
    bottom: 1.75rem !important;
  }

  .overview-wrap.richell-namcheon .over-tit-box p br {
    display: none;
  }
}

/* 모바일: 남천 라이프 — 과도한 높이 축소 + 문구 가독성 */
@media (max-width: 1400px) {
  .overview-wrap.richell-namcheon {
    height: 72vh !important;
    height: 72svh !important;
    min-height: 26rem;
    max-height: 40rem;
    padding: 0 !important;
    overflow: hidden;
  }

  .overview-wrap.richell-namcheon .over-tit-box {
    position: absolute !important;
    left: 1.25rem !important;
    right: 1.25rem !important;
    top: auto !important;
    bottom: 1.75rem !important;
    width: auto !important;
    height: auto !important;
    -webkit-box-pack: end !important;
    -ms-flex-pack: end !important;
    justify-content: flex-end !important;
    -webkit-box-align: start !important;
    -ms-flex-align: start !important;
    align-items: flex-start !important;
    text-align: left !important;
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .overview-wrap.richell-namcheon .over-tit-box > div {
    max-width: 22rem;
    padding: 1.1rem 1.15rem 1.2rem;
    background: rgba(7, 11, 20, 0.52);
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    border: 1px solid rgba(255, 255, 255, 0.12);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  .overview-wrap.richell-namcheon .over-tit-box h2,
  .overview-wrap.richell-namcheon .over-tit-box p,
  .overview-wrap.richell-namcheon .richell-namcheon-eyebrow {
    text-shadow: 0 2px 14px rgba(0, 0, 0, 0.55);
  }

  .overview-wrap.richell-namcheon .over-tit-box h2 {
    font-size: 1.55rem !important;
  }

  .overview-wrap.richell-namcheon .over-tit-box p {
    margin-top: 0.75rem !important;
    font-size: 0.875rem !important;
    line-height: 1.6 !important;
    color: rgba(255, 255, 255, 0.92) !important;
  }
}

@media (max-width: 767px) {
  .overview-wrap.richell-namcheon {
    height: 68vh !important;
    height: 68svh !important;
    min-height: 24rem;
    max-height: 34rem;
  }

  .overview-wrap.richell-namcheon .over-tit-box > div {
    max-width: none;
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .overview-wrap.richell-namcheon .over-tit-box {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

@media (max-width: 1400px) {
  .rh-sum-wrap::before,
  .rh-sum-bg::before {
    background: url(../project/perspective_day.jpg?v=20261103hq) no-repeat center
      58% / cover !important;
  }

  .rh-sum-wrap.active .rh-sum-bg::before,
  .rh-sum-wrap.on2 .rh-sum-bg::before {
    background: url(../project/perspective_day.jpg?v=20261103hq) no-repeat center
      68% / cover !important;
    background-size: cover !important;
  }

  /* 패드/모바일 사업개요: 분양일정(.rh-main02)과 같이 검정 위 이미지 딤 → 흰 글씨 가독성 */
  .richell-summary.rh-sum-wrap {
    background-color: #000 !important;
  }

  .richell-summary.rh-sum-wrap::before {
    content: "" !important;
    opacity: 0.28 !important;
    background: url(../project/perspective_day.jpg?v=20261103hq) no-repeat center
      62% / cover !important;
    -webkit-filter: saturate(1.05) brightness(0.85);
    filter: saturate(1.05) brightness(0.85);
  }

  .richell-summary.rh-sum-wrap.active::before,
  .richell-summary.rh-sum-wrap.on2::before {
    opacity: 0.22 !important;
    -webkit-filter: saturate(1.05) brightness(0.75);
    filter: saturate(1.05) brightness(0.75);
  }

  /* Overview 국소 프로스트는 유지하되, 대비를 조금 더 확보 */
  .richell-summary .rh-sum-tit-box > div {
    background: rgba(255, 255, 255, 0.86);
    border-color: rgba(255, 255, 255, 0.7);
  }

  .overview-wrap::before {
    background: url(../project/aerial_day.jpg?v=20261103hq) no-repeat center /
      cover !important;
  }
}

@media (max-width: 768px) {
  .rh-sum-wrap::before,
  .rh-sum-bg::before {
    background: url(../project/perspective_day.jpg?v=20261103hq) no-repeat center
      58% / cover !important;
  }

  .rh-sum-wrap.on2 .rh-sum-bg::before {
    -webkit-transform: scale(1.16) !important;
    -ms-transform: scale(1.16) !important;
    transform: scale(1.16) !important;
  }

  .richell-summary.rh-sum-wrap::before {
    opacity: 0.24 !important;
    background-position: center 58% !important;
  }

  .richell-summary .rh-sum-txt-box h2,
  .richell-summary .rh-sum-txt-box h5,
  .richell-summary .rh-sum-sum ul li h3,
  .richell-summary .rh-sum-sum ul li p,
  .richell-summary .richell-summary-num,
  .richell-summary .rh-sum-content .richell-summary-eyebrow {
    text-shadow: 0 1px 12px rgba(0, 0, 0, 0.45);
  }
}

.rh-brand-bg.bg01 {
  background: url(../project/b_01.jpg) center / cover no-repeat;
}

.rh-brand-bg.bg02 {
  background: url(../project/brand/brand_sub_02.jpg) center / cover no-repeat;
}

.rh-brand-bg.bg03 {
  background: url(../project/b_02.jpg) center / cover no-repeat;
}

.rh-brand-bg.bg04 {
  background: url(../project/b_03.jpg) center / cover no-repeat;
}

/* ========== 브랜드 홈 — 상단 카피 + 비대칭 포트폴리오 ========== */
.richell-brandhome.rh-brand-wrap {
  background:
    -o-radial-gradient(
      70% 30%,
      ellipse,
      rgba(40, 70, 120, 0.28) 0%,
      rgba(0, 0, 0, 0) 55%
    ),
    #070b14 !important;
  background:
    radial-gradient(
      ellipse at 70% 30%,
      rgba(40, 70, 120, 0.28) 0%,
      rgba(0, 0, 0, 0) 55%
    ),
    #070b14 !important;
  overflow: hidden;
}

.richell-brandhome .rh-brand-bg2 {
  opacity: 0.35;
  mix-blend-mode: soft-light;
  pointer-events: none;
}

.richell-brandhome .rh-brand-bg {
  -webkit-animation: none !important;
  animation: none !important;
  opacity: 0 !important;
  -webkit-clip-path: inset(0 0 0 100%);
  clip-path: inset(0 0 0 100%);
  -webkit-transform: scale(1.08);
  -ms-transform: scale(1.08);
  transform: scale(1.08);
  -webkit-transition:
    opacity 0.9s ease,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 0.9s ease,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
  -o-transition:
    opacity 0.9s ease,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 0.9s ease,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 0.9s ease,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.richell-brandhome .rh-brand-bg.active {
  opacity: 0.42 !important;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.richell-brandhome-layout {
  position: relative;
  z-index: 9;
  width: 100%;
  height: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 6.75rem 3.25rem 3.25rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1.5rem;
  text-align: left !important;
}

.richell-brandhome .rh-brand-txt-box {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: 100% !important;
  height: auto !important;
  max-width: 46rem;
  display: block !important;
  -webkit-box-pack: start !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
  -webkit-box-align: start !important;
  -ms-flex-align: start !important;
  align-items: flex-start !important;
}

.richell-brandhome .rh-brand-txt-box > div {
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  color: #fff;
}

.richell-brandhome-eyebrow {
  margin: 0 0 0.75rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.5);
  opacity: 0;
  -webkit-transform: translate3d(0, -0.75rem, 0);
  -ms-transform: translate3d(0, -0.75rem, 0);
  transform: translate3d(0, -0.75rem, 0);
  -webkit-transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-brandhome .rh-brand-txt-box h3 {
  margin: 0;
  font-size: 1rem !important;
  font-weight: 400;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.72);
  opacity: 0;
  -webkit-filter: blur(5px);
  filter: blur(5px);
  -webkit-transform: translate3d(0, 1rem, 0) !important;
  -ms-transform: translate3d(0, 1rem, 0) !important;
  transform: translate3d(0, 1rem, 0) !important;
  -webkit-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s !important;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s !important;
  -o-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s !important;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s !important;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s,
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.08s !important;
}

.richell-brandhome .rh-brand-txt-box h2 {
  margin: 0.85rem 0 0 !important;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.85rem, 3vw, 2.65rem) !important;
  line-height: 1.28 !important;
  font-weight: 400 !important;
  letter-spacing: -0.03em;
  opacity: 0;
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0);
  -webkit-transform: translate3d(0, 1.25rem, 0) !important;
  -ms-transform: translate3d(0, 1.25rem, 0) !important;
  transform: translate3d(0, 1.25rem, 0) !important;
  -webkit-transition:
    opacity 0.2s linear 0.12s,
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1) 0.12s,
    -webkit-transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.12s !important;
  transition:
    opacity 0.2s linear 0.12s,
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1) 0.12s,
    -webkit-transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.12s !important;
  -o-transition:
    opacity 0.2s linear 0.12s,
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1) 0.12s,
    transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.12s !important;
  transition:
    opacity 0.2s linear 0.12s,
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1) 0.12s,
    transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.12s !important;
  transition:
    opacity 0.2s linear 0.12s,
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1) 0.12s,
    transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.12s,
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1) 0.12s,
    -webkit-transform 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.12s !important;
}

.richell-brandhome .rh-brand-txt-box h2 b {
  font-weight: 700;
  color: #fff;
}

.richell-brandhome .rh-brand-txt-box p:not(.richell-brandhome-eyebrow) {
  margin: 1.15rem 0 0 !important;
  max-width: 36rem;
  font-size: 0.9rem !important;
  line-height: 1.75 !important;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.62);
  opacity: 0 !important;
  -webkit-transform: translate3d(0, 1rem, 0) !important;
  -ms-transform: translate3d(0, 1rem, 0) !important;
  transform: translate3d(0, 1rem, 0) !important;
  -webkit-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s,
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s !important;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s,
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s !important;
  -o-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s !important;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s !important;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s,
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.32s !important;
  word-break: keep-all;
}

.richell-brandhome .rh-brand-content {
  position: relative !important;
  left: auto !important;
  right: auto !important;
  bottom: auto !important;
  width: min(92%, 980px) !important;
  max-width: 980px;
  height: auto !important;
  min-height: 0;
  margin: 0 auto 0.5rem !important;
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1.1fr 1fr 1fr 1fr;
  grid-template-columns: 1.1fr 1fr 1fr 1fr;
  gap: 0.65rem;
  -webkit-box-align: stretch !important;
  -ms-flex-align: stretch !important;
  align-items: stretch !important;
  padding: 0 !important;
  overflow: visible !important;
}

.richell-brandhome .rh-brand-content > div {
  width: auto !important;
  max-width: none !important;
  -webkit-box-flex: 1;
  -ms-flex: none;
  flex: none;
  margin: 0;
  cursor: pointer;
  opacity: 0;
  position: relative;
  overflow: hidden;
  background: #121820;
  -webkit-box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28);
}

.richell-brandhome-card--a {
  -webkit-clip-path: inset(0 75% 0 0);
  clip-path: inset(0 75% 0 0);
  -webkit-transform: translate3d(-1.25rem, 1.5rem, 0) !important;
  -ms-transform: translate3d(-1.25rem, 1.5rem, 0) !important;
  transform: translate3d(-1.25rem, 1.5rem, 0) !important;
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-box-shadow 0.35s ease !important;
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.35s ease,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-box-shadow 0.35s ease !important;
}

.richell-brandhome-card--b {
  margin-top: -0.9rem !important;
  margin-bottom: 0.9rem !important;
  -webkit-clip-path: inset(100% 0 0 0);
  clip-path: inset(100% 0 0 0);
  -webkit-filter: blur(6px);
  filter: blur(6px);
  -webkit-transform: translate3d(0, -0.85rem, 0) scale(1.04) !important;
  -ms-transform: translate3d(0, -0.85rem, 0) scale(1.04) !important;
  transform: translate3d(0, -0.85rem, 0) scale(1.04) !important;
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    -webkit-clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    -webkit-box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    -webkit-clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    -webkit-box-shadow 0.35s ease !important;
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    box-shadow 0.35s ease,
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    -webkit-clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.16s,
    -webkit-box-shadow 0.35s ease !important;
}

.richell-brandhome-card--c {
  margin-top: 0.65rem !important;
  -webkit-clip-path: inset(0 0 0 70%);
  clip-path: inset(0 0 0 70%);
  -webkit-transform: translate3d(0.85rem, 0.4rem, 0) !important;
  -ms-transform: translate3d(0.85rem, 0.4rem, 0) !important;
  transform: translate3d(0.85rem, 0.4rem, 0) !important;
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.3s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.3s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.3s,
    -webkit-box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.3s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.3s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.3s,
    -webkit-box-shadow 0.35s ease !important;
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.3s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.3s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.3s,
    box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.3s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.3s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.3s,
    box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.3s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.3s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.3s,
    box-shadow 0.35s ease,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.3s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.3s,
    -webkit-box-shadow 0.35s ease !important;
}

.richell-brandhome-card--d {
  margin-top: -0.45rem !important;
  -webkit-clip-path: inset(0 0 75% 0);
  clip-path: inset(0 0 75% 0);
  -webkit-transform: translate3d(1rem, 0.75rem, 0) !important;
  -ms-transform: translate3d(1rem, 0.75rem, 0) !important;
  transform: translate3d(1rem, 0.75rem, 0) !important;
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.42s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.42s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.42s,
    -webkit-box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.42s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.42s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.42s,
    -webkit-box-shadow 0.35s ease !important;
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.42s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.42s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.42s,
    box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.42s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.42s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.42s,
    box-shadow 0.35s ease !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.42s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.42s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.42s,
    box-shadow 0.35s ease,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.42s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.42s,
    -webkit-box-shadow 0.35s ease !important;
}

.richell-brandhome .rh-brand-img {
  width: 100%;
  height: min(18vh, 168px);
  aspect-ratio: auto;
  overflow: hidden;
  position: relative;
}

.richell-brandhome .rh-brand-img img {
  width: 100% !important;
  height: 100% !important;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
  -webkit-filter: grayscale(0.35) brightness(0.88) !important;
  filter: grayscale(0.35) brightness(0.88) !important;
  -webkit-transform: scale(1.1);
  -ms-transform: scale(1.1);
  transform: scale(1.1);
  -webkit-transition:
    -webkit-filter 0.55s ease,
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    -webkit-filter 0.55s ease,
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) !important;
  -o-transition:
    filter 0.55s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    filter 0.55s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    filter 0.55s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-filter 0.55s ease,
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.richell-brandhome .rh-brand-img::before,
.richell-brandhome .rh-brand-img::after,
.richell-brandhome .rh-brand-img span::before,
.richell-brandhome .rh-brand-img span::after {
  display: none !important;
}

.richell-brandhome-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.55rem;
  padding: 0.7rem 0.8rem 0.8rem;
  border-top: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(10, 14, 22, 0.92);
}

.richell-brandhome-meta em {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-top: 0.15rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-style: normal;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.4);
  -webkit-transition: color 0.35s ease;
  -o-transition: color 0.35s ease;
  transition: color 0.35s ease;
}

.richell-brandhome .rh-brand-content h4 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: 0.875rem !important;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.3 !important;
  color: #fff;
  word-break: keep-all;
}

.richell-brandhome .rh-brand-content p {
  margin: 0.25rem 0 0 !important;
  font-size: 0.75rem !important;
  line-height: 1.3 !important;
  color: rgba(255, 255, 255, 0.5) !important;
}

.richell-brandhome .rh-brand-content > div.active {
  -webkit-box-shadow: 0 22px 50px rgba(0, 0, 0, 0.4);
  box-shadow: 0 22px 50px rgba(0, 0, 0, 0.4);
}

.richell-brandhome .rh-brand-content > div.active .rh-brand-img img {
  -webkit-filter: grayscale(0) brightness(1) !important;
  filter: grayscale(0) brightness(1) !important;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.richell-brandhome .rh-brand-content > div.active .richell-brandhome-meta {
  border-top-color: rgba(201, 169, 110, 0.55);
}

.richell-brandhome .rh-brand-content > div.active .richell-brandhome-meta em {
  color: #c9a96e;
}

.richell-brandhome.rh-brand-wrap.on .richell-brandhome-eyebrow,
.richell-brandhome.rh-brand-wrap.active .richell-brandhome-eyebrow {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.richell-brandhome.rh-brand-wrap.on .rh-brand-txt-box h3,
.richell-brandhome.rh-brand-wrap.active .rh-brand-txt-box h3 {
  opacity: 1 !important;
  -webkit-filter: none;
  filter: none;
  -webkit-transform: translate3d(0, 0, 0) !important;
  -ms-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
}

.richell-brandhome.rh-brand-wrap.on .rh-brand-txt-box h2,
.richell-brandhome.rh-brand-wrap.active .rh-brand-txt-box h2 {
  opacity: 1 !important;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  -webkit-transform: translate3d(0, 0, 0) !important;
  -ms-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
}

.richell-brandhome.rh-brand-wrap.on
  .rh-brand-txt-box
  p:not(.richell-brandhome-eyebrow),
.richell-brandhome.rh-brand-wrap.active
  .rh-brand-txt-box
  p:not(.richell-brandhome-eyebrow) {
  opacity: 0.72 !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
  -ms-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
}

.richell-brandhome.rh-brand-wrap.on .rh-brand-content > div,
.richell-brandhome.rh-brand-wrap.on .rh-brand-content > div:nth-child(1),
.richell-brandhome.rh-brand-wrap.on .rh-brand-content > div:nth-child(2),
.richell-brandhome.rh-brand-wrap.on .rh-brand-content > div:nth-child(3),
.richell-brandhome.rh-brand-wrap.on .rh-brand-content > div:nth-child(4),
.richell-brandhome.rh-brand-wrap.active .rh-brand-content > div,
.richell-brandhome.rh-brand-wrap.active .rh-brand-content > div:nth-child(1),
.richell-brandhome.rh-brand-wrap.active .rh-brand-content > div:nth-child(2),
.richell-brandhome.rh-brand-wrap.active .rh-brand-content > div:nth-child(3),
.richell-brandhome.rh-brand-wrap.active .rh-brand-content > div:nth-child(4) {
  opacity: 1 !important;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  -webkit-filter: none;
  filter: none;
  -webkit-transform: translate3d(0, 0, 0) scale(1) !important;
  -ms-transform: translate3d(0, 0, 0) scale(1) !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
}

.richell-brandhome.rh-brand-wrap.on .rh-brand-content > div:nth-child(1),
.richell-brandhome.rh-brand-wrap.active .rh-brand-content > div:nth-child(1) {
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.18s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.18s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.18s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.18s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.18s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.18s !important;
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.18s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.18s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.18s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.18s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.18s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.18s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.18s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.18s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.18s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.18s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.18s !important;
}

.richell-brandhome.rh-brand-wrap.on .rh-brand-content > div:nth-child(2),
.richell-brandhome.rh-brand-wrap.active .rh-brand-content > div:nth-child(2) {
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    -webkit-clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.34s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    -webkit-clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.34s !important;
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.34s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.34s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    -webkit-clip-path 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.34s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.34s !important;
}

.richell-brandhome.rh-brand-wrap.on .rh-brand-content > div:nth-child(3),
.richell-brandhome.rh-brand-wrap.active .rh-brand-content > div:nth-child(3) {
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.48s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.48s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.48s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.48s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.48s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.48s !important;
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.48s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.48s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.48s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.48s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.48s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.48s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.48s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.48s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.48s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.48s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.48s !important;
}

.richell-brandhome.rh-brand-wrap.on .rh-brand-content > div:nth-child(4),
.richell-brandhome.rh-brand-wrap.active .rh-brand-content > div:nth-child(4) {
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.6s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.6s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.6s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.6s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.6s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.6s !important;
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.6s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.6s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.6s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.6s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.6s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.6s !important;
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1) 0.6s,
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.6s,
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.6s,
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) 0.6s,
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1) 0.6s !important;
}

.richell-brandhome.rh-brand-wrap.on
  .rh-brand-content
  > div.active
  .rh-brand-img
  img,
.richell-brandhome.rh-brand-wrap.active
  .rh-brand-content
  > div.active
  .rh-brand-img
  img {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

@media (max-width: 1200px) {
  .richell-brandhome-layout {
    padding: 5.75rem 2rem 2.5rem;
  }

  .richell-brandhome .rh-brand-content {
    width: min(94%, 860px) !important;
  }

  .richell-brandhome .rh-brand-img {
    height: min(16vh, 148px);
  }

  .richell-brandhome-card--b {
    margin-top: -0.5rem !important;
    margin-bottom: 0.5rem !important;
  }
}

@media (max-width: 1100px) {
  .richell-brandhome .rh-brand-content {
    -ms-grid-columns: 1fr 1fr;
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 1400px) {
  .richell-brandhome.rh-brand-wrap {
    height: auto !important;
    min-height: 0 !important;
    padding-bottom: 0 !important;
  }
}

@media (max-width: 900px) {
  .richell-brandhome-layout {
    height: auto !important;
    padding: 4.25rem 1.25rem 2rem !important;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    overflow-y: visible;
    gap: 1.15rem;
  }

  .richell-brandhome .rh-brand-content {
    width: 100% !important;
    max-width: none;
    margin: 0 !important;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 0.65rem;
  }

  .richell-brandhome-card--a,
  .richell-brandhome-card--b,
  .richell-brandhome-card--c,
  .richell-brandhome-card--d {
    margin: 0 !important;
    -webkit-filter: none !important;
    filter: none !important;
  }

  .richell-brandhome .rh-brand-img {
    height: 148px;
  }

  #section9 {
    padding-bottom: 0 !important;
  }
}

@media (max-width: 767px) {
  .richell-brandhome-layout {
    padding: 3.75rem 1.1rem 1.5rem !important;
  }

  .richell-brandhome .rh-brand-img {
    height: 132px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-brandhome-eyebrow,
  .richell-brandhome .rh-brand-txt-box h3,
  .richell-brandhome .rh-brand-txt-box h2,
  .richell-brandhome .rh-brand-txt-box p,
  .richell-brandhome .rh-brand-content > div,
  .richell-brandhome .rh-brand-bg,
  .richell-brandhome .rh-brand-img img {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    -webkit-filter: none !important;
    filter: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

.rh-out-vd:after {
  display: none;
}

.rh-out-vd-box {
  background: url(../project/aerial_night.jpg?v=20260922opt) center / cover
    no-repeat;
}

.rh-out-vd-box::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    -o-radial-gradient(
      50% 42%,
      ellipse,
      rgba(7, 11, 20, 0.15) 0%,
      rgba(7, 11, 20, 0.55) 70%,
      rgba(7, 11, 20, 0.72) 100%
    ),
    rgba(0, 0, 0, 0.28);
  background:
    radial-gradient(
      ellipse at 50% 42%,
      rgba(7, 11, 20, 0.15) 0%,
      rgba(7, 11, 20, 0.55) 70%,
      rgba(7, 11, 20, 0.72) 100%
    ),
    rgba(0, 0, 0, 0.28);
  z-index: 2;
  pointer-events: none;
  opacity: 0.85;
  -webkit-transition: opacity 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: opacity 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: opacity 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

/* ========== 클로징 섹션 — 세로 스택 + 진입 연출 ========== */
.richell-out.rh-out-wrap {
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.richell-out-glow {
  position: absolute;
  left: 50%;
  top: 38%;
  z-index: 3;
  width: min(56vw, 28rem);
  height: min(56vw, 28rem);
  margin: 0;
  pointer-events: none;
  border-radius: 50%;
  background: -o-radial-gradient(
    circle,
    rgba(201, 169, 110, 0.22) 0%,
    rgba(201, 169, 110, 0.06) 42%,
    rgba(201, 169, 110, 0) 72%
  );
  background: radial-gradient(
    circle,
    rgba(201, 169, 110, 0.22) 0%,
    rgba(201, 169, 110, 0.06) 42%,
    rgba(201, 169, 110, 0) 72%
  );
  opacity: 0;
  -webkit-transform: translate3d(-50%, -50%, 0) scale(0.7);
  -ms-transform: translate3d(-50%, -50%, 0) scale(0.7);
  transform: translate3d(-50%, -50%, 0) scale(0.7);
  -webkit-transition:
    opacity 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.2s,
    -webkit-transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
  transition:
    opacity 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.2s,
    -webkit-transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
  -o-transition:
    opacity 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.2s,
    transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
  transition:
    opacity 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.2s,
    transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
  transition:
    opacity 1.4s cubic-bezier(0.22, 1, 0.36, 1) 0.2s,
    transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s,
    -webkit-transform 1.8s cubic-bezier(0.22, 1, 0.36, 1) 0.2s;
}

.richell-out-haze {
  position: absolute;
  inset: -8%;
  z-index: 1;
  pointer-events: none;
  background: -o-linear-gradient(
    335deg,
    rgba(255, 255, 255, 0) 35%,
    rgba(255, 255, 255, 0.08) 48%,
    rgba(255, 255, 255, 0) 62%
  );
  background: linear-gradient(
    115deg,
    rgba(255, 255, 255, 0) 35%,
    rgba(255, 255, 255, 0.08) 48%,
    rgba(255, 255, 255, 0) 62%
  );
  background-size: 220% 100%;
  background-position: 120% 50%;
  opacity: 0;
  -webkit-transition: opacity 0.4s ease;
  -o-transition: opacity 0.4s ease;
  transition: opacity 0.4s ease;
}

.richell-out .rh-out-tit-box {
  width: min(90%, 42rem) !important;
  max-width: 42rem !important;
  margin: 0 auto;
  gap: 0 !important;
  white-space: normal !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
  -ms-flex-direction: column !important;
  flex-direction: column !important;
  -webkit-box-pack: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
  text-align: center !important;
}

.richell-out .rh-out-tit-box > span {
  display: none !important;
}

/* pad.css .rh-out-tit-box span { display:none } / height:1px 가 문구까지 숨기던 문제 보정 */
.richell-out .rh-out-tit-box .richell-out-line,
.richell-out .rh-out-tit-box .richell-out-fade {
  display: block !important;
  width: auto !important;
  max-width: 100%;
  height: auto !important;
  position: relative;
  visibility: visible !important;
}

.richell-out .rh-out-tit-box .richell-out-line::after,
.richell-out .rh-out-tit-box .richell-out-fade::after {
  content: none !important;
  display: none !important;
}

.richell-out .rh-out-vd-box {
  overflow: hidden;
  -webkit-transform: scale(1.08);
  -ms-transform: scale(1.08);
  transform: scale(1.08);
  -webkit-transition: -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 2.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 2.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 2.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 2.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 2.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 2.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 2.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 2.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-out .rh-out-logo {
  position: relative;
  margin: 0 0 1.75rem;
  opacity: 0;
  -webkit-transform: translate3d(0, -1.25rem, 0) scale(0.88) !important;
  -ms-transform: translate3d(0, -1.25rem, 0) scale(0.88) !important;
  transform: translate3d(0, -1.25rem, 0) scale(0.88) !important;
  -webkit-transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
  -o-transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.richell-out .rh-out-logo::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 50%;
  width: 140%;
  height: 140%;
  border-radius: 50%;
  background: -o-radial-gradient(
    circle,
    rgba(201, 169, 110, 0.28) 0%,
    rgba(201, 169, 110, 0) 70%
  );
  background: radial-gradient(
    circle,
    rgba(201, 169, 110, 0.28) 0%,
    rgba(201, 169, 110, 0) 70%
  );
  opacity: 0;
  pointer-events: none;
  -webkit-transform: translate3d(-50%, -50%, 0) scale(0.85);
  -ms-transform: translate3d(-50%, -50%, 0) scale(0.85);
  transform: translate3d(-50%, -50%, 0) scale(0.85);
  -webkit-transition:
    opacity 0.8s ease,
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.8s ease,
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.8s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.8s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.8s ease,
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-out .rh-out-logo img {
  position: relative;
  z-index: 1;
  display: block;
  width: clamp(8.5rem, 14vw, 12rem);
  height: auto;
  -webkit-filter: drop-shadow(0 10px 28px rgba(0, 0, 0, 0.35));
  filter: drop-shadow(0 10px 28px rgba(0, 0, 0, 0.35));
}

.richell-out .rh-out-tit {
  margin: 0 !important;
  text-align: center !important;
  opacity: 1 !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  -webkit-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
}

.richell-out-eyebrow {
  margin: 0 0 0.9rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.48em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
  opacity: 0;
  -webkit-transform: translate3d(0, 0.75rem, 0);
  -ms-transform: translate3d(0, 0.75rem, 0);
  transform: translate3d(0, 0.75rem, 0);
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    letter-spacing 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    letter-spacing 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    letter-spacing 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    letter-spacing 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    letter-spacing 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-out .rh-out-tit-box h2 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif !important;
  font-size: clamp(1.9rem, 3.2vw, 2.75rem) !important;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.3 !important;
  color: #fff;
  word-break: keep-all;
  text-shadow: 0 2px 20px rgba(0, 0, 0, 0.35);
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.richell-out-line {
  display: block;
  opacity: 0;
  -webkit-transform: translate3d(0, 0.85rem, 0);
  -ms-transform: translate3d(0, 0.85rem, 0);
  transform: translate3d(0, 0.85rem, 0);
  -webkit-transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-out-line + .richell-out-line {
  -webkit-transition-delay: 0.12s;
  -o-transition-delay: 0.12s;
  transition-delay: 0.12s;
}

.richell-out .rh-out-tit-box h2::after {
  content: "";
  display: block;
  position: relative;
  width: 2.5rem;
  height: 2px;
  margin: 1.35rem auto 0;
  background: -o-linear-gradient(
    left,
    rgba(201, 169, 110, 0.15),
    #c9a96e,
    rgba(201, 169, 110, 0.15)
  );
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgba(201, 169, 110, 0.15)),
    color-stop(#c9a96e),
    to(rgba(201, 169, 110, 0.15))
  );
  background: linear-gradient(
    90deg,
    rgba(201, 169, 110, 0.15),
    #c9a96e,
    rgba(201, 169, 110, 0.15)
  );
  overflow: hidden;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  -webkit-transition: -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-out .rh-out-tit-box h2::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -1.35rem;
  width: 2.5rem;
  height: 2px;
  margin-left: -1.25rem;
  background: -o-linear-gradient(
    left,
    transparent,
    rgba(255, 255, 255, 0.85),
    transparent
  );
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(transparent),
    color-stop(rgba(255, 255, 255, 0.85)),
    to(transparent)
  );
  background: linear-gradient(
    90deg,
    transparent,
    rgba(255, 255, 255, 0.85),
    transparent
  );
  opacity: 0;
  -webkit-transform: translate3d(-120%, 0, 0);
  -ms-transform: translate3d(-120%, 0, 0);
  transform: translate3d(-120%, 0, 0);
  pointer-events: none;
  z-index: 1;
}

.richell-out .rh-out-tit-box h2 {
  position: relative;
}

.richell-out .rh-out-tit-box h4 {
  margin-top: 1.35rem !important;
  font-size: 0.975rem !important;
  line-height: 1.75 !important;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.78);
  opacity: 1 !important;
  font-weight: 400;
  word-break: keep-all;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.3);
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
}

.richell-out-fade {
  display: block;
  opacity: 0;
  -webkit-transform: translate3d(0, 0.85rem, 0);
  -ms-transform: translate3d(0, 0.85rem, 0);
  transform: translate3d(0, 0.85rem, 0);
  -webkit-filter: blur(4px);
  filter: blur(4px);
  -webkit-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-filter 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-filter 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    filter 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    filter 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    filter 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-filter 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-out-fade + .richell-out-fade {
  -webkit-transition-delay: 0.12s;
  -o-transition-delay: 0.12s;
  transition-delay: 0.12s;
}

@-webkit-keyframes richell-out-kenburns {
  0% {
    -webkit-transform: scale(1) translate3d(0, 0, 0);
    transform: scale(1) translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: scale(1.05) translate3d(-1.2%, -0.8%, 0);
    transform: scale(1.05) translate3d(-1.2%, -0.8%, 0);
  }
}

@keyframes richell-out-kenburns {
  0% {
    -webkit-transform: scale(1) translate3d(0, 0, 0);
    transform: scale(1) translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: scale(1.05) translate3d(-1.2%, -0.8%, 0);
    transform: scale(1.05) translate3d(-1.2%, -0.8%, 0);
  }
}

@-webkit-keyframes richell-out-shimmer {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-140%, 0, 0);
    transform: translate3d(-140%, 0, 0);
  }
  25% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(140%, 0, 0);
    transform: translate3d(140%, 0, 0);
  }
}

@keyframes richell-out-shimmer {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(-140%, 0, 0);
    transform: translate3d(-140%, 0, 0);
  }
  25% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    -webkit-transform: translate3d(140%, 0, 0);
    transform: translate3d(140%, 0, 0);
  }
}

@-webkit-keyframes richell-out-glow-pulse {
  0%,
  100% {
    opacity: 0.35;
    -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
    transform: translate3d(-50%, -50%, 0) scale(1);
  }
  50% {
    opacity: 0.55;
    -webkit-transform: translate3d(-50%, -50%, 0) scale(1.08);
    transform: translate3d(-50%, -50%, 0) scale(1.08);
  }
}

@keyframes richell-out-glow-pulse {
  0%,
  100% {
    opacity: 0.35;
    -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
    transform: translate3d(-50%, -50%, 0) scale(1);
  }
  50% {
    opacity: 0.55;
    -webkit-transform: translate3d(-50%, -50%, 0) scale(1.08);
    transform: translate3d(-50%, -50%, 0) scale(1.08);
  }
}

@-webkit-keyframes richell-out-haze {
  0% {
    opacity: 0;
    background-position: 120% 50%;
  }
  20% {
    opacity: 0.7;
  }
  100% {
    opacity: 0;
    background-position: -20% 50%;
  }
}

@keyframes richell-out-haze {
  0% {
    opacity: 0;
    background-position: 120% 50%;
  }
  20% {
    opacity: 0.7;
  }
  100% {
    opacity: 0;
    background-position: -20% 50%;
  }
}

/* 진입 연출 — 섹션 진입 후 약간 대기(0.55s) 뒤 순차 등장 */
.richell-out.rh-out-wrap.on .rh-out-vd-box,
.richell-out.rh-out-wrap.active .rh-out-vd-box {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition-delay: 0.55s;
  -o-transition-delay: 0.55s;
  transition-delay: 0.55s;
}

.richell-out.rh-out-wrap.on .rh-out-vd-box::after,
.richell-out.rh-out-wrap.active .rh-out-vd-box::after {
  opacity: 1;
  -webkit-transition-delay: 0.55s;
  -o-transition-delay: 0.55s;
  transition-delay: 0.55s;
}

.richell-out.rh-out-wrap.on .richell-out-glow,
.richell-out.rh-out-wrap.active .richell-out-glow {
  opacity: 0.45;
  -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
  -ms-transform: translate3d(-50%, -50%, 0) scale(1);
  transform: translate3d(-50%, -50%, 0) scale(1);
  -webkit-transition-delay: 0.55s;
  -o-transition-delay: 0.55s;
  transition-delay: 0.55s;
}

.richell-out.rh-out-wrap.on .richell-out-haze,
.richell-out.rh-out-wrap.active .richell-out-haze {
  -webkit-animation: richell-out-haze 2.2s cubic-bezier(0.22, 1, 0.36, 1) 0.7s
    both;
  animation: richell-out-haze 2.2s cubic-bezier(0.22, 1, 0.36, 1) 0.7s both;
}

.richell-out.rh-out-wrap.on .rh-out-logo,
.richell-out.rh-out-wrap.active .rh-out-logo {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) scale(1) !important;
  -ms-transform: translate3d(0, 0, 0) scale(1) !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  -webkit-transition-delay: 0.55s !important;
  -o-transition-delay: 0.55s !important;
  transition-delay: 0.55s !important;
}

.richell-out.rh-out-wrap.on .rh-out-logo::before,
.richell-out.rh-out-wrap.active .rh-out-logo::before {
  opacity: 1;
  -webkit-transform: translate3d(-50%, -50%, 0) scale(1);
  -ms-transform: translate3d(-50%, -50%, 0) scale(1);
  transform: translate3d(-50%, -50%, 0) scale(1);
  -webkit-transition-delay: 0.9s;
  -o-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

.richell-out.rh-out-wrap.on .richell-out-eyebrow,
.richell-out.rh-out-wrap.active .richell-out-eyebrow {
  opacity: 1;
  letter-spacing: 0.28em;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition-delay: 0.65s;
  -o-transition-delay: 0.65s;
  transition-delay: 0.65s;
}

.richell-out.rh-out-wrap.on .richell-out-line,
.richell-out.rh-out-wrap.active .richell-out-line {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.richell-out.rh-out-wrap.on .richell-out-line:nth-child(1),
.richell-out.rh-out-wrap.active .richell-out-line:nth-child(1) {
  -webkit-transition-delay: 0.73s;
  -o-transition-delay: 0.73s;
  transition-delay: 0.73s;
}

.richell-out.rh-out-wrap.on .richell-out-line:nth-child(2),
.richell-out.rh-out-wrap.active .richell-out-line:nth-child(2) {
  -webkit-transition-delay: 0.89s;
  -o-transition-delay: 0.89s;
  transition-delay: 0.89s;
}

.richell-out.rh-out-wrap.on .rh-out-tit-box h2::after,
.richell-out.rh-out-wrap.active .rh-out-tit-box h2::after {
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
  -webkit-transition-delay: 1.1s;
  -o-transition-delay: 1.1s;
  transition-delay: 1.1s;
}

.richell-out.rh-out-wrap.on .rh-out-tit-box h2::before,
.richell-out.rh-out-wrap.active .rh-out-tit-box h2::before {
  -webkit-animation: richell-out-shimmer 1.1s cubic-bezier(0.22, 1, 0.36, 1)
    1.4s both;
  animation: richell-out-shimmer 1.1s cubic-bezier(0.22, 1, 0.36, 1) 1.4s both;
}

.richell-out.rh-out-wrap.on .richell-out-fade,
.richell-out.rh-out-wrap.active .richell-out-fade {
  opacity: 1;
  -webkit-filter: blur(0);
  filter: blur(0);
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.richell-out.rh-out-wrap.on .richell-out-fade:nth-child(1),
.richell-out.rh-out-wrap.active .richell-out-fade:nth-child(1) {
  -webkit-transition-delay: 1.27s;
  -o-transition-delay: 1.27s;
  transition-delay: 1.27s;
}

.richell-out.rh-out-wrap.on .richell-out-fade:nth-child(2),
.richell-out.rh-out-wrap.active .richell-out-fade:nth-child(2) {
  -webkit-transition-delay: 1.43s;
  -o-transition-delay: 1.43s;
  transition-delay: 1.43s;
}

/* 진입 완료 후 잔향 모션 */
.richell-out.rh-out-wrap.end .rh-out-vd-box {
  -webkit-animation: richell-out-kenburns 14s ease-out forwards;
  animation: richell-out-kenburns 14s ease-out forwards;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}

.richell-out.rh-out-wrap.end .richell-out-glow {
  -webkit-animation: richell-out-glow-pulse 4.5s ease-in-out 1.2s infinite;
  animation: richell-out-glow-pulse 4.5s ease-in-out 1.2s infinite;
}

@media (max-width: 1400px) {
  /* 클로징: 문구 span 강제 표시 + 잘림 방지 */
  .richell-out.rh-out-wrap {
    height: auto !important;
    min-height: 0 !important;
    padding: 4.5rem 1.25rem 3.5rem !important;
    -webkit-box-sizing: border-box !important;
    box-sizing: border-box !important;
    overflow: visible !important;
  }

  .richell-out .rh-out-vd-box {
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .richell-out .rh-out-tit-box {
    position: relative;
    z-index: 12;
    width: min(92%, 36rem) !important;
    max-width: 36rem !important;
    overflow: visible !important;
  }

  .richell-out .rh-out-tit {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    margin: 0 !important;
    overflow: visible !important;
  }

  .richell-out .rh-out-logo {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    margin-bottom: 1.1rem;
  }

  .richell-out .rh-out-tit-box h2,
  .richell-out .rh-out-tit-box h4 {
    display: block !important;
    overflow: visible !important;
    visibility: visible !important;
  }

  .richell-out .rh-out-tit-box h2 {
    font-size: clamp(1.35rem, 5.8vw, 1.9rem) !important;
    line-height: 1.35 !important;
    color: #fff !important;
  }

  .richell-out .rh-out-tit-box h4 {
    margin-top: 0.85rem !important;
    font-size: 0.875rem !important;
    line-height: 1.65 !important;
    color: rgba(255, 255, 255, 0.86) !important;
    opacity: 1 !important;
  }

  .richell-out .rh-out-tit-box .richell-out-line,
  .richell-out .rh-out-tit-box .richell-out-fade,
  .richell-out-eyebrow {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    -webkit-filter: none !important;
    filter: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition-delay: 0s !important;
    -o-transition-delay: 0s !important;
    transition-delay: 0s !important;
  }

  .richell-out .rh-out-logo::before {
    opacity: 1 !important;
    -webkit-transform: translate3d(-50%, -50%, 0) scale(1) !important;
    -ms-transform: translate3d(-50%, -50%, 0) scale(1) !important;
    transform: translate3d(-50%, -50%, 0) scale(1) !important;
  }

  .richell-out .rh-out-tit-box h2::after {
    -webkit-transform: scaleX(1) !important;
    -ms-transform: scaleX(1) !important;
    transform: scaleX(1) !important;
    -webkit-transition-delay: 0s !important;
    -o-transition-delay: 0s !important;
    transition-delay: 0s !important;
  }

  #section10 {
    min-height: 0 !important;
    overflow: visible !important;
  }
}

@media (max-width: 900px) {
  .richell-out.rh-out-wrap {
    padding: 3.75rem 1.15rem 2.75rem !important;
  }

  .richell-out .rh-out-logo img {
    width: 4.25rem;
  }

  .richell-out-fade + .richell-out-fade {
    margin-top: 0.15rem;
  }
}

@media (max-width: 767px) {
  .richell-out.rh-out-wrap {
    padding: 3.5rem 1.1rem 2.4rem !important;
  }

  .richell-out .rh-out-tit-box h2 {
    font-size: 1.3rem !important;
  }

  .richell-out .rh-out-tit-box h4 {
    font-size: 0.82rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-out .rh-out-vd-box,
  .richell-out .rh-out-logo,
  .richell-out .rh-out-logo::before,
  .richell-out .rh-out-tit,
  .richell-out-eyebrow,
  .richell-out-line,
  .richell-out-fade,
  .richell-out-glow,
  .richell-out-haze,
  .richell-out .rh-out-tit-box h2,
  .richell-out .rh-out-tit-box h2::after,
  .richell-out .rh-out-tit-box h2::before,
  .richell-out .rh-out-tit-box h4,
  .richell-out .rh-out-vd-box::after {
    opacity: 1 !important;
    letter-spacing: 0.28em;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    -webkit-filter: none !important;
    filter: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-animation: none !important;
    animation: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }

  .richell-out-glow,
  .richell-out-haze,
  .richell-out .rh-out-logo::before,
  .richell-out .rh-out-tit-box h2::before {
    display: none !important;
  }
}

.rh-unit-img-box img.rh-unit-img {
  -o-object-fit: cover;
  object-fit: cover;
  width: 100%;
  height: 100%;
}

/* 서브 페이지 GNB: 스크롤 시 흰 배경 전환 */
body.subpage .rh-navi {
  -webkit-transition:
    background-color 0.35s ease,
    border-color 0.35s ease,
    height 0.35s ease;
  -o-transition:
    background-color 0.35s ease,
    border-color 0.35s ease,
    height 0.35s ease;
  transition:
    background-color 0.35s ease,
    border-color 0.35s ease,
    height 0.35s ease;
}

body.subpage .rh-navi.mouseover {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

body.subpage .rh-navi.active,
body.subpage .rh-navi.mouseover {
  background-color: #fff !important;
  border-bottom: 1px solid #ddd !important;
}

/* 서브페이지 네비 호버(펼침) 시 드롭다운 패널 — 기존 흰 배경 유지 */
body.subpage .rh-navi.mouseover .rh-navi-bg .rh-white-bg,
body.subpage .rh-navi.active .rh-navi-bg .rh-white-bg {
  background: #fff !important;
  border-bottom: 1px solid #dedede !important;
}

body.subpage .rh-navi.active #logo a,
body.subpage .rh-navi.mouseover #logo a {
  color: #11284e !important;
}

body.subpage .rh-navi.active .rh-tel-box a p,
body.subpage .rh-navi.mouseover .rh-tel-box a p {
  color: #11284e !important;
}

/* 서브 페이지 로컬 내비게이션(#snb) */
#snb-box {
  width: 100% !important;
  max-width: 1100px;
  height: 58px !important;
  margin: 0 auto !important;
  border-bottom: 1px solid rgba(17, 40, 78, 0.1);
}

#snb {
  width: auto !important;
  min-width: 0;
  max-width: 100%;
  height: 58px !important;
  right: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  background: transparent;
  border: 0;
  border-radius: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  overflow: visible;
  top: 0 !important;
  padding: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

#snb > li {
  float: none !important;
  width: auto !important;
  height: 100% !important;
  min-width: 8.5rem;
  color: #11284e;
}

#snb > li > a:after {
  display: none !important;
}

#snb > li:first-child {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 2.75rem !important;
  min-width: 2.75rem !important;
}

#snb > li:first-child a {
  position: relative !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
  -webkit-box-pack: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
  width: 2.35rem !important;
  height: 2.35rem !important;
  margin: 0 !important;
  border-radius: 50%;
  background: rgba(17, 40, 78, 0.06);
  -webkit-transition: background 0.25s ease;
  -o-transition: background 0.25s ease;
  transition: background 0.25s ease;
}

#snb > li:first-child a:hover {
  background: rgba(17, 40, 78, 0.12);
}

#snb > li:first-child img {
  position: static !important;
  left: auto !important;
  right: auto !important;
  top: auto !important;
  bottom: auto !important;
  display: block;
  width: 1.05rem;
  height: 1.05rem;
  margin: 0 !important;
  -o-object-fit: contain;
  object-fit: contain;
  opacity: 1;
  -webkit-filter: none;
  filter: none;
}

#snb > li:nth-child(3) {
  width: auto !important;
  min-width: 9.5rem;
}

#snb > li:first-child + li + li > a {
  margin-top: 0 !important;
  color: #11284e !important;
  font-weight: 600;
}

#snb .ov {
  position: relative;
  margin-left: 0 !important;
}

#snb .ov > a {
  height: 100% !important;
  line-height: 1 !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0 1.85rem 0 1rem !important;
  font-size: 0.8125rem !important;
  font-weight: 500;
  letter-spacing: -0.02em;
  color: #11284e !important;
  min-width: 0 !important;
}

#snb > li:nth-child(2):after,
#snb > li:nth-child(3):after {
  content: "";
  width: 0.4rem !important;
  height: 0.4rem !important;
  border: 0 !important;
  border-right: 1.5px solid rgba(17, 40, 78, 0.55) !important;
  border-bottom: 1.5px solid rgba(17, 40, 78, 0.55) !important;
  -webkit-transform: rotate(45deg) !important;
  -ms-transform: rotate(45deg) !important;
  transform: rotate(45deg) !important;
  right: 0.85rem !important;
  top: 0 !important;
  bottom: 0;
  margin: auto 0;
}

#snb > li:nth-child(2):hover:after,
#snb > li:nth-child(3):hover:after {
  -webkit-transform: rotate(-135deg) !important;
  -ms-transform: rotate(-135deg) !important;
  transform: rotate(-135deg) !important;
  top: 0.15rem !important;
}

#snb .ov ul {
  top: 100% !important;
  min-width: 100%;
  margin-top: 0;
  padding: 0.35rem 0;
  background: #fff !important;
  border: 1px solid rgba(17, 40, 78, 0.1);
  border-radius: 0.75rem;
  -webkit-box-shadow: 0 14px 32px rgba(17, 40, 78, 0.12);
  box-shadow: 0 14px 32px rgba(17, 40, 78, 0.12);
  overflow: hidden;
}

#snb .ov ul li {
  border: 0 !important;
  margin-top: 0 !important;
}

#snb .ov ul li a {
  font-size: 0.8125rem !important;
  color: #2a3444 !important;
  padding: 0.7rem 1rem !important;
  -webkit-transition:
    background 0.2s ease,
    color 0.2s ease,
    padding-left 0.2s ease;
  -o-transition:
    background 0.2s ease,
    color 0.2s ease,
    padding-left 0.2s ease;
  transition:
    background 0.2s ease,
    color 0.2s ease,
    padding-left 0.2s ease;
}

#snb .ov ul li a:hover {
  background: rgba(17, 40, 78, 0.06) !important;
  color: #11284e !important;
  padding-left: 1.15rem !important;
}

@media (max-width: 1024px) {
  #snb-box {
    height: 52px !important;
    padding: 0 0.75rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }

  #snb {
    height: 48px !important;
    top: 0 !important;
    border-radius: 0;
    width: 100% !important;
    right: 0;
    left: 0;
    margin: 0 auto;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }

  #snb > li {
    -webkit-box-flex: 1;
    -ms-flex: 1 1 0;
    flex: 1 1 0;
    min-width: 0;
  }

  #snb > li:first-child {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 2.75rem;
    flex: 0 0 2.75rem;
  }

  #snb .ov > a {
    font-size: 0.75rem !important;
    padding: 0 1.5rem 0 0.75rem !important;
  }
}

/* 사업개요 슬라이드 이전/다음 — CSS 화살표 */
.swiper_planning {
  position: relative;
  overflow: hidden;
}

.swiper-button-prev-planning,
.swiper-button-next-planning {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: absolute;
  top: 50%;
  bottom: auto;
  width: 2.75rem;
  height: 2.75rem;
  margin: 0;
  padding: 0;
  border: none;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  -webkit-box-shadow: none;
  box-shadow: none;
  z-index: 5;
  cursor: pointer;
  opacity: 0.88;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  -webkit-transition:
    color 0.25s ease,
    opacity 0.25s ease,
    background 0.25s ease,
    -webkit-transform 0.25s ease;
  transition:
    color 0.25s ease,
    opacity 0.25s ease,
    background 0.25s ease,
    -webkit-transform 0.25s ease;
  -o-transition:
    color 0.25s ease,
    opacity 0.25s ease,
    background 0.25s ease,
    transform 0.25s ease;
  transition:
    color 0.25s ease,
    opacity 0.25s ease,
    background 0.25s ease,
    transform 0.25s ease;
  transition:
    color 0.25s ease,
    opacity 0.25s ease,
    background 0.25s ease,
    transform 0.25s ease,
    -webkit-transform 0.25s ease;
}

.swiper-button-prev-planning {
  left: 0.85rem;
  right: auto;
}

.swiper-button-next-planning {
  right: 0.85rem;
  left: auto;
}

.swiper-button-prev-planning::before,
.swiper-button-next-planning::before {
  content: "";
  display: block;
  width: 0.7rem;
  height: 0.7rem;
  border-top: 2px solid currentColor;
  border-right: 2px solid currentColor;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
  filter: drop-shadow(0 1px 2px rgba(0, 0, 0, 0.35));
  -webkit-transition:
    width 0.25s ease,
    height 0.25s ease,
    -webkit-transform 0.25s ease,
    -webkit-filter 0.25s ease;
  transition:
    width 0.25s ease,
    height 0.25s ease,
    -webkit-transform 0.25s ease,
    -webkit-filter 0.25s ease;
  -o-transition:
    width 0.25s ease,
    height 0.25s ease,
    transform 0.25s ease,
    filter 0.25s ease;
  transition:
    width 0.25s ease,
    height 0.25s ease,
    transform 0.25s ease,
    filter 0.25s ease;
  transition:
    width 0.25s ease,
    height 0.25s ease,
    transform 0.25s ease,
    filter 0.25s ease,
    -webkit-transform 0.25s ease,
    -webkit-filter 0.25s ease;
}

.swiper-button-prev-planning::before {
  -webkit-transform: rotate(-135deg);
  -ms-transform: rotate(-135deg);
  transform: rotate(-135deg);
  margin-left: 0.15rem;
}

.swiper-button-next-planning::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  margin-right: 0.15rem;
}

.swiper_planning:hover .swiper-button-prev-planning,
.swiper_planning:hover .swiper-button-next-planning,
.swiper-button-prev-planning:hover,
.swiper-button-next-planning:hover {
  opacity: 1;
  background: rgba(255, 255, 255, 0.14);
  color: #fff;
}

.swiper_planning:hover .swiper-button-prev-planning,
.swiper-button-prev-planning:hover {
  -webkit-transform: translateY(-50%) scale(1.12) translateX(-0.15rem);
  -ms-transform: translateY(-50%) scale(1.12) translateX(-0.15rem);
  transform: translateY(-50%) scale(1.12) translateX(-0.15rem);
}

.swiper_planning:hover .swiper-button-next-planning,
.swiper-button-next-planning:hover {
  -webkit-transform: translateY(-50%) scale(1.12) translateX(0.15rem);
  -ms-transform: translateY(-50%) scale(1.12) translateX(0.15rem);
  transform: translateY(-50%) scale(1.12) translateX(0.15rem);
}

.swiper_planning:hover .swiper-button-prev-planning::before,
.swiper_planning:hover .swiper-button-next-planning::before,
.swiper-button-prev-planning:hover::before,
.swiper-button-next-planning:hover::before {
  width: 0.85rem;
  height: 0.85rem;
  -webkit-filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.45));
  filter: drop-shadow(0 2px 4px rgba(0, 0, 0, 0.45));
}

.swiper-button-prev-planning.swiper-button-disabled,
.swiper-button-next-planning.swiper-button-disabled {
  opacity: 0.35;
  cursor: default;
  pointer-events: none;
}

@media (max-width: 1775px) {
  .swiper-button-prev-planning,
  .swiper-button-next-planning {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    width: 2.5rem;
    height: 2.5rem;
  }
}

@media (max-width: 767px) {
  .swiper-button-prev-planning,
  .swiper-button-next-planning {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    width: 2.25rem;
    height: 2.25rem;
  }

  .swiper-button-prev-planning {
    left: 0.5rem;
  }

  .swiper-button-next-planning {
    right: 0.5rem;
  }
}

/* 서브 사업개요 슬라이드 이미지 — 중앙하이츠 조감/투시도 */
.overview-slide.img01 {
  background: url(../project/aerial_day.jpg?v=20261103hq) center / cover no-repeat !important;
}
.overview-slide.img02 {
  background: url(../project/perspective_day.jpg?v=20261103hq) center / cover
    no-repeat !important;
}
.overview-slide.img03 {
  background: url(../project/perspective_night.jpg) center / cover no-repeat !important;
}
.overview-slide.img04 {
  background: url(../project/aerial_night.jpg?v=20260922opt) center / cover
    no-repeat !important;
}

/* ========== /business/overview — 썸네일 우측 하단 세로 2장 + 등장 모션 ========== */
.richell-overview .overview-gallery {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  gap: 0.5rem;
  opacity: 1;
}

.richell-overview .swiper_planning {
  width: auto;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  margin: 0;
}

.richell-overview .swiper_planning .overview-slide {
  height: min(52vw, 560px);
  max-height: 560px;
}

.richell-overview .swiper_planning_thumb {
  width: 15.5%;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 15.5%;
  flex: 0 0 15.5%;
  margin: 0;
  height: min(52vw, 560px) !important;
}

.richell-overview .swiper_planning_thumb .swiper-wrapper {
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  height: 100%;
}

.richell-overview .swiper_planning_thumb .swiper-slide {
  width: 100% !important;
  height: clamp(4.6rem, 8.4vw, 6.15rem) !important;
  max-height: none;
  margin-top: 0 !important;
  margin-bottom: 0;
  border-radius: 0;
  overflow: hidden;
}

.richell-overview .swiper_planning_thumb .overview-slide {
  width: 100%;
  height: 100%;
}

.richell-overview .swiper_planning_thumb .overview-slide {
  -webkit-filter: grayscale(0.35) brightness(0.92);
  filter: grayscale(0.35) brightness(0.92);
  -webkit-transition:
    -webkit-filter 0.35s ease,
    opacity 0.35s ease;
  transition:
    filter 0.35s ease,
    opacity 0.35s ease;
  opacity: 0.78;
}

.richell-overview .swiper_planning_thumb .swiper-slide:hover .overview-slide {
  opacity: 1;
  -webkit-filter: grayscale(0.1) brightness(1);
  filter: grayscale(0.1) brightness(1);
}

.richell-overview
  .swiper_planning_thumb
  .swiper-slide-thumb-active
  .overview-slide {
  opacity: 1;
  -webkit-filter: none;
  filter: none;
}

.richell-overview .swiper_planning_thumb .swiper-slide-thumb-active:after {
  border: 3px solid #000;
}

.richell-overview [data-reveal] {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.5rem, 0);
  -ms-transform: translate3d(0, 1.5rem, 0);
  transform: translate3d(0, 1.5rem, 0);
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.85s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: var(--reveal-delay, 0s);
  -o-transition-delay: var(--reveal-delay, 0s);
  transition-delay: var(--reveal-delay, 0s);
  will-change: opacity, transform;
}

.richell-overview .is-inview [data-reveal],
.richell-overview [data-reveal].is-inview {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.richell-overview .overview-gallery.is-inview .swiper_planning .overview-slide {
  -webkit-animation: richellOverviewSlideIn 1.1s cubic-bezier(0.22, 1, 0.36, 1)
    both;
  animation: richellOverviewSlideIn 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@-webkit-keyframes richellOverviewSlideIn {
  from {
    -webkit-transform: scale(1.04);
    transform: scale(1.04);
  }
  to {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}

@keyframes richellOverviewSlideIn {
  from {
    transform: scale(1.04);
  }
  to {
    transform: scale(1);
  }
}

.richell-overview .overview-facts-list > div[data-reveal] {
  -webkit-transform: translate3d(0, 1.1rem, 0);
  -ms-transform: translate3d(0, 1.1rem, 0);
  transform: translate3d(0, 1.1rem, 0);
}

@media (max-width: 767px) {
  .richell-overview .overview-gallery {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .richell-overview .swiper_planning {
    width: 100%;
  }

  .richell-overview .swiper_planning .overview-slide {
    height: 56vw;
    max-height: none;
  }

  .richell-overview .swiper_planning_thumb {
    width: 42%;
    -ms-flex-item-align: end;
    align-self: flex-end;
    height: auto !important;
  }

  .richell-overview .swiper_planning_thumb .swiper-slide {
    height: 4.35rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-overview [data-reveal],
  .richell-overview
    .overview-gallery.is-inview
    .swiper_planning
    .overview-slide {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    -webkit-animation: none !important;
    animation: none !important;
  }
}

/* 서브 상단 배경 — Unsplash 교체 이미지 (캐시 무효화) */
.subpage-top-bg.img01 {
  background-image: url(../project/sub_bg01.jpg);
}
/* 사업개요 서브 상단 — 메인 투시도 */
.subpage-top-bg.img-perspective {
  background: url(../project/perspective_day.jpg?v=20261103hq) 43% 46% / cover
    no-repeat !important;
  opacity: 1;
}
/* 브랜드 소개 — 경량 투시도 */
.subpage-top-bg.img-perspective-brand {
  background: url(../project/brand/perspective_day.jpg?v=20261103brand) 43% 46% /
    cover no-repeat !important;
}
.subpage-top.has-perspective:after {
  background: rgba(8, 14, 26, 0.5);
}
.subpage-top-bg.img02 {
  background: url(../project/land_sub.jpg) center / cover no-repeat !important;
  opacity: 1;
}
.subpage-top-bg.img03 {
  background-image: url(../images/sub_top03.jpg?v=20260714);
}
.subpage-top-bg.img04 {
  background: url(../project/contract_sub.jpg) center / cover no-repeat !important;
  opacity: 1;
}
.subpage-top-bg.img05 {
  background: url(../project/presale_sub.jpg) center / cover no-repeat !important;
  opacity: 1;
}
.subpage-top-bg.img06 {
  background-image: url(../images/sub_top06.jpg?v=20260714);
}
.subpage-top-bg.img-customer {
  background-image: url(../project/customer.jpg?v=20260922opt);
}
.subpage-top-bg.img07 {
  background: url(../project/presale_sub.jpg) center / cover no-repeat !important;
  opacity: 1;
}

/* 서브 상단 타이틀 — 퍼진 자간 상태에서 글자별 페이드인 */
.subpage-top-text {
  -webkit-animation: none !important;
  animation: none !important;
  opacity: 1 !important;
}
.subpage-top-text h2 {
  -webkit-animation: none !important;
  animation: none !important;
  color: #fff !important;
  letter-spacing: 2.5rem !important;
  padding-left: 2.5rem !important;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.subpage-top-text h2 .richell-sub-char {
  display: inline-block;
  color: #fff;
  opacity: 0;
  -webkit-transform: translate3d(0, -0.9em, 0);
  transform: translate3d(0, -0.9em, 0);
  -webkit-animation: richell-sub-char-fade 1.45s ease forwards;
  animation: richell-sub-char-fade 1.45s ease forwards;
  will-change: opacity, transform;
}
.subpage-top-text h2 .richell-sub-char.is-space {
  width: 0.35em;
}
@-webkit-keyframes richell-sub-char-fade {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -0.9em, 0);
    transform: translate3d(0, -0.9em, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@keyframes richell-sub-char-fade {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, -0.9em, 0);
    transform: translate3d(0, -0.9em, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}
@media (max-width: 767px) {
  .subpage-top-text h2 {
    letter-spacing: 1rem !important;
    padding-left: 1rem !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .subpage-top-text h2 .richell-sub-char {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-animation: none;
    animation: none;
  }
}

/* ========== 공급안내 ========== */
.heights-supply {
  width: 100%;
  max-width: 900px;
  margin: 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}
.heights-supply__banner {
  position: relative;
  width: 100%;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: 0.35rem 2.5rem 0.55rem;
  margin: -0.35rem 0 0.75rem;
  background: #212c64;
  color: #fff;
  text-align: center;
}
.heights-supply__banner::before,
.heights-supply__banner::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  width: 1.75rem;
  background: #c2985e;
  pointer-events: none;
}
.heights-supply__banner::before {
  left: 0;
}
.heights-supply__banner::after {
  right: 0;
}
.heights-supply__banner-text {
  position: relative;
  z-index: 1;
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.25;
  white-space: nowrap;
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
}
@media (max-width: 640px) {
  .heights-supply__banner {
    padding: 0.3rem 1.75rem 0.5rem;
    min-height: 2.375rem;
    margin-top: -0.25rem;
  }
  .heights-supply__banner::before,
  .heights-supply__banner::after {
    width: 1.25rem;
  }
  .heights-supply__banner-text {
    font-size: 1rem;
    white-space: normal;
  }
}
.heights-supply__img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: top;
}
.heights-supply-notes {
  margin-top: 3.5rem;
}

/* ========== 입주자모집공고 (원종역 rec_anc 동일 레이아웃) ========== */
.heights-gongo {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  color: #222;
  background: #fff;
}
.heights-gongo__panel {
  background: #f5f5f5;
}
.heights-gongo__hero {
  position: relative;
  width: 100%;
  height: 0;
  padding-top: 62.18%;
  margin-bottom: 1.75rem;
  background: transparent;
  overflow: visible;
  isolation: isolate;
}
.heights-gongo__visual {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 0;
  background: #fff url(../project/perspective_day.jpg?v=20261103hq) center / cover no-repeat;
}
.heights-gongo__cards {
  position: absolute;
  right: 10%;
  bottom: -1.75rem;
  width: 31.82%;
  height: 56.43%;
  z-index: 2;
  background: #0e0924;
  background: -webkit-linear-gradient(top, #0e0924 0%, #0e0924 50%, #c69a55 50%, #c69a55 100%);
  background: -o-linear-gradient(top, #0e0924 0%, #0e0924 50%, #c69a55 50%, #c69a55 100%);
  background: linear-gradient(to bottom, #0e0924 0%, #0e0924 50%, #c69a55 50%, #c69a55 100%);
  overflow: hidden;
}
.heights-gongo__card {
  position: absolute;
  left: 0;
  right: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 0;
  text-align: center;
  text-decoration: none;
  color: #fff !important;
  overflow: hidden;
  opacity: 1 !important;
}
.heights-gongo__card.is-full {
  top: 0;
  height: calc(50% + 2px);
  background-color: #0e0924;
  z-index: 1;
}
.heights-gongo__card.is-summary {
  top: calc(50% - 2px);
  height: calc(50% + 2px);
  background-color: #c69a55;
  z-index: 2;
}
.heights-gongo__card-inner {
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  -webkit-transform: translateY(-46%);
  -ms-transform: translateY(-46%);
  transform: translateY(-46%);
  padding: 0 0.75rem;
  text-align: center;
}
.heights-gongo__brand {
  display: block;
  font-size: 1.125rem;
  font-weight: 400;
  letter-spacing: -0.01em;
  line-height: 1.35;
  color: #fff;
}
.heights-gongo__card-title {
  display: block;
  margin-top: 0.2rem;
  font-size: 1.875rem;
  font-weight: 700;
  line-height: 1.25;
  letter-spacing: -0.04em;
  color: #fff;
}
.heights-gongo__dl {
  display: block;
  width: 2.25rem;
  height: 2.25rem;
  margin: 1.15rem auto 0;
  color: #fff;
}
.heights-gongo__dl svg {
  display: block;
  width: 100%;
  height: 100%;
}
.heights-gongo__card:hover .heights-gongo__dl {
  -webkit-transform: translateY(2px);
  -ms-transform: translateY(2px);
  transform: translateY(2px);
}
.heights-gongo__adobe {
  position: relative;
  padding: 0;
  background: transparent;
}
.heights-gongo__adobe-img {
  display: block;
  width: 100%;
  height: auto;
  margin: 0;
  border: 0;
  vertical-align: top;
}
.heights-gongo__notes {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.25rem;
  margin-top: 3.5rem;
  padding: 2.25rem 1.5rem;
  background: #f5f5f5;
  text-align: left;
}
.heights-gongo__notes-mark {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 3.25rem;
  height: 3.25rem;
  border-radius: 50%;
  background: #111;
  color: #fff;
  font-size: 1.75rem;
  font-weight: 700;
  line-height: 3.25rem;
  text-align: center;
}
.heights-gongo__notes ul {
  margin: 0;
  padding: 0;
  list-style: none;
  text-align: left;
}
.heights-gongo__notes li {
  position: relative;
  padding-left: 1.05rem;
  margin-bottom: 0.15rem;
  font-size: 0.875rem;
  line-height: 1.65;
  color: #333;
  letter-spacing: -0.02em;
  text-align: left;
}
.heights-gongo__notes li:before {
  content: "※";
  position: absolute;
  left: 0;
  top: 0;
  color: #333;
}
@media (max-width: 900px) {
  .heights-gongo__hero {
    height: auto;
    padding-top: 0;
    margin-bottom: 0;
  }
  .heights-gongo__visual {
    position: relative;
    width: 100%;
    height: 14rem;
  }
  .heights-gongo__cards {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    height: auto;
  }
  .heights-gongo__card {
    position: relative;
    top: auto !important;
    height: auto;
    min-height: 8.5rem;
  }
  .heights-gongo__card-inner {
    position: relative;
    top: auto;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    padding: 1.5rem 0.75rem;
  }
}

/* 모집공고 — 좌측 배경·로고를 중앙하이츠 구성 플랫폼시티으로 교체 (레거시) */
.sub_gongo_img_box {
  background: url(../project/aerial_day.jpg?v=20261103hq) center / cover no-repeat !important;
}
.sub_gongo_txt_box img.sub_gongo_logo,
.sub_gongo_logo {
  display: block;
  max-width: none !important;
  height: auto !important;
  margin-left: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.3;
  color: #11284e;
}

/* 전문·축약 2카드 — 우측 상·하 배치, 제목 상단 / 안내문구 하단 */
.sub_gongo_txt_box > div {
  height: calc(50% - 2.5%) !important;
  margin-bottom: 5% !important;
}
.sub_gongo_txt_box > div:nth-child(2) {
  margin-bottom: 0 !important;
}

.sub_gongo_txt_box > div > a {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  padding: 2rem 1.75rem 3rem !important;
}

.sub_gongo_txt_box > div > a .sub_gongo_logo {
  font-size: 0.9375rem !important; /* 15px */
  -webkit-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

.sub_gongo_txt_box > div > a h2 {
  font-size: 1.625rem !important; /* 26px */
  line-height: 1.25 !important;
  margin-top: 0.5rem !important;
}

.sub_gongo_txt_box > div > a p {
  margin-top: auto !important;
  margin-bottom: 0.15rem !important;
  padding-right: 3.5rem; /* 버튼과 겹침 방지 */
  font-size: 0.875rem !important; /* 14px */
  line-height: 1.65 !important;
  opacity: 0.88 !important;
}

/* 모집공고 카드 호버 — 절제된 보더·버튼 전환 (리프트/좌측바 없음) */
.sub_gongo_txt_box > div {
  border-color: #d7dde6 !important;
  background: #fff;
  -webkit-transition:
    border-color 0.3s ease,
    -webkit-box-shadow 0.3s ease;
  transition:
    border-color 0.3s ease,
    -webkit-box-shadow 0.3s ease;
  -o-transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease;
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease;
  transition:
    border-color 0.3s ease,
    box-shadow 0.3s ease,
    -webkit-box-shadow 0.3s ease;
}

.sub_gongo_txt_box > div > a {
  position: relative;
  z-index: 1;
}

/* 기존 검정 코너 라인 비활성 */
.sub_gongo_txt_box > div > a:before,
.sub_gongo_txt_box > div > a:after,
.sub_gongo_txt_box > div:before,
.sub_gongo_txt_box > div:after {
  display: none !important;
}

.sub_gongo_txt_box h2 {
  -webkit-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

.sub_gongo_txt_box p {
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

.sub_gongo_bt {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #e8edf4 !important;
  color: #11284e;
  -webkit-transition:
    background-color 0.3s ease,
    color 0.3s ease;
  -o-transition:
    background-color 0.3s ease,
    color 0.3s ease;
  transition:
    background-color 0.3s ease,
    color 0.3s ease;
}

/* 기존 CSS 라인·꺾쇠 화살표 비활성 */
.sub_gongo_bt > div {
  display: none !important;
}

.sub_gongo_bt > div:before,
.sub_gongo_bt > div:after {
  content: none !important;
  display: none !important;
}

.sub_gongo_bt-icon {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  -webkit-transition: -webkit-transform 0.3s ease;
  transition: -webkit-transform 0.3s ease;
  -o-transition: transform 0.3s ease;
  transition: transform 0.3s ease;
  transition:
    transform 0.3s ease,
    -webkit-transform 0.3s ease;
  transition:
    transform 0.3s ease,
    -webkit-transform 0.3s ease;
  transition:
    transform 0.3s ease,
    -webkit-transform 0.3s ease;
}

.sub_gongo_txt_box > div:hover {
  border-color: #11284e !important;
  -webkit-box-shadow: 0 8px 24px rgba(17, 40, 78, 0.08);
  box-shadow: 0 8px 24px rgba(17, 40, 78, 0.08);
}

.sub_gongo_txt_box > div:hover h2 {
  color: #11284e;
}

.sub_gongo_txt_box > div:hover p {
  opacity: 1 !important;
}

.sub_gongo_txt_box > div:hover .sub_gongo_bt {
  background-color: #11284e !important;
  color: #fff;
}

.sub_gongo_txt_box > div:hover .sub_gongo_bt-icon {
  -webkit-transform: translateX(3px);
  -ms-transform: translateX(3px);
  transform: translateX(3px);
}

.sub_gongo_txt_box > div:hover .sub_gongo_logo {
  color: #c9a96e;
}

/* 홈 라이프 섹션 — KEY POINT 그리드 */
#section4 {
  background: #fff !important;
}

.location-wrap.richell-keypoint,
#section4 .location-wrap {
  --kp-enter-delay: 0.4s; /* 섹션 진입 후 등장 연출 시작 딜레이 */
  width: 100% !important;
  max-width: 100vw !important;
  height: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  background: #fff !important;
  overflow: hidden !important;
  position: relative !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  left: 0 !important;
  text-align: left !important; /* body.home .page-content center 상속 차단 */
}

.richell-keypoint-card,
.richell-keypoint-card h3,
.richell-keypoint-card p {
  text-align: left !important;
}

@media (max-width: 1400px) {
  .location-wrap.richell-keypoint,
  #section4 .location-wrap {
    height: auto !important;
    min-height: 0;
    overflow: visible !important;
    padding: 0 !important;
  }
}

.richell-keypoint-inner {
  width: 100%;
  height: 100%;
  max-width: 1440px;
  margin: 0 auto;
  padding: 5.5rem 3.5rem 2.5rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.richell-keypoint-grid {
  display: -ms-grid;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  grid-template-areas:
    "head head card1 card2"
    "card3 card4 card5 accent";
  gap: 1.75rem 1.5rem;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
}

.richell-keypoint-head {
  grid-area: head;
  position: relative;
  min-height: 0;
  padding: 0.35rem 2.5rem 0 0;
  text-align: left !important;
  opacity: 0;
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0);
  -webkit-transform: translate3d(0, 1.5rem, 0);
  -ms-transform: translate3d(0, 1.5rem, 0);
  transform: translate3d(0, 1.5rem, 0);
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-keypoint-head h2 {
  position: relative;
  z-index: 1;
  margin: 0;
  max-width: none;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.75rem, 2.6vw, 2.35rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.35;
  color: #11284e;
  text-align: left !important;
  word-break: keep-all;
  overflow-wrap: normal;
}

.richell-keypoint-lead {
  position: relative;
  z-index: 1;
  margin: 1.1rem 0 0;
  max-width: none;
  padding-right: 1rem;
  font-size: 0.875rem;
  line-height: 1.7;
  letter-spacing: -0.02em;
  color: #666;
  text-align: left !important;
  word-break: keep-all;
  overflow-wrap: normal;
}

.richell-keypoint-cta {
  position: relative;
  z-index: 2;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 1.25rem;
  padding: 0.7rem 1.35rem;
  border: 1px solid #11284e;
  background: #11284e;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1;
  cursor: pointer;
  -webkit-transition:
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease;
  -o-transition:
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease;
  transition:
    background 0.25s ease,
    color 0.25s ease,
    border-color 0.25s ease;
}

.richell-keypoint-cta:hover,
.richell-keypoint-cta:focus {
  background: #fff;
  color: #11284e;
  outline: none;
}

.richell-keypoint-cta:focus-visible {
  outline: 2px solid #11284e;
  outline-offset: 3px;
}

.richell-keypoint-mark {
  position: absolute;
  right: 0.5rem;
  bottom: 0;
  z-index: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(5rem, 8vw, 7.5rem);
  font-weight: 700;
  line-height: 0.85;
  letter-spacing: -0.06em;
  color: rgba(17, 40, 78, 0.06);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  opacity: 0;
  -webkit-transform: scale(0.85);
  -ms-transform: scale(0.85);
  transform: scale(0.85);
  -webkit-transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-keypoint-card {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.65rem;
  min-width: 0;
  opacity: 0;
}

.richell-keypoint-card h3 {
  margin: 0;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  line-height: 1.2;
  color: #11284e;
  text-transform: uppercase;
  opacity: 0;
  -webkit-transform: translate3d(-0.75rem, 0, 0);
  -ms-transform: translate3d(-0.75rem, 0, 0);
  transform: translate3d(-0.75rem, 0, 0);
  -webkit-transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-keypoint-card p {
  margin: 0;
  min-height: 2.6em;
  font-size: 0.875rem;
  line-height: 1.55;
  letter-spacing: -0.02em;
  color: #4a5565;
  opacity: 0;
  -webkit-transform: translate3d(0, 0.6rem, 0);
  -ms-transform: translate3d(0, 0.6rem, 0);
  transform: translate3d(0, 0.6rem, 0);
  -webkit-transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.75s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.75s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-keypoint-media {
  margin: 0.35rem 0 0;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #eef1f5;
  -webkit-clip-path: inset(0 0 100% 0);
  clip-path: inset(0 0 100% 0);
  -webkit-transition: -webkit-clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1);
  transition: -webkit-clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1);
  -o-transition: clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1);
  transition: clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1);
  transition:
    clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1);
  transition:
    clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1);
  transition:
    clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1);
  transition:
    clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1);
  transition:
    clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1);
  transition:
    clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1);
  transition:
    clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.05s cubic-bezier(0.77, 0, 0.175, 1);
}

.richell-keypoint-media img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transform: scale(1.12);
  -ms-transform: scale(1.12);
  transform: scale(1.12);
  -webkit-transition: -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.35s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 카드별 초기 등장 방향 */
.richell-keypoint-grid > .richell-keypoint-card:nth-child(2) {
  -webkit-transform: translate3d(-1.25rem, 0, 0);
  -ms-transform: translate3d(-1.25rem, 0, 0);
  transform: translate3d(-1.25rem, 0, 0);
  -webkit-clip-path: inset(0 80% 0 0);
  clip-path: inset(0 80% 0 0);
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-keypoint-grid > .richell-keypoint-card:nth-child(3) {
  -webkit-transform: translate3d(0, -1.25rem, 0) scale(1.04);
  -ms-transform: translate3d(0, -1.25rem, 0) scale(1.04);
  transform: translate3d(0, -1.25rem, 0) scale(1.04);
  -webkit-filter: blur(5px);
  filter: blur(5px);
  -webkit-clip-path: inset(100% 0 0 0);
  clip-path: inset(100% 0 0 0);
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    filter 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-filter 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-keypoint-grid > .richell-keypoint-card:nth-child(4) {
  -webkit-transform: translate3d(0, 1.5rem, 0);
  -ms-transform: translate3d(0, 1.5rem, 0);
  transform: translate3d(0, 1.5rem, 0);
  -webkit-clip-path: inset(0 0 80% 0);
  clip-path: inset(0 0 80% 0);
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-keypoint-grid > .richell-keypoint-card:nth-child(5) {
  -webkit-transform: translate3d(1.25rem, 0, 0);
  -ms-transform: translate3d(1.25rem, 0, 0);
  transform: translate3d(1.25rem, 0, 0);
  -webkit-clip-path: inset(0 0 0 80%);
  clip-path: inset(0 0 0 80%);
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    transform 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.1s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-transform 1s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-keypoint-grid > .richell-keypoint-card:nth-child(6) {
  -webkit-transform: translate3d(0, 1.75rem, 0) scale(0.96);
  -ms-transform: translate3d(0, 1.75rem, 0) scale(0.96);
  transform: translate3d(0, 1.75rem, 0) scale(0.96);
  -webkit-clip-path: inset(12% 12% 12% 12%);
  clip-path: inset(12% 12% 12% 12%);
  -webkit-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-keypoint-grid > .richell-keypoint-card:nth-child(2) {
  grid-area: card1;
}
.richell-keypoint-grid > .richell-keypoint-card:nth-child(3) {
  grid-area: card2;
}
.richell-keypoint-grid > .richell-keypoint-card:nth-child(4) {
  grid-area: card3;
}
.richell-keypoint-grid > .richell-keypoint-card:nth-child(5) {
  grid-area: card4;
}
.richell-keypoint-grid > .richell-keypoint-card:nth-child(6) {
  grid-area: card5;
}

.richell-keypoint-accent {
  grid-area: accent;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0.75rem;
  min-height: 0;
  padding: 0 0.25rem 0.5rem;
  -ms-flex-item-align: end;
  align-self: end;
  opacity: 0;
  -webkit-transform: translate3d(1rem, 0.5rem, 0) rotate(4deg);
  -ms-transform: translate3d(1rem, 0.5rem, 0) rotate(4deg);
  transform: translate3d(1rem, 0.5rem, 0) rotate(4deg);
  -webkit-transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.05s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.05s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-keypoint-script {
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(2.25rem, 3.6vw, 3.25rem);
  font-style: italic;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  color: #11284e;
}

.richell-keypoint-leaf {
  display: block;
  width: 6.25rem;
  height: auto;
  -o-object-fit: contain;
  object-fit: contain;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -webkit-transform: translateY(0.2rem);
  -ms-transform: translateY(0.2rem);
  transform: translateY(0.2rem);
}

.richell-keypoint-ori {
  width: 100%;
  margin: 1.75rem 0 0;
  font-size: 0.6875rem;
  line-height: 1.5;
  color: rgba(17, 40, 78, 0.45);
  text-align: center !important;
  opacity: 0;
  -webkit-transition: opacity 0.8s ease;
  -o-transition: opacity 0.8s ease;
  transition: opacity 0.8s ease;
}

/* 진입 연출 — --kp-enter-delay 이후 순차 등장 */
.location-wrap.richell-keypoint.on .richell-keypoint-head,
.location-wrap.richell-keypoint.active .richell-keypoint-head {
  opacity: 1;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
  -webkit-transition-delay: var(--kp-enter-delay);
  -o-transition-delay: var(--kp-enter-delay);
  transition-delay: var(--kp-enter-delay);
}

.location-wrap.richell-keypoint.on .richell-keypoint-mark,
.location-wrap.richell-keypoint.active .richell-keypoint-mark {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.25s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.25s);
  transition-delay: calc(var(--kp-enter-delay) + 0.25s);
}

.location-wrap.richell-keypoint.on .richell-keypoint-card,
.location-wrap.richell-keypoint.active .richell-keypoint-card {
  opacity: 1;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  -webkit-filter: none;
  filter: none;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  -ms-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1);
}

.location-wrap.richell-keypoint.on .richell-keypoint-card h3,
.location-wrap.richell-keypoint.active .richell-keypoint-card h3,
.location-wrap.richell-keypoint.on .richell-keypoint-card p,
.location-wrap.richell-keypoint.active .richell-keypoint-card p {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.location-wrap.richell-keypoint.on .richell-keypoint-media,
.location-wrap.richell-keypoint.active .richell-keypoint-media {
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
}

.location-wrap.richell-keypoint.on .richell-keypoint-media img,
.location-wrap.richell-keypoint.active .richell-keypoint-media img {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.location-wrap.richell-keypoint.on .richell-keypoint-accent,
.location-wrap.richell-keypoint.active .richell-keypoint-accent {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) rotate(0deg);
  -ms-transform: translate3d(0, 0, 0) rotate(0deg);
  transform: translate3d(0, 0, 0) rotate(0deg);
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.55s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.55s);
  transition-delay: calc(var(--kp-enter-delay) + 0.55s);
}

.location-wrap.richell-keypoint.on .richell-keypoint-ori,
.location-wrap.richell-keypoint.active .richell-keypoint-ori {
  opacity: 1;
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.55s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.55s);
  transition-delay: calc(var(--kp-enter-delay) + 0.55s);
}

.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(2),
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(2) {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.1s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.1s);
  transition-delay: calc(var(--kp-enter-delay) + 0.1s);
}
.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(2) h3,
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(2) h3 {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.28s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.28s);
  transition-delay: calc(var(--kp-enter-delay) + 0.28s);
}
.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(2) p,
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(2) p {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.34s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.34s);
  transition-delay: calc(var(--kp-enter-delay) + 0.34s);
}
.location-wrap.richell-keypoint.on
  .richell-keypoint-card:nth-child(2)
  .richell-keypoint-media,
.location-wrap.richell-keypoint.active
  .richell-keypoint-card:nth-child(2)
  .richell-keypoint-media {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.2s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.2s);
  transition-delay: calc(var(--kp-enter-delay) + 0.2s);
}
.location-wrap.richell-keypoint.on
  .richell-keypoint-card:nth-child(2)
  .richell-keypoint-media
  img,
.location-wrap.richell-keypoint.active
  .richell-keypoint-card:nth-child(2)
  .richell-keypoint-media
  img {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.22s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.22s);
  transition-delay: calc(var(--kp-enter-delay) + 0.22s);
}

.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(3),
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(3) {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.2s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.2s);
  transition-delay: calc(var(--kp-enter-delay) + 0.2s);
}
.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(3) h3,
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(3) h3 {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.38s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.38s);
  transition-delay: calc(var(--kp-enter-delay) + 0.38s);
}
.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(3) p,
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(3) p {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.44s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.44s);
  transition-delay: calc(var(--kp-enter-delay) + 0.44s);
}
.location-wrap.richell-keypoint.on
  .richell-keypoint-card:nth-child(3)
  .richell-keypoint-media,
.location-wrap.richell-keypoint.active
  .richell-keypoint-card:nth-child(3)
  .richell-keypoint-media {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.3s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.3s);
  transition-delay: calc(var(--kp-enter-delay) + 0.3s);
}
.location-wrap.richell-keypoint.on
  .richell-keypoint-card:nth-child(3)
  .richell-keypoint-media
  img,
.location-wrap.richell-keypoint.active
  .richell-keypoint-card:nth-child(3)
  .richell-keypoint-media
  img {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.32s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.32s);
  transition-delay: calc(var(--kp-enter-delay) + 0.32s);
}

.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(4),
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(4) {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.3s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.3s);
  transition-delay: calc(var(--kp-enter-delay) + 0.3s);
}
.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(4) h3,
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(4) h3 {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.48s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.48s);
  transition-delay: calc(var(--kp-enter-delay) + 0.48s);
}
.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(4) p,
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(4) p {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.54s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.54s);
  transition-delay: calc(var(--kp-enter-delay) + 0.54s);
}
.location-wrap.richell-keypoint.on
  .richell-keypoint-card:nth-child(4)
  .richell-keypoint-media,
.location-wrap.richell-keypoint.active
  .richell-keypoint-card:nth-child(4)
  .richell-keypoint-media {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.4s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.4s);
  transition-delay: calc(var(--kp-enter-delay) + 0.4s);
}
.location-wrap.richell-keypoint.on
  .richell-keypoint-card:nth-child(4)
  .richell-keypoint-media
  img,
.location-wrap.richell-keypoint.active
  .richell-keypoint-card:nth-child(4)
  .richell-keypoint-media
  img {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.42s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.42s);
  transition-delay: calc(var(--kp-enter-delay) + 0.42s);
}

.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(5),
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(5) {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.4s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.4s);
  transition-delay: calc(var(--kp-enter-delay) + 0.4s);
}
.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(5) h3,
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(5) h3 {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.58s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.58s);
  transition-delay: calc(var(--kp-enter-delay) + 0.58s);
}
.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(5) p,
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(5) p {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.64s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.64s);
  transition-delay: calc(var(--kp-enter-delay) + 0.64s);
}
.location-wrap.richell-keypoint.on
  .richell-keypoint-card:nth-child(5)
  .richell-keypoint-media,
.location-wrap.richell-keypoint.active
  .richell-keypoint-card:nth-child(5)
  .richell-keypoint-media {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.5s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.5s);
  transition-delay: calc(var(--kp-enter-delay) + 0.5s);
}
.location-wrap.richell-keypoint.on
  .richell-keypoint-card:nth-child(5)
  .richell-keypoint-media
  img,
.location-wrap.richell-keypoint.active
  .richell-keypoint-card:nth-child(5)
  .richell-keypoint-media
  img {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.52s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.52s);
  transition-delay: calc(var(--kp-enter-delay) + 0.52s);
}

.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(6),
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(6) {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.5s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.5s);
  transition-delay: calc(var(--kp-enter-delay) + 0.5s);
}
.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(6) h3,
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(6) h3 {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.68s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.68s);
  transition-delay: calc(var(--kp-enter-delay) + 0.68s);
}
.location-wrap.richell-keypoint.on .richell-keypoint-card:nth-child(6) p,
.location-wrap.richell-keypoint.active .richell-keypoint-card:nth-child(6) p {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.74s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.74s);
  transition-delay: calc(var(--kp-enter-delay) + 0.74s);
}
.location-wrap.richell-keypoint.on
  .richell-keypoint-card:nth-child(6)
  .richell-keypoint-media,
.location-wrap.richell-keypoint.active
  .richell-keypoint-card:nth-child(6)
  .richell-keypoint-media {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.6s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.6s);
  transition-delay: calc(var(--kp-enter-delay) + 0.6s);
}
.location-wrap.richell-keypoint.on
  .richell-keypoint-card:nth-child(6)
  .richell-keypoint-media
  img,
.location-wrap.richell-keypoint.active
  .richell-keypoint-card:nth-child(6)
  .richell-keypoint-media
  img {
  -webkit-transition-delay: calc(var(--kp-enter-delay) + 0.62s);
  -o-transition-delay: calc(var(--kp-enter-delay) + 0.62s);
  transition-delay: calc(var(--kp-enter-delay) + 0.62s);
}

/* 구 레이아웃 잔여 스타일 무력화 */
.location-wrap.richell-keypoint .rh-loca_con_wrap,
.location-wrap.richell-keypoint .location01,
.location-wrap.richell-keypoint .location02,
.location-wrap.richell-keypoint .rh-loca_ori {
  display: none !important;
}

@media (max-width: 1100px) {
  .richell-keypoint-inner {
    padding: 5rem 1.75rem 2rem;
  }

  .richell-keypoint-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    grid-template-areas:
      "head head"
      "card1 card2"
      "card3 card4"
      "card5 accent";
    gap: 1.5rem 1.25rem;
  }

  .richell-keypoint-head {
    min-height: auto;
    margin-bottom: 0.25rem;
    padding-right: 0.25rem;
  }

  .richell-keypoint-head h2,
  .richell-keypoint-lead {
    max-width: none;
  }

  .richell-keypoint-accent {
    min-height: auto;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding-top: 0.5rem;
  }
}

@media (max-width: 640px) {
  .richell-keypoint-inner {
    padding: 3.25rem 1.15rem 1.25rem;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    overflow-y: auto;
  }

  .richell-keypoint-grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "head"
      "card1"
      "card2"
      "card3"
      "card4"
      "card5"
      "accent";
    gap: 1.35rem;
  }

  .richell-keypoint-card p {
    min-height: 0;
  }

  .richell-keypoint-media {
    aspect-ratio: 16 / 9;
  }

  .richell-keypoint-script {
    font-size: 2rem;
  }

  .richell-keypoint-leaf {
    width: 4.25rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-keypoint-head,
  .richell-keypoint-mark,
  .richell-keypoint-card,
  .richell-keypoint-card h3,
  .richell-keypoint-card p,
  .richell-keypoint-accent,
  .richell-keypoint-ori,
  .richell-keypoint-media,
  .richell-keypoint-media img {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    -webkit-filter: none !important;
    filter: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

/* 홈 — 입지환경(생활권) 모달 */
.rh-location-modal {
  position: fixed;
  inset: 0;
  z-index: 10000010;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 1.25rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  -webkit-transition:
    opacity 0.35s ease,
    visibility 0s linear 0.35s;
  -o-transition:
    opacity 0.35s ease,
    visibility 0s linear 0.35s;
  transition:
    opacity 0.35s ease,
    visibility 0s linear 0.35s;
}

.rh-location-modal[hidden] {
  display: none !important;
}

.rh-location-modal.is-open,
.rh-location-modal.is-closing {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
}

.rh-location-modal.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  -webkit-transition:
    opacity 0.35s ease,
    visibility 0s linear 0s;
  -o-transition:
    opacity 0.35s ease,
    visibility 0s linear 0s;
  transition:
    opacity 0.35s ease,
    visibility 0s linear 0s;
}

.rh-location-modal.is-closing {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
}

.rh-location-modal-dim {
  position: absolute;
  inset: 0;
  background: rgba(8, 14, 28, 0.78);
  opacity: 0;
  cursor: pointer;
  -webkit-transition: opacity 0.35s ease;
  -o-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
}

.rh-location-modal.is-open .rh-location-modal-dim {
  opacity: 1;
}

.rh-location-modal.is-closing .rh-location-modal-dim {
  opacity: 0;
}

.rh-location-modal-panel {
  position: relative;
  z-index: 1;
  width: min(920px, 100%);
  max-height: min(92vh, 980px);
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  padding: 2rem 1.75rem 1.75rem;
  background: #fff;
  border: 1px solid rgba(255, 255, 255, 0.18);
  -webkit-box-shadow: 0 28px 80px rgba(0, 0, 0, 0.35);
  box-shadow: 0 28px 80px rgba(0, 0, 0, 0.35);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
  -webkit-transform: translate3d(0, 1.5rem, 0) scale(0.98);
  -ms-transform: translate3d(0, 1.5rem, 0) scale(0.98);
  transform: translate3d(0, 1.5rem, 0) scale(0.98);
  -webkit-transition:
    opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.35s cubic-bezier(0.22, 1, 0.36, 1);
}

.rh-location-modal.is-open .rh-location-modal-panel {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.rh-location-modal.is-closing .rh-location-modal-panel {
  opacity: 0;
  -webkit-transform: translate3d(0, 0.6rem, 0) scale(0.99);
  -ms-transform: translate3d(0, 0.6rem, 0) scale(0.99);
  transform: translate3d(0, 0.6rem, 0) scale(0.99);
}

.rh-location-modal-close {
  position: absolute;
  top: 0.75rem;
  right: 0.75rem;
  z-index: 2;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  cursor: pointer;
  -webkit-transition:
    background 0.2s ease,
    -webkit-transform 0.2s ease;
  -o-transition:
    background 0.2s ease,
    transform 0.2s ease;
  transition:
    background 0.2s ease,
    -webkit-transform 0.2s ease;
  transition:
    background 0.2s ease,
    transform 0.2s ease;
  transition:
    background 0.2s ease,
    transform 0.2s ease,
    -webkit-transform 0.2s ease;
}

.rh-location-modal-close img {
  display: block;
  width: 1.25rem;
  height: 1.25rem;
  pointer-events: none;
}

.rh-location-modal-close:hover,
.rh-location-modal-close:focus {
  background: rgba(17, 40, 78, 0.08);
  outline: none;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.rh-location-modal-close:focus-visible {
  outline: 2px solid #11284e;
  outline-offset: 2px;
}

.rh-location-modal-head {
  text-align: center;
  margin: 0.25rem 0 1.35rem;
}

.rh-location-modal-eyebrow {
  margin: 0 0 0.55rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(17, 40, 78, 0.5);
}

.rh-location-modal-head h3 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.85rem, 4vw, 2.75rem);
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.25;
  color: #11284e;
  opacity: 0;
  -webkit-transform: translate3d(0, 0.85rem, 0) scale(0.94);
  -ms-transform: translate3d(0, 0.85rem, 0) scale(0.94);
  transform: translate3d(0, 0.85rem, 0) scale(0.94);
}

.rh-location-modal.is-open .rh-location-modal-head h3 {
  -webkit-animation: rhLocationTitleIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.12s
    both;
  animation: rhLocationTitleIn 0.7s cubic-bezier(0.22, 1, 0.36, 1) 0.12s both;
}

@-webkit-keyframes rhLocationTitleIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0.85rem, 0) scale(0.94);
    transform: translate3d(0, 0.85rem, 0) scale(0.94);
    letter-spacing: -0.06em;
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    letter-spacing: -0.03em;
  }
}

@keyframes rhLocationTitleIn {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 0.85rem, 0) scale(0.94);
    transform: translate3d(0, 0.85rem, 0) scale(0.94);
    letter-spacing: -0.06em;
  }
  100% {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    letter-spacing: -0.03em;
  }
}

.rh-location-modal-lead {
  margin: 0.85rem auto 0;
  max-width: 28rem;
  font-size: 0.95rem;
  line-height: 1.65;
  letter-spacing: -0.02em;
  color: #667085;
}

.rh-location-modal-map {
  margin: 0 auto;
  max-width: 720px;
  background: #f4f6f8;
  border: 1px solid #e4e8ee;
  opacity: 0;
  -webkit-transform: translate3d(0, 1rem, 0);
  -ms-transform: translate3d(0, 1rem, 0);
  transform: translate3d(0, 1rem, 0);
}

.rh-location-modal.is-open .rh-location-modal-map {
  -webkit-animation: rhLocationMapIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.28s
    both;
  animation: rhLocationMapIn 0.65s cubic-bezier(0.22, 1, 0.36, 1) 0.28s both;
}

@-webkit-keyframes rhLocationMapIn {
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes rhLocationMapIn {
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.rh-location-modal-map img {
  display: block;
  width: 100%;
  height: auto;
}

.rh-location-modal-map figcaption {
  margin: 0;
  padding: 0.85rem 1rem;
  text-align: center;
  font-size: 0.8125rem;
  line-height: 1.55;
  letter-spacing: -0.02em;
  color: #666;
  background: #eef1f5;
}

.rh-location-modal-spots {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
  list-style: none;
  margin: 1.35rem 0 0;
  padding: 0;
}

.rh-location-modal-spots li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.3rem;
  padding: 0.9rem 0.7rem;
  text-align: center;
  background: #f7f8fa;
  border-top: 2px solid #11284e;
}

.rh-location-modal-spots strong {
  font-size: 1.05rem;
  font-weight: 700;
  color: #11284e;
}

.rh-location-modal-spots span {
  font-size: 0.875rem;
  line-height: 1.45;
  color: #555;
}

.rh-location-modal-more {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 1.35rem auto 0;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  min-width: 12rem;
  padding: 0.8rem 1.4rem;
  border: 1px solid #11284e;
  background: #11284e;
  color: #fff !important;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  text-decoration: none !important;
  -webkit-transition:
    background 0.25s ease,
    color 0.25s ease;
  -o-transition:
    background 0.25s ease,
    color 0.25s ease;
  transition:
    background 0.25s ease,
    color 0.25s ease;
}

.rh-location-modal-more:hover {
  background: #fff;
  color: #11284e !important;
}

@media (max-width: 767px) {
  .rh-location-modal {
    padding: 0.75rem;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }

  .rh-location-modal-panel {
    width: 100%;
    max-height: 88vh;
    padding: 1.5rem 1rem 1.25rem;
  }

  .rh-location-modal-spots {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .richell-keypoint-cta {
    width: 100%;
    max-width: 14rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .rh-location-modal,
  .rh-location-modal-dim,
  .rh-location-modal-panel,
  .rh-location-modal-close,
  .rh-location-modal.is-open .rh-location-modal-head h3,
  .rh-location-modal.is-open .rh-location-modal-map {
    -webkit-animation: none !important;
    animation: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .rh-location-modal:not(.is-open):not(.is-closing) {
    opacity: 0 !important;
  }
}

.overview-facts-list > div p {
  height: auto !important;
  min-height: 3rem;
}

.richell-overview .overview-facts-list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 2.75rem 2rem;
  -webkit-box-pack: stretch;
  -ms-flex-pack: stretch;
  justify-content: stretch;
}

.richell-overview .overview-facts-list > div {
  width: auto;
  margin-bottom: 0;
}

@media (max-width: 767px) {
  .richell-overview .overview-facts-list {
    grid-template-columns: 1fr;
    gap: 2.2rem 0;
  }
}

/* 로고 — rh-land-logo + Richell Edufore / 리첼 에듀포레 */
#logo {
  width: auto !important;
  min-width: 0;
  height: auto !important;
}

#logo a,
body.home #logo a,
.rh-navi.white #logo a,
.rh-navi.over #logo a,
.rh-navi.mouseover #logo a,
.rh-navi.active #logo a,
body.home .rh-navi.white #logo a,
body.home .rh-navi.over #logo a,
body.home .rh-navi.active #logo a,
body.home .rh-navi.mouseover #logo a {
  background: none !important;
  background-image: none !important;
  text-indent: 0 !important;
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.7rem;
  white-space: nowrap;
  overflow: visible !important;
  width: auto !important;
  height: auto !important;
  line-height: 1;
  text-decoration: none !important;
  -webkit-transition:
    color 0.3s ease,
    opacity 0.3s ease;
  -o-transition:
    color 0.3s ease,
    opacity 0.3s ease;
  transition:
    color 0.3s ease,
    opacity 0.3s ease;
}

#logo a::before {
  content: none !important;
  display: none !important;
}

#logo .logo-mark {
  position: relative;
  display: block;
  width: 17.2rem;
  height: 1.7rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

#logo .logo-mark__img {
  position: absolute;
  left: 0;
  top: 0;
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
  object-fit: contain;
  -webkit-transition: opacity 0.3s ease;
  -o-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
}

/* 기본·밝은 배경(흰 내비 펼침): dark 로고 */
#logo .logo-mark__img--dark {
  opacity: 1;
}
#logo .logo-mark__img--light {
  opacity: 0;
}

/* 어두운 배경(.white / .over, 펼침 아님): light 로고 */
.rh-navi.white:not(.active):not(.mouseover) #logo .logo-mark__img--dark,
.rh-navi.over:not(.active):not(.mouseover) #logo .logo-mark__img--dark,
body.home
  .rh-navi.white:not(.active):not(.mouseover)
  #logo
  .logo-mark__img--dark,
body.home
  .rh-navi.over:not(.active):not(.mouseover)
  #logo
  .logo-mark__img--dark {
  opacity: 0;
}
.rh-navi.white:not(.active):not(.mouseover) #logo .logo-mark__img--light,
.rh-navi.over:not(.active):not(.mouseover) #logo .logo-mark__img--light,
body.home
  .rh-navi.white:not(.active):not(.mouseover)
  #logo
  .logo-mark__img--light,
body.home
  .rh-navi.over:not(.active):not(.mouseover)
  #logo
  .logo-mark__img--light {
  opacity: 1;
}

/* 메뉴 펼침(.active / .mouseover): 흰 패널 → dark 로고 */
.rh-navi.active #logo .logo-mark__img--dark,
.rh-navi.mouseover #logo .logo-mark__img--dark,
body.home .rh-navi.active #logo .logo-mark__img--dark,
body.home .rh-navi.mouseover #logo .logo-mark__img--dark,
body.subpage .rh-navi.active #logo .logo-mark__img--dark,
body.subpage .rh-navi.mouseover #logo .logo-mark__img--dark {
  opacity: 1;
}
.rh-navi.active #logo .logo-mark__img--light,
.rh-navi.mouseover #logo .logo-mark__img--light,
body.home .rh-navi.active #logo .logo-mark__img--light,
body.home .rh-navi.mouseover #logo .logo-mark__img--light,
body.subpage .rh-navi.active #logo .logo-mark__img--light,
body.subpage .rh-navi.mouseover #logo .logo-mark__img--light {
  opacity: 0;
}

#logo .logo-wordmark {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.42rem;
  padding-left: 0.7rem;
  border-left: 1px solid currentColor;
  opacity: 1;
}

#logo .logo-ko {
  font-family: "Noto Sans KR", "Pretendard", sans-serif;
  font-size: 1.12rem;
  font-weight: 800;
  letter-spacing: -0.04em;
  line-height: 1;
  white-space: nowrap;
}

#logo .logo-badge {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0.22rem 0.48rem 0.2rem;
  border-radius: 0.28rem;
  background: #11284e;
  color: #fff !important;
  font-family: "Noto Sans KR", "Pretendard", sans-serif;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
  white-space: nowrap;
}

.rh-navi.white:not(.active):not(.mouseover) #logo .logo-badge,
.rh-navi.over:not(.active):not(.mouseover) #logo .logo-badge,
body.home .rh-navi.white:not(.active):not(.mouseover) #logo .logo-badge,
body.home .rh-navi.over:not(.active):not(.mouseover) #logo .logo-badge {
  background: #fff;
  color: #11284e !important;
}

/* 밝은 섹션: 진한 로고 / 히어로·어두운 섹션(.white): 흰 로고 */
#logo a,
body.home #logo a {
  color: #11284e !important;
}

.rh-navi.white #logo a,
.rh-navi.over #logo a,
body.home .rh-navi.white #logo a,
body.home .rh-navi.over #logo a {
  color: #fff !important;
}

.rh-navi.active #logo a,
.rh-navi.mouseover #logo a,
body.home .rh-navi.active #logo a,
body.home .rh-navi.mouseover #logo a {
  color: #11284e !important;
}

@media screen and (max-width: 1280px) {
  #logo .logo-mark {
    width: 15.2rem;
    height: 1.5rem;
  }
}

@media screen and (max-width: 900px) {
  #logo a {
    gap: 0 !important;
  }

  #logo .logo-mark {
    width: 13.2rem;
    height: 1.3rem;
  }
}

@media screen and (max-width: 640px) {
  #logo .logo-mark {
    width: 11.4rem;
    height: 1.12rem;
  }
}

.rh-footer-logo {
  display: none !important;
}

/* ========== 푸터 (중앙 정렬 정보형) ========== */
/* 푸터 섹션 자체 흰 배경이 리사이즈 시 푸터 아래로 보이던 문제 방지 */
body.home #rh-footer,
body.home #rh-footer.fp-section,
body.home #rh-footer .fp-tableCell,
body.jh-home #rh-footer,
body.jh-home #rh-footer.fp-section,
body.jh-home #rh-footer .fp-tableCell {
  background-color: #0c0b1a !important;
}

.rh-footer,
body.home .rh-footer,
body.subpage .rh-footer {
  display: block !important;
  background-color: #0c0b1a !important;
  color: #fff;
  padding: 4.25rem 5% 3.5rem !important;
  text-align: center !important;
  overflow: hidden;
}

/* 레거시 100vh :after — 리사이즈 시 푸터 아래 흰 스크롤 여백의 원인 */
.rh-footer:after,
.rh-footer.end:after,
body.home .rh-footer:after,
body.home .rh-footer.end:after,
body.subpage .rh-footer:after,
body.subpage .rh-footer.end:after {
  content: none !important;
  display: none !important;
  height: 0 !important;
}

/* 풀스크린 오버스크롤로 푸터 아래 흰 여백이 보이는 현상 완화 */
html {
  background-color: #0c0b1a;
}

.rh-footer-inner {
  position: relative;
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  text-align: center;
}

.rh-footer-brandline,
.rh-footer-line,
.rh-footer-notes,
.rh-footer-notes li {
  text-align: center !important;
}

@media screen and (max-width: 640px) {
  .rh-footer-notes,
  .rh-footer-notes li {
    text-align: justify !important;
    text-align-last: left;
    word-break: keep-all;
    overflow-wrap: break-word;
    line-break: strict;
  }
}

.rh-footer p.rh-footer-brandline,
.rh-footer-brandline {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: 0 0 1.35rem !important;
  padding: 0 !important;
  line-height: 0 !important;
  opacity: 1 !important;
}

.rh-footer-logo-img {
  display: block;
  width: 20.4rem;
  height: 2.02rem;
  -o-object-fit: contain;
  object-fit: contain;
}

.rh-footer p.rh-footer-line,
.rh-footer-line {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.35rem 1.35rem;
  margin: 0 0 0.55rem !important;
  padding: 0 !important;
  font-size: 1.05rem !important;
  font-weight: 400 !important;
  line-height: 1.7 !important;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.92);
  opacity: 1 !important;
}

.rh-footer-line--contact {
  gap: 0.35rem 0.7rem;
  color: rgba(255, 255, 255, 0.88);
}

.rh-footer p.rh-footer-line--agency,
.rh-footer-line--agency {
  margin: 0.15rem 0 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.6 !important;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.38) !important;
  word-break: keep-all;
}

.rh-footer-line a {
  color: inherit;
  text-decoration: none;
}

.rh-footer-line a:hover {
  text-decoration: underline;
}

.rh-footer-sep {
  display: inline-block;
  margin: 0;
  opacity: 0.4;
  font-weight: 300;
}

.rh-footer-notes {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  margin: 1.65rem 0 0 !important;
  padding: 0 !important;
  list-style: none;
}

.rh-footer-notes li {
  display: block;
  padding: 0 !important;
  margin: 0 0 0.22rem;
  font-size: 0.9rem !important;
  font-weight: 400 !important;
  line-height: 1.6 !important;
  color: rgba(255, 255, 255, 0.38);
  word-break: keep-all;
  overflow-wrap: break-word;
  line-break: strict;
}

.rh-footer-notes li:after {
  display: none !important;
}

.rh-footer .rh-top-btn {
  top: 4.25rem;
  right: 2.25rem;
  bottom: auto;
  margin-top: 0;
  background-color: transparent;
  border: 1px solid rgba(255, 255, 255, 0.45);
}

.rh-footer .rh-top-btn:before {
  border-color: #fff;
}

.rh-footer .rh-top-btn:after {
  background-color: #fff;
}

@media screen and (max-width: 1100px) {
  .rh-footer,
  body.subpage .rh-footer {
    padding: 3.5rem 5% 3rem !important;
  }
}

@media screen and (max-width: 900px) {
  .rh-footer-logo-img {
    width: 17.2rem;
    height: 1.7rem;
  }

  .rh-footer p.rh-footer-line,
  .rh-footer-line {
    font-size: 0.98rem !important;
    gap: 0.2rem 1rem;
  }
}

@media screen and (max-width: 640px) {
  .rh-footer,
  body.subpage .rh-footer {
    padding: 3.1rem 5% 2.6rem !important;
  }

  .rh-footer p.rh-footer-brandline,
  .rh-footer-brandline {
    margin-bottom: 1.15rem !important;
  }

  .rh-footer-logo-img {
    width: 14.2rem;
    height: 1.4rem;
  }

  .rh-footer p.rh-footer-line,
  .rh-footer-line {
    display: block !important;
    font-size: 0.92rem !important;
    line-height: 1.85 !important;
  }

  .rh-footer-line--agency {
    font-size: 0.78rem !important;
    line-height: 1.55 !important;
    color: rgba(255, 255, 255, 0.38) !important;
  }

  .rh-footer-line span {
    display: block;
  }

  .rh-footer-sep {
    display: none;
  }

  .rh-footer-notes li {
    font-size: 0.78rem !important;
    line-height: 1.55 !important;
    margin: 0 0 0.45rem;
  }

  .rh-footer-notes li:last-child {
    margin-bottom: 0;
  }

  .rh-footer .rh-top-btn {
    right: 1.15rem;
    top: 3.1rem;
  }
}

/* TOP 버튼 — 원형 + 얇은 화살표 */
.rh-top-btn {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background-color: #11284e;
  border: 1px solid rgba(255, 255, 255, 0.18);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    -webkit-transform 0.25s ease;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    -webkit-transform 0.25s ease;
  -o-transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease,
    transform 0.25s ease,
    -webkit-transform 0.25s ease;
}

.rh-top-btn:before {
  content: "";
  width: 9px;
  height: 9px;
  left: 0;
  right: 0;
  top: -2px;
  bottom: 0;
  margin: auto;
  border-left: 1.5px solid #fff;
  border-top: 1.5px solid #fff;
  border-right: 0;
  border-bottom: 0;
  background: none;
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
}

.rh-top-btn:after {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  top: 3px;
  bottom: 0;
  margin: auto;
  width: 1.5px;
  height: 11px;
  background-color: #fff;
  border-radius: 1px;
  pointer-events: none;
}

.rh-top-btn:hover {
  background-color: #1a3a6b;
  border-color: rgba(255, 255, 255, 0.35);
  -webkit-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  transform: translateY(-2px);
}

@media (max-width: 767px) {
  .rh-footer .rh-top-btn {
    width: 38px;
    height: 38px;
  }

  .rh-footer .rh-top-btn:before {
    width: 8px;
    height: 8px;
    top: -1px;
  }

  .rh-footer .rh-top-btn:after {
    height: 10px;
    top: 2px;
  }
}

/* 기본 숨김 — .show 가 붙으면 홈 팝업 노출 */
.rh-popup_wrap {
  display: none !important;
}
.rh-popup_wrap.show {
  display: block !important;
}

/* 홈 팝업 오픈 중 배경 스크롤 잠금 */
body.richell-popup-open,
body.richell-popup-open.html,
html:has(body.richell-popup-open) {
  overflow: hidden !important;
  -ms-scroll-chaining: none;
  overscroll-behavior: none;
}

body.home.richell-popup-open {
  overflow: hidden !important;
  -ms-touch-action: none;
  touch-action: none;
}

/* OPEN 예정 배지 — 중앙 고정 + 주변 텍스트 회전 */
.rh-main-guest {
  width: 10.5rem;
  height: 10.5rem;
}

.rh-main-guest a,
.rh-main-guest a.open-badge {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  width: 100%;
  height: 100%;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  cursor: default;
  text-decoration: none;
}

.rh-main-guest_bg {
  display: none !important;
}

.rh-main-guest p {
  display: none !important;
}

.open-badge-spin {
  position: absolute;
  inset: 0;
  -webkit-animation: open-badge-spin 18s linear infinite;
  animation: open-badge-spin 18s linear infinite;
}

.open-badge-ring {
  stroke: rgba(255, 255, 255, 0.9);
  stroke-width: 1;
  stroke-dasharray: 1.5 5;
}

.open-badge-text {
  fill: #fff;
  font-size: 13px;
  font-weight: 500;
  letter-spacing: 0.42em;
  text-transform: uppercase;
}

.open-badge-center {
  position: relative;
  z-index: 2;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.32rem;
  color: #fff;
  text-align: center;
  line-height: 1;
}

.open-badge-center strong {
  font-size: 1.32rem;
  font-weight: 800;
  letter-spacing: 0.02em;
}

.open-badge-center em {
  font-style: normal;
  font-size: 1.42rem;
  font-weight: 800;
  letter-spacing: 0.02em;
  line-height: 1.15;
  white-space: normal;
}

@-webkit-keyframes open-badge-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@keyframes open-badge-spin {
  from {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
  }
  to {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg);
  }
}

@media (max-width: 1024px) {
  .rh-main-guest {
    width: 8.75rem;
    height: 8.75rem;
  }

  .open-badge-text {
    font-size: 11.5px;
  }

  .open-badge-center strong {
    font-size: 1.1rem;
  }

  .open-badge-center em {
    font-size: 1.18rem;
  }
}

/* GNB 노출 구간: 로고↔메뉴 / 메뉴↔전화 사이 간격을 같게 */
@media (min-width: 1401px) {
  header .rh-navi {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 6.25rem;
    overflow: visible;
  }

  header .rh-navi-logo-box {
    position: relative;
    left: auto;
    height: auto;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }

  header .rh-gnb {
    position: relative;
    left: auto;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    -ms-flex-item-align: start;
    align-self: flex-start;
  }

  header .fixed-top-wrapper {
    position: relative;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    margin: 0 !important;
    margin-top: 0 !important;
    margin-bottom: 0 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    height: auto !important;
    -ms-flex-item-align: center;
    align-self: center;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
}

/* 상단: 관심고객등록 (전화번호 우측) — 밝은 섹션=진한색, .white=흰색 */
.fixed-top-wrapper {
  display: -webkit-box !important;
  display: -ms-flexbox !important;
  display: flex !important;
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  gap: 0.875rem;
  top: 50% !important;
  bottom: auto !important;
  height: auto !important;
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}

.rh-tel-box,
.rh-guest-box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  height: auto;
  line-height: 1;
}

.rh-tel-box {
  margin-right: 0;
}

.rh-tel-box .rh-tel {
  height: auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.rh-tel-box .rh-tel a {
  width: auto;
  height: auto !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center !important;
  -ms-flex-align: center !important;
  align-items: center !important;
  gap: 0.25rem;
}

.rh-tel-box .rh-tel a div {
  width: 1.25rem;
  height: 1.25rem;
  background-size: 1.125rem !important;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.rh-tel-box .rh-tel a p {
  margin: 0 !important;
  line-height: 1 !important;
  display: block;
}
.rh-tel-box .rh-tel a .rh-tel-num {
  position: relative;
  display: block;
  height: 1.35rem;
  width: auto;
}
.rh-tel-box .rh-tel a .rh-tel-num img {
  display: block;
  height: 100%;
  width: auto;
}
.rh-tel-box .rh-tel a .rh-tel-num__white {
  position: absolute;
  left: 0;
  top: 0;
  opacity: 0;
}
.rh-navi.white:not(.active):not(.mouseover)
  .rh-tel-box
  .rh-tel
  a
  .rh-tel-num__white,
.rh-navi.over:not(.active):not(.mouseover)
  .rh-tel-box
  .rh-tel
  a
  .rh-tel-num__white {
  opacity: 1;
}
.rh-navi.white:not(.active):not(.mouseover)
  .rh-tel-box
  .rh-tel
  a
  .rh-tel-num__navy,
.rh-navi.over:not(.active):not(.mouseover)
  .rh-tel-box
  .rh-tel
  a
  .rh-tel-num__navy {
  opacity: 0;
}

.rh-navi.white .rh-tel-box .rh-tel a div,
.rh-navi.over .rh-tel-box .rh-tel a div,
.rh-navi.active .rh-tel-box .rh-tel a div,
.rh-navi.mouseover .rh-tel-box .rh-tel a div {
  background-size: 1.125rem !important;
}

.rh-guest-box a {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 2.5rem;
  padding: 0 0.95rem;
  border: 1px solid #11284e;
  border-radius: 999px;
  color: #11284e;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  line-height: 1;
  white-space: nowrap;
  -webkit-transition: 0.3s;
  -o-transition: 0.3s;
  transition: 0.3s;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.rh-guest-box a:hover {
  background: rgba(17, 40, 78, 0.06);
}

.rh-navi.white .rh-guest-box a,
.rh-navi.over .rh-guest-box a {
  border-color: rgba(255, 255, 255, 0.85);
  color: #fff;
}

.rh-navi.white .rh-guest-box a:hover,
.rh-navi.over .rh-guest-box a:hover {
  background: rgba(255, 255, 255, 0.12);
}

.rh-navi.active .rh-guest-box a,
.rh-navi.mouseover .rh-guest-box a {
  border-color: #002e45;
  color: #002e45;
}

.rh-navi.active .rh-guest-box a:hover,
.rh-navi.mouseover .rh-guest-box a:hover {
  background: rgba(0, 46, 69, 0.06);
}

@media (max-width: 1024px) {
  .rh-guest-box a {
    padding: 0 0.65rem;
    font-size: 0.75rem;
    height: 1.875rem;
  }

  .rh-tel-box .rh-tel a div {
    width: 1.1rem;
    height: 1.1rem;
    background-size: 1rem !important;
  }

  .rh-tel-box .rh-tel a p {
    font-size: 1.05rem;
  }
  .rh-tel-box .rh-tel a .rh-tel-num {
    height: 1.05rem;
  }
}

/* 좁은 해상도에서도 전화번호·관심등록 텍스트 유지 */
@media (max-width: 767px) {
  .fixed-top-wrapper {
    right: calc(1% + 2.875rem) !important;
    gap: 0.35rem !important;
  }

  .rh-tel-box {
    margin: 0 !important;
    -webkit-box-ordinal-group: 1 !important;
    -ms-flex-order: 0 !important;
    order: 0 !important;
  }

  .rh-guest-box {
    -webkit-box-ordinal-group: 2 !important;
    -ms-flex-order: 1 !important;
    order: 1 !important;
  }

  .rh-tel-box .rh-tel {
    width: auto !important;
    border: 0 !important;
    border-radius: 0 !important;
  }

  .rh-tel-box .rh-tel a {
    gap: 0.2rem;
  }

  .rh-tel-box .rh-tel a div {
    width: 1.05rem !important;
    height: 1.05rem !important;
    background-size: 0.95rem !important;
  }

  .rh-tel-box .rh-tel a p {
    display: block !important;
    font-size: 0.8125rem !important;
    letter-spacing: -0.02em;
    white-space: nowrap;
  }
  .rh-tel-box .rh-tel a .rh-tel-num {
    height: 0.85rem;
  }

  .rh-navi.white .rh-tel-box .rh-tel,
  .rh-navi.over .rh-tel-box .rh-tel,
  .rh-navi.active .rh-tel-box .rh-tel,
  .rh-navi.mouseover .rh-tel-box .rh-tel {
    border: 0 !important;
  }

  .rh-guest-box a {
    font-size: 0.6875rem !important;
    width: auto !important;
    height: 1.75rem !important;
    padding: 0 0.55rem !important;
    border-radius: 999px !important;
    background: none !important;
    background-image: none !important;
    white-space: nowrap;
  }

  .rh-navi.white .rh-guest-box a,
  .rh-navi.over .rh-guest-box a,
  .rh-navi.active .rh-guest-box a,
  .rh-navi.mouseover .rh-guest-box a {
    background: none !important;
    background-image: none !important;
  }
}

@media (max-width: 400px) {
  .rh-tel-box .rh-tel a p {
    font-size: 0.75rem !important;
  }
  .rh-tel-box .rh-tel a .rh-tel-num {
    height: 0.78rem;
  }

  .rh-guest-box a {
    font-size: 0.625rem !important;
    padding: 0 0.45rem !important;
  }
}

/* ========== 사업개요 ========== */
/* Overview(1스크롤): 타이틀만 국소 프로스트 유지
   1400~1485: 기본 width 29%면 1행이 잘려 '는' 단독 줄바꿈 → 박스 폭·글자 크기 보정 */
.richell-summary .rh-sum-tit-box {
  width: 31%;
}

.richell-summary .rh-sum-tit-box > div {
  position: relative;
  z-index: 2;
  max-width: 31rem;
  width: 100%;
  padding: 1.65rem 1.7rem 1.75rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 0.72);
  -webkit-backdrop-filter: blur(14px) saturate(1.2);
  backdrop-filter: blur(14px) saturate(1.2);
  border: 1px solid rgba(255, 255, 255, 0.65);
  -webkit-box-shadow: 0 10px 36px rgba(17, 40, 78, 0.08);
  box-shadow: 0 10px 36px rgba(17, 40, 78, 0.08);
}

@supports not (
  ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px)))
) {
  .richell-summary .rh-sum-tit-box > div {
    background: rgba(255, 255, 255, 0.9);
  }
}

.richell-summary .richell-summary-eyebrow {
  margin: 0 0 0.85rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: #11284e;
  opacity: 0.55;
}

.richell-summary .rh-sum-tit-box h2 {
  position: relative;
  padding-bottom: 1.25rem;
  font-size: clamp(2.125rem, 1.7vw + 0.85rem, 2.5rem) !important;
  word-break: keep-all;
  overflow-wrap: normal;
  line-height: 1.35;
}

.richell-summary .rh-sum-tit-box h2::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 2.5rem;
  height: 2px;
  background: #11284e;
}

.richell-summary .rh-sum-tit-box p {
  max-width: 26rem;
  font-size: 1.0625rem !important;
}

.richell-summary .rh-sum-content > div {
  gap: 3.5rem;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  max-width: 1480px;
  width: 94%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.richell-summary .rh-sum-txt-box {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  min-width: 12rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.richell-summary .rh-sum-txt-box > div {
  padding: 0;
  background: none;
  border: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.richell-summary .rh-sum-txt-box h2 {
  font-family: "Nanum Myeongjo", serif !important;
  font-size: 3.5rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em;
  color: #fff;
  white-space: nowrap;
  text-shadow: 0 2px 18px rgba(0, 0, 0, 0.35);
}

.richell-summary .rh-sum-txt-box h5 {
  margin-top: 0.85rem !important;
  margin-left: 0 !important;
  font-size: 1.125rem !important;
  font-weight: 500 !important;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.78);
  opacity: 1;
  white-space: nowrap;
}

.richell-summary .rh-sum-content .richell-summary-eyebrow {
  color: rgba(255, 255, 255, 0.55);
  opacity: 1;
}

.richell-summary .rh-sum-sum {
  max-width: none;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0;
  min-width: 0;
}

.richell-summary .rh-sum-sum ul {
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 1.5rem 2.25rem;
}

.richell-summary .rh-sum-sum ul li {
  width: calc(33.333% - 1.5rem);
  text-align: left;
}

.richell-summary .rh-sum-sum ul li > div {
  position: relative;
  z-index: 2;
  height: 100%;
  padding: 0.25rem 0.25rem 0.25rem 1.15rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: none;
  border: 0;
  -webkit-box-shadow: none;
  box-shadow: none;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
  -webkit-transition: -webkit-transform 0.35s ease;
  transition: -webkit-transform 0.35s ease;
  -o-transition: transform 0.35s ease;
  transition: transform 0.35s ease;
  transition:
    transform 0.35s ease,
    -webkit-transform 0.35s ease;
  transition:
    transform 0.35s ease,
    -webkit-transform 0.35s ease;
  transition:
    transform 0.35s ease,
    -webkit-transform 0.35s ease;
  transition:
    transform 0.35s ease,
    -webkit-transform 0.35s ease;
  transition:
    transform 0.35s ease,
    -webkit-transform 0.35s ease;
  transition:
    transform 0.35s ease,
    -webkit-transform 0.35s ease;
  transition:
    transform 0.35s ease,
    -webkit-transform 0.35s ease;
}

.richell-summary .rh-sum-sum ul li > div::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.15rem;
  bottom: 0.15rem;
  width: 2px;
  background: rgba(255, 255, 255, 0.85);
  -webkit-transform: scaleY(0.35);
  -ms-transform: scaleY(0.35);
  transform: scaleY(0.35);
  -webkit-transform-origin: top;
  -ms-transform-origin: top;
  transform-origin: top;
  -webkit-transition:
    -webkit-transform 0.35s ease,
    opacity 0.35s ease;
  transition:
    -webkit-transform 0.35s ease,
    opacity 0.35s ease;
  -o-transition:
    transform 0.35s ease,
    opacity 0.35s ease;
  -webkit-transition:
    opacity 0.35s ease,
    -webkit-transform 0.35s ease;
  transition:
    opacity 0.35s ease,
    -webkit-transform 0.35s ease;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease;
  transition:
    transform 0.35s ease,
    opacity 0.35s ease,
    -webkit-transform 0.35s ease;
  opacity: 0.4;
}

.richell-summary .richell-summary-num {
  display: block;
  margin-bottom: 0.55rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: 0.12em;
  color: rgba(255, 255, 255, 0.55);
  opacity: 1;
}

.richell-summary .rh-sum-sum ul li h3 {
  font-family: "Nanum Myeongjo", serif;
  font-size: 1.5rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  color: #fff;
  line-height: 1.25 !important;
  white-space: nowrap;
  text-shadow: 0 1px 12px rgba(0, 0, 0, 0.3);
}

.richell-summary .rh-sum-sum ul li p {
  margin-top: 0.75rem !important;
  padding-top: 0 !important;
  border-top: 0 !important;
  font-size: 1rem !important;
  line-height: 1.45 !important;
  opacity: 0.82 !important;
  color: rgba(255, 255, 255, 0.88);
  white-space: nowrap;
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.28);
}

.richell-summary .rh-sum-sum ul li > div:hover {
  -webkit-transform: translateX(4px);
  -ms-transform: translateX(4px);
  transform: translateX(4px);
  background: none;
  -webkit-box-shadow: none;
  box-shadow: none;
}

.richell-summary .rh-sum-sum ul li > div:hover::before {
  -webkit-transform: scaleY(1);
  -ms-transform: scaleY(1);
  transform: scaleY(1);
  opacity: 1;
  background: #c9a96e;
}

.richell-summary.rh-sum-wrap.on2 .imgc,
.richell-summary.rh-sum-wrap.on2 h6.imgc {
  color: rgba(255, 255, 255, 0.55) !important;
}

@media (max-width: 1400px) {
  /* pad.css padding-bottom:47rem 제거 — 사업개요 하단 과다 여백 */
  .richell-summary.rh-sum-wrap,
  .rh-sum-wrap.richell-summary {
    height: auto !important;
    padding: 5.5rem 0 3rem !important;
  }

  .richell-summary .rh-sum-tit-box {
    position: relative !important;
    left: auto !important;
    top: auto !important;
    width: 100% !important;
    height: auto !important;
    -webkit-box-pack: center !important;
    -ms-flex-pack: center !important;
    justify-content: center !important;
    text-align: center;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .richell-summary .rh-sum-tit-box > div {
    max-width: 22.5rem;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
  }

  .richell-summary .rh-sum-tit-box h2::after {
    left: 0;
    right: auto;
  }

  .richell-summary .rh-sum-content {
    margin-top: 2.25rem !important;
  }

  .richell-summary .rh-sum-content > div {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 92%;
    max-width: 1100px;
    gap: 1.5rem;
  }

  .richell-summary .rh-sum-txt-box {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    text-align: center;
    min-width: 0;
  }

  .richell-summary .rh-sum-txt-box > div {
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .richell-summary .rh-sum-sum ul {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    gap: 0.65rem 1rem;
  }

  .richell-summary .rh-sum-sum ul li > div {
    padding-left: 1.15rem;
  }

  .richell-summary .rh-sum-sum ul li p {
    white-space: normal;
  }

  .richell-summary .imgc,
  .richell-summary.rh-sum-wrap .imgc {
    margin-top: 1.75rem !important;
    bottom: auto !important;
    position: relative !important;
  }
}

@media (max-width: 768px) {
  .richell-summary.rh-sum-wrap,
  .rh-sum-wrap.richell-summary {
    padding: 4.5rem 1.25rem 2.25rem !important;
  }

  .richell-summary .rh-sum-tit-box > div {
    max-width: 100%;
    width: 100%;
    padding: 1.4rem 1.35rem 1.5rem;
  }

  .richell-summary .rh-sum-tit-box h2 {
    font-size: 1.75rem !important;
  }

  .richell-summary .rh-sum-tit-box p {
    font-size: 0.9375rem !important;
  }

  .richell-summary .rh-sum-txt-box h2 {
    font-size: 2.25rem !important;
  }

  .richell-summary .rh-sum-sum ul li {
    width: calc(50% - 0.5rem);
  }

  .richell-summary .rh-sum-sum ul li h3 {
    font-size: 1.25rem !important;
  }

  .richell-summary .rh-sum-sum ul li h3,
  .richell-summary .rh-sum-sum ul li p {
    white-space: normal;
  }

  .richell-summary .rh-sum-sum ul li > div {
    padding-top: 0.15rem;
    padding-bottom: 0.15rem;
  }
}

@media (max-width: 480px) {
  .richell-summary .rh-sum-sum ul li {
    width: 100%;
  }
}

/* ========== 분양 일정 ========== */
.richell-schedule--notice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: min(52vh, 28rem);
  text-align: center;
}

.richell-schedule-notice {
  max-width: 36rem;
  margin: 2rem auto 0;
  padding: 2.25rem 2rem;
  border: 1px solid rgba(255, 255, 255, 0.22);
  background: rgba(255, 255, 255, 0.06);
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  opacity: 0;
  -webkit-transform: translateY(3rem);
  -ms-transform: translateY(3rem);
  transform: translateY(3rem);
  -webkit-transition: 0.8s;
  -o-transition: 0.8s;
  transition: 0.8s;
}

.rh-main-wrap.on2 .richell-schedule-notice {
  opacity: 1;
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
  -webkit-transition: 1.2s 0.8s;
  -o-transition: 1.2s 0.8s;
  transition: 1.2s 0.8s;
}

.richell-schedule-notice strong {
  display: block;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #fff;
}

.richell-schedule-notice p {
  margin: 1rem 0 0;
  font-size: 0.975rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(255, 255, 255, 0.78);
}

.richell-schedule-notice a {
  display: inline-block;
  margin-top: 1.5rem;
  padding: 0.8rem 1.35rem;
  border: 1px solid rgba(255, 255, 255, 0.55);
  color: #fff !important;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
  text-decoration: none !important;
  -webkit-transition:
    background 0.25s ease,
    border-color 0.25s ease;
  -o-transition:
    background 0.25s ease,
    border-color 0.25s ease;
  transition:
    background 0.25s ease,
    border-color 0.25s ease;
}

.richell-schedule-notice a:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: #fff;
}

@media (max-width: 767px) {
  .richell-schedule--notice {
    min-height: 18rem;
    padding: 0 1rem;
  }

  .richell-schedule-notice {
    margin-top: 1.35rem;
    padding: 1.65rem 1.25rem;
  }

  .richell-schedule-notice p .pc {
    display: none;
  }
}

.richell-schedule .rh-cal-tit-box {
  text-align: center;
}

.richell-schedule .richell-schedule-eyebrow {
  margin: 0 0 0.75rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.65);
}

.richell-schedule .rh-cal-tit-box h2 {
  font-family: "Nanum Myeongjo", serif !important;
  font-size: 2.75rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  color: #fff !important;
  -webkit-text-stroke: 0 !important;
}

.richell-schedule .rh-cal-tit-box h2 b {
  color: inherit !important;
  -webkit-text-stroke: 0 !important;
}

.richell-schedule .rh-cal-content {
  max-width: 1080px;
  gap: 0;
  margin-top: 2.5rem;
}

.richell-schedule .rh-cal-content ul {
  gap: 0.875rem;
}

.richell-schedule .rh-cal-content ul li {
  width: calc(20% - 0.7rem);
  height: 9.5rem;
  border: 0 !important;
  background: rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  overflow: hidden;
  -webkit-transition:
    background 0.35s ease,
    -webkit-transform 0.35s ease,
    -webkit-box-shadow 0.35s ease;
  transition:
    background 0.35s ease,
    -webkit-transform 0.35s ease,
    -webkit-box-shadow 0.35s ease;
  -o-transition:
    transform 0.35s ease,
    background 0.35s ease,
    box-shadow 0.35s ease;
  transition:
    transform 0.35s ease,
    background 0.35s ease,
    box-shadow 0.35s ease;
  transition:
    transform 0.35s ease,
    background 0.35s ease,
    box-shadow 0.35s ease,
    -webkit-transform 0.35s ease,
    -webkit-box-shadow 0.35s ease;
}

.richell-schedule .rh-cal-content ul li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 2px;
  background: -o-linear-gradient(left, #d4b896 0%, rgba(212, 184, 150, 0) 100%);
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#d4b896),
    to(rgba(212, 184, 150, 0))
  );
  background: linear-gradient(90deg, #d4b896 0%, rgba(212, 184, 150, 0) 100%);
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: left;
  -ms-transform-origin: left;
  transform-origin: left;
  -webkit-transition: -webkit-transform 0.4s ease;
  transition: -webkit-transform 0.4s ease;
  -o-transition: transform 0.4s ease;
  transition: transform 0.4s ease;
  transition:
    transform 0.4s ease,
    -webkit-transform 0.4s ease;
  transition:
    transform 0.4s ease,
    -webkit-transform 0.4s ease;
  transition:
    transform 0.4s ease,
    -webkit-transform 0.4s ease;
  transition:
    transform 0.4s ease,
    -webkit-transform 0.4s ease;
  transition:
    transform 0.4s ease,
    -webkit-transform 0.4s ease;
  transition:
    transform 0.4s ease,
    -webkit-transform 0.4s ease;
  transition:
    transform 0.4s ease,
    -webkit-transform 0.4s ease;
  transition:
    transform 0.4s ease,
    -webkit-transform 0.4s ease;
  z-index: 2;
}

.richell-schedule .rh-cal-content ul li::after {
  content: "";
  position: absolute;
  inset: 0;
  background: -o-linear-gradient(
    top,
    rgba(17, 40, 78, 0) 30%,
    rgba(17, 40, 78, 0.55) 100%
  );
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(30%, rgba(17, 40, 78, 0)),
    to(rgba(17, 40, 78, 0.55))
  );
  background: linear-gradient(
    180deg,
    rgba(17, 40, 78, 0) 30%,
    rgba(17, 40, 78, 0.55) 100%
  );
  opacity: 0;
  -webkit-transition: opacity 0.35s ease;
  -o-transition: opacity 0.35s ease;
  transition: opacity 0.35s ease;
  pointer-events: none;
}

.richell-schedule .rh-cal-content ul li:nth-child(n + 6) {
  width: calc(50% - 0.45rem);
  height: 5.5rem;
}

.richell-schedule .rh-cal-box {
  position: relative;
  z-index: 1;
  padding: 0 1.25rem;
}

.richell-schedule .rh-cal-content ul li:nth-child(n + 6) .rh-cal-box > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1.25rem;
  width: 100%;
}

.richell-schedule .rh-cal-content ul li h3 {
  font-family: "Nanum Myeongjo", serif !important;
  font-size: 1.375rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em;
  -webkit-transition:
    color 0.35s ease,
    -webkit-transform 0.35s ease;
  transition:
    color 0.35s ease,
    -webkit-transform 0.35s ease;
  -o-transition:
    transform 0.35s ease,
    color 0.35s ease;
  transition:
    transform 0.35s ease,
    color 0.35s ease;
  transition:
    transform 0.35s ease,
    color 0.35s ease,
    -webkit-transform 0.35s ease;
}

.richell-schedule .rh-cal-content ul li p {
  margin-top: 0.625rem !important;
  font-size: 0.8125rem !important;
  letter-spacing: -0.02em;
  opacity: 0.78 !important;
  -webkit-transition:
    opacity 0.35s ease,
    color 0.35s ease;
  -o-transition:
    opacity 0.35s ease,
    color 0.35s ease;
  transition:
    opacity 0.35s ease,
    color 0.35s ease;
}

.richell-schedule .rh-cal-content ul li:nth-child(n + 6) p {
  margin-top: 0 !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
}

.richell-schedule .rh-cal-box span {
  display: none !important;
}

.richell-schedule .rh-cal-content ul li:hover {
  color: #fff !important;
  background: rgba(255, 255, 255, 0.14);
  -webkit-transform: translateY(-6px);
  -ms-transform: translateY(-6px);
  transform: translateY(-6px);
  -webkit-box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.28);
}

.richell-schedule .rh-cal-content ul li:hover::before {
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1);
}

.richell-schedule .rh-cal-content ul li:hover::after {
  opacity: 1;
}

.richell-schedule .rh-cal-content ul li:hover h3 {
  -webkit-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  transform: translateY(-2px);
  color: #f0e2cf;
}

.richell-schedule .rh-cal-content ul li:hover p {
  opacity: 1 !important;
  color: #fff;
}

.richell-schedule .calendar-btn {
  margin-top: 3.25rem;
}

.richell-schedule .calendar-btn ul {
  gap: 0.75rem;
}

.richell-schedule .calendar-btn ul li a {
  width: auto !important;
  min-width: 11.5rem;
  padding: 0.95rem 1.5rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent;
  color: #fff;
  -webkit-box-pack: center !important;
  -ms-flex-pack: center !important;
  justify-content: center !important;
  gap: 0.5rem;
  position: relative;
  font-size: 0.875rem !important;
  letter-spacing: -0.02em;
  -webkit-transition:
    color 0.3s ease,
    background 0.3s ease !important;
  -o-transition:
    color 0.3s ease,
    background 0.3s ease !important;
  transition:
    color 0.3s ease,
    background 0.3s ease !important;
}

.richell-schedule .calendar-btn ul li a::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 1px;
  background: rgba(255, 255, 255, 0.35);
}

.richell-schedule .calendar-btn ul li a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 0;
  height: 2px;
  background: #d4b896;
  -webkit-transition: width 0.35s ease;
  -o-transition: width 0.35s ease;
  transition: width 0.35s ease;
}

.richell-schedule .calendar-btn ul li a span {
  position: relative;
  z-index: 1;
}

.richell-schedule .calendar-btn ul li a:hover {
  background: rgba(255, 255, 255, 0.08) !important;
  color: #fff !important;
}

.richell-schedule .calendar-btn ul li a:hover::after {
  width: 100%;
}

@media (max-width: 1024px) {
  .richell-schedule .rh-cal-tit-box h2 {
    font-size: 2.25rem !important;
  }

  .richell-schedule .rh-cal-content ul li {
    width: calc(33.333% - 0.6rem);
    height: 8rem;
  }

  .richell-schedule .rh-cal-content ul li:nth-child(n + 6) {
    width: calc(50% - 0.45rem);
    height: 5rem;
  }
}

@media (max-width: 640px) {
  .richell-schedule .rh-cal-content ul li,
  .richell-schedule .rh-cal-content ul li:nth-child(n + 6) {
    width: calc(50% - 0.45rem);
    height: 7.5rem;
  }

  /* 기간 카드도 일반 카드와 동일하게 세로 정렬 */
  .richell-schedule .rh-cal-content ul li:nth-child(n + 6) .rh-cal-box > div {
    display: block;
    width: auto;
    gap: 0;
  }

  .richell-schedule .rh-cal-content ul li:nth-child(n + 6) p {
    margin-top: 0.625rem !important;
  }

  .richell-schedule .rh-cal-content ul li h3 {
    font-size: 1.125rem !important;
  }

  .richell-schedule .calendar-btn ul {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .richell-schedule .calendar-btn ul li a {
    width: 100% !important;
    min-width: 0;
  }
}

/* ========== 단지안내 (LANDSCAPE → Landmark Design) ========== */
.richell-land .rh-land-tit h2 {
  font-family: "Nanum Myeongjo", serif !important;
  font-size: 4rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.04em;
}

/* 단지안내 첫 구역(land01) 임시 숨김 — land02부터 표시 */
.richell-land.rh-land-wrap {
  width: 133vw !important;
  overflow: visible !important;
}
#section5 {
  overflow: hidden !important; /* 패닝 영역 클립은 섹션에서만 */
}
.richell-land .land01 {
  display: none !important;
}
.richell-land.rh-land-wrap.on2 {
  -webkit-transform: translateX(0) !important;
  -ms-transform: translateX(0) !important;
  transform: translateX(0) !important;
}
.richell-land.rh-land-wrap.on3 {
  -webkit-transform: translateX(-33vw) !important;
  -ms-transform: translateX(-33vw) !important;
  transform: translateX(-33vw) !important;
}

/* 컨시어지·시스템 임시 숨김 — #fullpage 밖에 둠(섹션 사이 배치 금지). 복구 시 community↔unit 사이로 옮기고 class="section" */
.richell-section-kept-hidden {
  display: none !important;
}

.richell-land .rh-land-tit h4 {
  font-size: 1.125rem !important;
  letter-spacing: -0.02em;
  opacity: 0.85;
}

.richell-land .rh-land-vd:after {
  background: url(../project/land/land_hero.jpg) center / cover no-repeat;
}

/* land02: 1스크롤=좌측이미지+텍스트 / 2스크롤(on3)=우측 4컷 */
.richell-land .land02 {
  position: relative !important;
  overflow: visible !important;
}

.richell-land .rh-land-bg {
  max-width: 780px;
  width: 46vw;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 46vw;
  flex: 0 0 46vw;
}
.richell-land .rh-land-bg > div::after {
  background: url(../project/land.jpg?v=20260922opt) center / cover no-repeat !important;
}

.richell-land .rh-land-content {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  width: 54vw !important;
  max-width: none !important;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 54vw;
  flex: 0 0 54vw;
  height: 100% !important;
  padding: 7.25rem 3.5rem 2.5rem 2.75rem;
  -webkit-box-pack: start !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
  -webkit-box-align: start !important;
  -ms-flex-align: start !important;
  align-items: flex-start !important;
  text-align: left !important;
}
.richell-land .rh-land-content > div {
  /* transform 금지: absolute 모자이크 containing block이 깨짐 */
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  width: 100% !important;
  max-width: 34rem !important;
  margin: 0 !important;
  display: block !important;
  text-align: left !important;
}
.richell-land .rh-land-txt-wrap {
  width: 100%;
  max-width: 34rem;
  margin: 0;
  padding: 0;
  text-align: left !important;
}
.richell-land .rh-land-tit-box2,
.richell-land .rh-land-txt-box {
  text-align: left !important;
}
/* 우측 4컷 — 1스크롤에선 화면 밖(100vw+), 2스크롤(on3)에서 텍스트 옆으로 이동 */
.richell-land .rh-land-img-wrap.richell-land-mosaic {
  position: absolute !important;
  left: 102vw;
  top: 6.75rem;
  bottom: 2rem;
  z-index: 5;
  display: -ms-grid !important;
  display: grid !important;
  grid-template-columns: 1.25fr 1fr;
  grid-template-rows: minmax(11rem, 1fr) minmax(11rem, 1fr) minmax(
      9.5rem,
      0.9fr
    );
  grid-template-areas:
    "hero a"
    "hero b"
    "wide wide";
  gap: 1.15rem 1.25rem;
  width: min(880px, 54vw);
  max-width: none;
  min-height: 0;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 1 !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  -webkit-transition:
    left 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    width 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
  -o-transition:
    left 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    width 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    left 1.15s cubic-bezier(0.22, 1, 0.36, 1),
    width 1.15s cubic-bezier(0.22, 1, 0.36, 1) !important;
  pointer-events: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
/* on3 패닝(-33vw) 후 화면상 텍스트 우측(~44vw)에 붙도록 left ≈ 77vw */
.richell-land.rh-land-wrap.on3 .rh-land-img-wrap.richell-land-mosaic {
  left: 80.5vw;
  width: min(900px, 47vw);
  pointer-events: auto;
}

.richell-land .richell-land-tile--hero {
  grid-area: hero;
}
.richell-land .richell-land-tile--a {
  grid-area: a;
}
.richell-land .richell-land-tile--b {
  grid-area: b;
}
.richell-land .richell-land-tile--wide {
  grid-area: wide;
}

.richell-land .rh-land-img-wrap.richell-land-mosaic > .rh-land-img-box,
.richell-land .richell-land-tile {
  width: auto !important;
  height: auto !important;
  min-height: 0;
  overflow: hidden;
  position: relative;
  opacity: 0;
  will-change: transform, opacity, clip-path, filter;
}

/* 01: 왼쪽에서 가로로 펼침 */
.richell-land .richell-land-tile--hero {
  -webkit-transform: translate3d(-2.5rem, 0, 0);
  -ms-transform: translate3d(-2.5rem, 0, 0);
  transform: translate3d(-2.5rem, 0, 0);
  -webkit-clip-path: inset(0 85% 0 0);
  clip-path: inset(0 85% 0 0);
  -webkit-filter: saturate(0.7);
  filter: saturate(0.7);
  -webkit-transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.25s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-filter 1.2s ease;
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.25s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-filter 1.2s ease;
  -o-transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.25s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    filter 1.2s ease;
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.25s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    filter 1.2s ease;
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.25s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    filter 1.2s ease,
    -webkit-transform 1.25s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-filter 1.2s ease;
}

/* 02: 위에서 내려오며 스케일 인 */
.richell-land .richell-land-tile--a {
  -webkit-transform: translate3d(0, -2.75rem, 0) scale(0.88);
  -ms-transform: translate3d(0, -2.75rem, 0) scale(0.88);
  transform: translate3d(0, -2.75rem, 0) scale(0.88);
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  -webkit-filter: blur(6px);
  filter: blur(6px);
  -webkit-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.15s cubic-bezier(0.34, 1.2, 0.64, 1),
    -webkit-filter 1s ease;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.15s cubic-bezier(0.34, 1.2, 0.64, 1),
    -webkit-filter 1s ease;
  -o-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.34, 1.2, 0.64, 1),
    filter 1s ease;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.34, 1.2, 0.64, 1),
    filter 1s ease;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.15s cubic-bezier(0.34, 1.2, 0.64, 1),
    filter 1s ease,
    -webkit-transform 1.15s cubic-bezier(0.34, 1.2, 0.64, 1),
    -webkit-filter 1s ease;
}

/* 03: 오른쪽에서 슬라이드 + 세로 와이프 */
.richell-land .richell-land-tile--b {
  -webkit-transform: translate3d(2.75rem, 0.75rem, 0);
  -ms-transform: translate3d(2.75rem, 0.75rem, 0);
  transform: translate3d(2.75rem, 0.75rem, 0);
  -webkit-clip-path: inset(100% 0 0 0);
  clip-path: inset(100% 0 0 0);
  -webkit-filter: none;
  filter: none;
  -webkit-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.25s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.25s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.25s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.25s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.85s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.25s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.2s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.25s cubic-bezier(0.22, 1, 0.36, 1);
}

/* 04: 아래에서 올라오며 가운데로 펼침 */
.richell-land .richell-land-tile--wide {
  -webkit-transform: translate3d(0, 3rem, 0) scale(1.06);
  -ms-transform: translate3d(0, 3rem, 0) scale(1.06);
  transform: translate3d(0, 3rem, 0) scale(1.06);
  -webkit-clip-path: inset(0 42% 0 42%);
  clip-path: inset(0 42% 0 42%);
  -webkit-filter: brightness(1.15);
  filter: brightness(1.15);
  -webkit-transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.3s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-filter 1.1s ease;
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.3s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-filter 1.1s ease;
  -o-transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.3s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    filter 1.1s ease;
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.3s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    filter 1.1s ease;
  transition:
    opacity 1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.3s cubic-bezier(0.22, 1, 0.36, 1),
    clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    filter 1.1s ease,
    -webkit-transform 1.3s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-clip-path 1.35s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-filter 1.1s ease;
}

.richell-land.rh-land-wrap.on3 .richell-land-tile,
.richell-land.rh-land-wrap.active .richell-land-tile {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) scale(1);
  -ms-transform: translate3d(0, 0, 0) scale(1);
  transform: translate3d(0, 0, 0) scale(1);
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  -webkit-filter: none;
  filter: none;
}

.richell-land.rh-land-wrap.on3 .richell-land-tile--hero,
.richell-land.rh-land-wrap.active .richell-land-tile--hero {
  -webkit-transition-delay: 0.1s;
  -o-transition-delay: 0.1s;
  transition-delay: 0.1s;
}

.richell-land.rh-land-wrap.on3 .richell-land-tile--a,
.richell-land.rh-land-wrap.active .richell-land-tile--a {
  -webkit-transition-delay: 0.35s;
  -o-transition-delay: 0.35s;
  transition-delay: 0.35s;
}

.richell-land.rh-land-wrap.on3 .richell-land-tile--b,
.richell-land.rh-land-wrap.active .richell-land-tile--b {
  -webkit-transition-delay: 0.58s;
  -o-transition-delay: 0.58s;
  transition-delay: 0.58s;
}

.richell-land.rh-land-wrap.on3 .richell-land-tile--wide,
.richell-land.rh-land-wrap.active .richell-land-tile--wide {
  -webkit-transition-delay: 0.82s;
  -o-transition-delay: 0.82s;
  transition-delay: 0.82s;
}

.richell-land .richell-land-tile .rh-land-img,
.richell-land .richell-land-tile .rh-land-img::after {
  width: 100%;
  height: 100%;
}

.richell-land .richell-land-tile .rh-land-img::after {
  -webkit-transition: -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transform: scale(1.12);
  -ms-transform: scale(1.12);
  transform: scale(1.12);
}

.richell-land.rh-land-wrap.on3 .richell-land-tile .rh-land-img::after,
.richell-land.rh-land-wrap.active .richell-land-tile .rh-land-img::after {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.richell-land.rh-land-wrap.on3 .richell-land-tile--hero .rh-land-img::after,
.richell-land.rh-land-wrap.active .richell-land-tile--hero .rh-land-img::after {
  -webkit-transition-delay: 0.15s;
  -o-transition-delay: 0.15s;
  transition-delay: 0.15s;
}
.richell-land.rh-land-wrap.on3 .richell-land-tile--a .rh-land-img::after,
.richell-land.rh-land-wrap.active .richell-land-tile--a .rh-land-img::after {
  -webkit-transition-delay: 0.4s;
  -o-transition-delay: 0.4s;
  transition-delay: 0.4s;
}
.richell-land.rh-land-wrap.on3 .richell-land-tile--b .rh-land-img::after,
.richell-land.rh-land-wrap.active .richell-land-tile--b .rh-land-img::after {
  -webkit-transition-delay: 0.65s;
  -o-transition-delay: 0.65s;
  transition-delay: 0.65s;
}
.richell-land.rh-land-wrap.on3 .richell-land-tile--wide .rh-land-img::after,
.richell-land.rh-land-wrap.active .richell-land-tile--wide .rh-land-img::after {
  -webkit-transition-delay: 0.9s;
  -o-transition-delay: 0.9s;
  transition-delay: 0.9s;
}

.richell-land .richell-land-tile h5 {
  left: 0 !important;
  right: auto !important;
  bottom: 0 !important;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.45rem;
  width: auto;
  max-width: calc(100% - 0.75rem);
  margin: 0;
  padding: 0.55rem 0.75rem 0.55rem 0.65rem;
  background: -o-linear-gradient(
    left,
    rgba(17, 40, 78, 0.88) 0%,
    rgba(17, 40, 78, 0.35) 100%
  );
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgba(17, 40, 78, 0.88)),
    to(rgba(17, 40, 78, 0.35))
  );
  background: linear-gradient(
    90deg,
    rgba(17, 40, 78, 0.88) 0%,
    rgba(17, 40, 78, 0.35) 100%
  );
  font-family: "Nanum Myeongjo", serif !important;
  font-size: 0.8125rem !important;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1 !important;
  text-shadow: none !important;
  opacity: 0;
  -webkit-transform: translate3d(-0.6rem, 0, 0);
  -ms-transform: translate3d(-0.6rem, 0, 0);
  transform: translate3d(-0.6rem, 0, 0);
  -webkit-transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-land .richell-land-tile h5 em {
  font-family: "futura", "DEFINE", sans-serif;
  font-style: normal;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  opacity: 0.7;
}

.richell-land.rh-land-wrap.on3 .richell-land-tile h5,
.richell-land.rh-land-wrap.active .richell-land-tile h5 {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.richell-land.rh-land-wrap.on3 .richell-land-tile--hero h5,
.richell-land.rh-land-wrap.active .richell-land-tile--hero h5 {
  -webkit-transition-delay: 0.65s;
  -o-transition-delay: 0.65s;
  transition-delay: 0.65s;
}
.richell-land.rh-land-wrap.on3 .richell-land-tile--a h5,
.richell-land.rh-land-wrap.active .richell-land-tile--a h5 {
  -webkit-transition-delay: 0.9s;
  -o-transition-delay: 0.9s;
  transition-delay: 0.9s;
}
.richell-land.rh-land-wrap.on3 .richell-land-tile--b h5,
.richell-land.rh-land-wrap.active .richell-land-tile--b h5 {
  -webkit-transition-delay: 1.1s;
  -o-transition-delay: 1.1s;
  transition-delay: 1.1s;
}
.richell-land.rh-land-wrap.on3 .richell-land-tile--wide h5,
.richell-land.rh-land-wrap.active .richell-land-tile--wide h5 {
  -webkit-transition-delay: 1.3s;
  -o-transition-delay: 1.3s;
  transition-delay: 1.3s;
}

.richell-land .rh-land-img-wrap.richell-land-mosaic > h6 {
  grid-column: 1 / -1;
  margin-top: 0.35rem !important;
  text-align: left !important;
  opacity: 0;
  -webkit-transition: opacity 0.8s ease 1.35s;
  -o-transition: opacity 0.8s ease 1.35s;
  transition: opacity 0.8s ease 1.35s;
}

.richell-land.rh-land-wrap.on3 .rh-land-img-wrap.richell-land-mosaic > h6,
.richell-land.rh-land-wrap.active .rh-land-img-wrap.richell-land-mosaic > h6 {
  opacity: 0.7;
}

.richell-land .rh-land-img.img01::after {
  background: url(../project/land01.jpg) center / cover no-repeat !important;
}

.richell-land .rh-land-img.img02::after {
  background: url(../project/land02.jpg) center / cover no-repeat !important;
}

.richell-land .rh-land-img.img03::after {
  background: url(../project/land03.jpg) center / cover no-repeat !important;
}

.richell-land .rh-land-img.img04::after {
  background: url(../project/land04.jpg) center / cover no-repeat !important;
}

.richell-land .rh-land-txt-box {
  margin-top: 2.75rem !important;
}
.richell-land .rh-land-txt-box li {
  margin-bottom: 1.35rem !important;
}

.richell-land .rh-land-txt-box h4 {
  font-family: "Nanum Myeongjo", serif !important;
  font-size: 1.125rem !important;
  font-weight: 700 !important;
  letter-spacing: -0.03em;
  color: #11284e !important;
}

.richell-land .rh-land-txt-box p {
  font-size: 0.9375rem !important;
  line-height: 1.55 !important;
  color: #11284e;
  opacity: 0.75 !important;
}

.richell-land .rh-land-tit-box2 h2 {
  font-size: 2.125rem !important;
  word-break: keep-all;
  overflow-wrap: normal;
  line-height: 1.35 !important;
}

.richell-land .rh-land-tit-box2 p {
  font-size: 1rem !important;
  color: #11284e;
  margin-top: 1.25rem !important;
}

.richell-land .rh-land-img-box h5 {
  font-size: 0.8125rem !important;
  letter-spacing: -0.02em;
  text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

@media (max-width: 1440px) {
  .richell-land .rh-land-bg {
    max-width: 700px;
    width: 44vw;
    -ms-flex: 0 0 44vw;
    -webkit-box-flex: 0;
    flex: 0 0 44vw;
  }
  .richell-land .rh-land-content {
    width: 56vw !important;
    -ms-flex: 0 0 56vw;
    -webkit-box-flex: 0;
    flex: 0 0 56vw;
    padding-left: 2.25rem;
    padding-right: 2.5rem;
  }
  .richell-land .rh-land-tit-box2 h2 {
    font-size: 1.75rem !important;
  }
  .richell-land .rh-land-content > div,
  .richell-land .rh-land-txt-wrap {
    max-width: 30rem !important;
  }
  .richell-land .rh-land-img-wrap.richell-land-mosaic {
    width: min(780px, 52vw);
    gap: 1rem 1.1rem;
    grid-template-rows: minmax(9.5rem, 1fr) minmax(9.5rem, 1fr) minmax(
        8.25rem,
        0.9fr
      );
  }
  .richell-land.rh-land-wrap.on3 .rh-land-img-wrap.richell-land-mosaic {
    left: 74vw;
    width: min(820px, 54vw);
  }
}

@media (max-width: 1200px) {
  .richell-land .rh-land-bg {
    max-width: 600px;
    width: 42vw;
    -ms-flex: 0 0 42vw;
    -webkit-box-flex: 0;
    flex: 0 0 42vw;
  }
  .richell-land .rh-land-content {
    width: 58vw !important;
    -ms-flex: 0 0 58vw;
    -webkit-box-flex: 0;
    flex: 0 0 58vw;
    padding-top: 6.5rem;
  }
  .richell-land .rh-land-tit-box2 h2 {
    font-size: 1.5rem !important;
  }
  .richell-land.rh-land-wrap.on3 .rh-land-img-wrap.richell-land-mosaic {
    left: 72vw;
    width: min(720px, 55vw);
  }
}

@media (max-width: 1024px) {
  .richell-land .rh-land-tit h2 {
    font-size: 2.75rem !important;
  }
  .richell-land .land02 {
    width: 100% !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding-bottom: 1.5rem;
  }
  .richell-land .rh-land-bg {
    max-width: 100%;
    width: 100%;
    -ms-flex: 0 0 auto;
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    height: 42vh;
  }
  .richell-land .rh-land-content {
    width: 100% !important;
    -ms-flex: 0 0 auto;
    -webkit-box-flex: 0;
    flex: 0 0 auto;
    padding: 2rem 1.5rem 1.25rem !important;
    -webkit-box-align: stretch !important;
    -ms-flex-align: stretch !important;
    align-items: stretch !important;
  }
  /* pad.css .rh-land-content>div { padding:8rem 0 } 제거 */
  .richell-land .rh-land-content > div {
    max-width: none !important;
    padding: 0 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }
  .richell-land .rh-land-txt-wrap {
    max-width: none !important;
  }

  .richell-land .rh-land-tit-box2 {
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    text-align: left !important;
  }

  .richell-land .rh-land-tit-box2 h2 {
    font-size: 1.55rem !important;
  }

  .richell-land .rh-land-tit-box2 p {
    margin-top: 0.85rem !important;
  }

  .richell-land .rh-land-txt-box {
    margin-top: 1.35rem !important;
    text-align: left !important;
  }

  .richell-land .rh-land-txt-box li {
    margin-bottom: 0.8rem !important;
  }

  /* 패드 이하: 2스크롤 패닝 없이 본문에 모자이크 표시 */
  .richell-land .rh-land-img-wrap.richell-land-mosaic {
    position: relative !important;
    left: auto;
    top: auto;
    bottom: auto;
    width: 100%;
    min-height: 0;
    margin-top: 1.25rem !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    pointer-events: auto;
  }

  .richell-land.rh-land-wrap.on2,
  .richell-land.rh-land-wrap.on3 {
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  /* 랜드마크 ↔ 커뮤니티 사이 간격 확보 */
  #section5 {
    padding-bottom: 2.75rem !important;
  }

  #section6 {
    padding-top: 0.5rem !important;
  }
}

@media (max-width: 768px) {
  .richell-land .rh-land-content {
    padding: 1.75rem 1.15rem 0.75rem !important;
  }

  .richell-land .rh-land-img-wrap.richell-land-mosaic {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: 11rem 9rem 8.5rem;
    grid-template-areas:
      "hero hero"
      "a b"
      "wide wide";
    gap: 0.7rem;
    min-height: 0;
    margin-top: 1rem !important;
  }

  .richell-land .richell-land-tile--hero,
  .richell-land .richell-land-tile--a,
  .richell-land .richell-land-tile--b,
  .richell-land .richell-land-tile--wide {
    -webkit-filter: none;
    filter: none;
  }

  #section5 {
    padding-bottom: 3rem !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-land .richell-land-tile,
  .richell-land .richell-land-tile h5,
  .richell-land .richell-land-tile .rh-land-img::after {
    opacity: 1 !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    -webkit-filter: none !important;
    filter: none !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

/* ========== 커뮤니티 센터 — 풀블리드 배경 + 좌측 리스트 ========== */
.community-wrap.richell-commu {
  width: 100%;
  height: 100% !important;
  background: #070b14 !important;
  color: #fff !important;
  overflow: hidden;
}

.richell-commu .rh-commu-box {
  position: relative !important;
  width: 100%;
  height: 100%;
}

.richell-commu .rh-swiper-commu_thumb,
.richell-commu .rh-commu_txt_box {
  display: none !important;
}

/* 풀블리드 배경 스테이지 */
.richell-commu-stage {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  overflow: hidden;
  opacity: 0;
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
  -webkit-transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 1.1s cubic-bezier(0.22, 1, 0.36, 1),
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-commu .rh-swiper-commu {
  width: 100% !important;
  height: 100% !important;
  position: absolute !important;
  inset: 0;
}

.richell-commu .rh-swiper-commu .swiper-wrapper {
  width: 100%;
  height: 100%;
}

.richell-commu .rh-swiper-commu .swiper-slide {
  position: absolute !important;
  left: 0;
  top: 0;
  width: 100% !important;
  height: 100% !important;
  overflow: hidden;
  opacity: 1 !important;
  pointer-events: none;
  -webkit-transition: none !important;
  -o-transition: none !important;
  transition: none !important;
  -webkit-clip-path: inset(0 100% 0 0);
  clip-path: inset(0 100% 0 0);
}

.richell-commu .rh-swiper-commu .swiper-slide-active {
  z-index: 3;
  pointer-events: auto;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
  -webkit-transition: -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
  transition: -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
  -o-transition: clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
  transition: clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
  transition:
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
  transition:
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
  transition:
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
  transition:
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
  transition:
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
  transition:
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
  transition:
    clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-clip-path 1.15s cubic-bezier(0.77, 0, 0.175, 1) !important;
}

.richell-commu .rh-swiper-commu .swiper-slide-prev {
  z-index: 2;
  -webkit-clip-path: inset(0 0 0 0);
  clip-path: inset(0 0 0 0);
}

.richell-commu .rh-commu-img {
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transform: scale(1.12) !important;
  -ms-transform: scale(1.12) !important;
  transform: scale(1.12) !important;
  -webkit-transition: -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition: -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
  -o-transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.richell-commu .rh-swiper-commu .swiper-slide-active .rh-commu-img {
  -webkit-transform: scale(1) !important;
  -ms-transform: scale(1) !important;
  transform: scale(1) !important;
}

.richell-commu .rh-commu-img::after {
  display: none !important;
}

.richell-commu .rh-commu-img.img01 {
  background: url(../project/commu/fitness.jpg) center / cover no-repeat !important;
}

.richell-commu .rh-commu-img.img02 {
  background: url(../project/commu/library.jpg) center / cover no-repeat !important;
}

.richell-commu .rh-commu-img.img03 {
  background: url(../project/commu/golf.jpg) center / cover no-repeat !important;
}

.richell-commu .rh-commu-img.img04 {
  background: url(../project/commu/conference.jpg) center / cover no-repeat !important;
}

/* 좌측 가독성 베일 — 우측 이미지는 살림 */
.richell-commu-veil {
  position: absolute;
  inset: 0;
  z-index: 2;
  pointer-events: none;
  background:
    -o-linear-gradient(
      left,
      rgba(7, 11, 20, 0.88) 0%,
      rgba(7, 11, 20, 0.62) 28%,
      rgba(7, 11, 20, 0.22) 52%,
      rgba(7, 11, 20, 0.05) 72%,
      rgba(7, 11, 20, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(7, 11, 20, 0.35) 0%,
        rgba(7, 11, 20, 0.08) 55%,
        rgba(7, 11, 20, 0.45) 100%
      );
  background:
    -o-linear-gradient(
      left,
      rgba(7, 11, 20, 0.88) 0%,
      rgba(7, 11, 20, 0.62) 28%,
      rgba(7, 11, 20, 0.22) 52%,
      rgba(7, 11, 20, 0.05) 72%,
      rgba(7, 11, 20, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(7, 11, 20, 0.35) 0%,
        rgba(7, 11, 20, 0.08) 55%,
        rgba(7, 11, 20, 0.45) 100%
      );
  background:
    -o-linear-gradient(
      left,
      rgba(7, 11, 20, 0.88) 0%,
      rgba(7, 11, 20, 0.62) 28%,
      rgba(7, 11, 20, 0.22) 52%,
      rgba(7, 11, 20, 0.05) 72%,
      rgba(7, 11, 20, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(7, 11, 20, 0.35) 0%,
        rgba(7, 11, 20, 0.08) 55%,
        rgba(7, 11, 20, 0.45) 100%
      );
  background:
    -o-linear-gradient(
      left,
      rgba(7, 11, 20, 0.88) 0%,
      rgba(7, 11, 20, 0.62) 28%,
      rgba(7, 11, 20, 0.22) 52%,
      rgba(7, 11, 20, 0.05) 72%,
      rgba(7, 11, 20, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(7, 11, 20, 0.35) 0%,
        rgba(7, 11, 20, 0.08) 55%,
        rgba(7, 11, 20, 0.45) 100%
      );
  background:
    -o-linear-gradient(
      left,
      rgba(7, 11, 20, 0.88) 0%,
      rgba(7, 11, 20, 0.62) 28%,
      rgba(7, 11, 20, 0.22) 52%,
      rgba(7, 11, 20, 0.05) 72%,
      rgba(7, 11, 20, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(7, 11, 20, 0.35) 0%,
        rgba(7, 11, 20, 0.08) 55%,
        rgba(7, 11, 20, 0.45) 100%
      );
  background:
    -o-linear-gradient(
      left,
      rgba(7, 11, 20, 0.88) 0%,
      rgba(7, 11, 20, 0.62) 28%,
      rgba(7, 11, 20, 0.22) 52%,
      rgba(7, 11, 20, 0.05) 72%,
      rgba(7, 11, 20, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(7, 11, 20, 0.35) 0%,
        rgba(7, 11, 20, 0.08) 55%,
        rgba(7, 11, 20, 0.45) 100%
      );
  background:
    -webkit-gradient(
      linear,
      left top,
      right top,
      from(rgba(7, 11, 20, 0.88)),
      color-stop(28%, rgba(7, 11, 20, 0.62)),
      color-stop(52%, rgba(7, 11, 20, 0.22)),
      color-stop(72%, rgba(7, 11, 20, 0.05)),
      to(rgba(7, 11, 20, 0))
    ),
    -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(rgba(7, 11, 20, 0.35)),
        color-stop(55%, rgba(7, 11, 20, 0.08)),
        to(rgba(7, 11, 20, 0.45))
      );
  background:
    -o-linear-gradient(
      left,
      rgba(7, 11, 20, 0.88) 0%,
      rgba(7, 11, 20, 0.62) 28%,
      rgba(7, 11, 20, 0.22) 52%,
      rgba(7, 11, 20, 0.05) 72%,
      rgba(7, 11, 20, 0) 100%
    ),
    -o-linear-gradient(
        top,
        rgba(7, 11, 20, 0.35) 0%,
        rgba(7, 11, 20, 0.08) 55%,
        rgba(7, 11, 20, 0.45) 100%
      );
  background:
    linear-gradient(
      to right,
      rgba(7, 11, 20, 0.88) 0%,
      rgba(7, 11, 20, 0.62) 28%,
      rgba(7, 11, 20, 0.22) 52%,
      rgba(7, 11, 20, 0.05) 72%,
      rgba(7, 11, 20, 0) 100%
    ),
    linear-gradient(
      to bottom,
      rgba(7, 11, 20, 0.35) 0%,
      rgba(7, 11, 20, 0.08) 55%,
      rgba(7, 11, 20, 0.45) 100%
    );
}

.richell-commu .rh-commu-box > .richell-commu-layout {
  position: relative;
  z-index: 5;
  width: 100%;
  height: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 6.75rem 3.25rem 2.25rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  text-align: left !important;
}

.richell-commu-side.rh-commu-tit {
  position: relative !important;
  left: auto !important;
  top: auto !important;
  width: min(36%, 26rem) !important;
  max-width: 26rem;
  height: auto !important;
  min-width: 17.5rem;
  display: block !important;
  -webkit-box-pack: start !important;
  -ms-flex-pack: start !important;
  justify-content: flex-start !important;
  opacity: 0;
  -webkit-transform: translate3d(-1.5rem, 0, 0) !important;
  -ms-transform: translate3d(-1.5rem, 0, 0) !important;
  transform: translate3d(-1.5rem, 0, 0) !important;
  -webkit-transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.95s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.95s cubic-bezier(0.22, 1, 0.36, 1) !important;
  -o-transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.95s cubic-bezier(0.22, 1, 0.36, 1) !important;
  z-index: 5;
}

.richell-commu-side.rh-commu-tit > div {
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  padding: 1.5rem 1.55rem 1.6rem;
  background: rgba(7, 11, 20, 0.42);
  -webkit-backdrop-filter: blur(12px) saturate(1.1);
  backdrop-filter: blur(12px) saturate(1.1);
  border: 1px solid rgba(255, 255, 255, 0.1);
  -webkit-box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.22);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@supports not (
  ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px)))
) {
  .richell-commu-side.rh-commu-tit > div {
    background: rgba(7, 11, 20, 0.82);
  }
}

.richell-commu .richell-commu-eyebrow {
  margin: 0 0 0.85rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.55);
}

.richell-commu-side h2 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif !important;
  font-size: clamp(1.85rem, 2.6vw, 2.55rem) !important;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.28 !important;
  color: #fff;
  word-break: keep-all;
}

.richell-commu-lead {
  margin: 1rem 0 0 !important;
  font-size: 0.9rem !important;
  line-height: 1.7 !important;
  letter-spacing: -0.02em;
  opacity: 0.68 !important;
  word-break: keep-all;
}

.richell-commu-nav {
  list-style: none;
  margin: 1.65rem 0 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.1rem;
}

.richell-commu-nav li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.9rem;
  padding: 0.8rem 0.2rem 0.8rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.12);
  cursor: pointer;
  opacity: 0.45;
  -webkit-transition:
    opacity 0.35s ease,
    border-color 0.35s ease;
  -o-transition:
    opacity 0.35s ease,
    border-color 0.35s ease;
  transition:
    opacity 0.35s ease,
    border-color 0.35s ease;
}

.richell-commu-nav li:hover {
  opacity: 0.82;
}

.richell-commu-nav li.is-active {
  opacity: 1;
  border-bottom-color: rgba(201, 169, 110, 0.55);
}

.richell-commu-nav li em {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-top: 0.15rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-style: normal;
  font-size: 0.75rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  color: rgba(255, 255, 255, 0.45);
  -webkit-transition: color 0.35s ease;
  -o-transition: color 0.35s ease;
  transition: color 0.35s ease;
}

.richell-commu-nav li.is-active em {
  color: #c9a96e;
}

.richell-commu-nav li strong {
  display: block;
  font-family: "Nanum Myeongjo", serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.3;
  color: #fff;
  word-break: keep-all;
}

.richell-commu-nav li span {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.58);
  word-break: keep-all;
}

.richell-commu-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1.5rem;
  opacity: 0;
  -webkit-transform: translate3d(0, 1rem, 0);
  -ms-transform: translate3d(0, 1rem, 0);
  transform: translate3d(0, 1rem, 0);
  -webkit-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s,
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s,
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s;
  -o-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s;
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s,
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s,
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) 0.35s;
}

.richell-commu-pager {
  margin: 0;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.875rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: rgba(255, 255, 255, 0.55);
  text-shadow: 0 1px 10px rgba(0, 0, 0, 0.45);
}

.richell-commu-pager span {
  color: #fff;
}

.richell-commu .rh-commu-ori {
  position: static !important;
  width: auto !important;
  max-width: 42rem;
  margin: 0 !important;
  padding: 0 !important;
  bottom: auto !important;
  text-align: right !important;
  font-size: 0.6875rem !important;
  line-height: 1.55 !important;
  color: rgba(255, 255, 255, 0.48);
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.4);
  opacity: 1;
}

.community-wrap.richell-commu.on .richell-commu-stage,
.community-wrap.richell-commu.active .richell-commu-stage {
  opacity: 1;
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.community-wrap.richell-commu.on .richell-commu-side.rh-commu-tit,
.community-wrap.richell-commu.active .richell-commu-side.rh-commu-tit,
.community-wrap.richell-commu.on .richell-commu-meta,
.community-wrap.richell-commu.active .richell-commu-meta {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0) !important;
  -ms-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
}

@media (max-width: 1200px) {
  .richell-commu .rh-commu-box > .richell-commu-layout {
    padding: 5.5rem 2rem 2rem;
  }

  .richell-commu-side.rh-commu-tit {
    width: min(42%, 24rem) !important;
    min-width: 15rem;
  }

  .richell-commu-nav li strong {
    font-size: 0.975rem;
  }
}

@media (max-width: 1400px) {
  .community-wrap.richell-commu,
  .community-wrap {
    height: auto !important;
    min-height: 0 !important;
  }

  .richell-commu .rh-commu-box {
    height: auto !important;
    min-height: 0 !important;
  }

  .richell-commu .rh-commu-box > .richell-commu-layout {
    height: auto !important;
    min-height: 0 !important;
  }

  .richell-unit.rh-unit-wrap,
  .rh-unit-wrap.richell-unit {
    height: auto !important;
    min-height: 0 !important;
    width: 100% !important;
  }
}

@media (max-width: 900px) {
  .community-wrap.richell-commu,
  .community-wrap {
    height: auto !important;
    min-height: 78vh !important;
    min-height: 78svh !important;
  }

  .richell-commu .rh-commu-box {
    min-height: 78vh !important;
    min-height: 78svh !important;
  }

  .richell-commu-stage {
    opacity: 1 !important;
    -webkit-transform: scale(1) !important;
    -ms-transform: scale(1) !important;
    transform: scale(1) !important;
  }

  .richell-commu-veil {
    background: -o-linear-gradient(
      top,
      rgba(7, 11, 20, 0.55) 0%,
      rgba(7, 11, 20, 0.2) 42%,
      rgba(7, 11, 20, 0.55) 100%
    );
    background: -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(rgba(7, 11, 20, 0.55)),
      color-stop(42%, rgba(7, 11, 20, 0.2)),
      to(rgba(7, 11, 20, 0.55))
    );
    background: linear-gradient(
      to bottom,
      rgba(7, 11, 20, 0.55) 0%,
      rgba(7, 11, 20, 0.2) 42%,
      rgba(7, 11, 20, 0.55) 100%
    );
  }

  .richell-commu .rh-commu-box > .richell-commu-layout {
    height: auto !important;
    min-height: 78vh !important;
    min-height: 78svh !important;
    padding: 4.25rem 1rem 1rem;
    overflow-y: visible;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 1rem;
  }

  .richell-commu-side.rh-commu-tit {
    width: 100% !important;
    max-width: none;
    min-width: 0;
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  /* 텍스트 상자 축소·투명화 → 배경 이미지 노출 */
  .richell-commu-side.rh-commu-tit > div {
    padding: 0.95rem 1rem 1rem;
    background: rgba(7, 11, 20, 0.34);
    -webkit-backdrop-filter: blur(8px) saturate(1.05);
    backdrop-filter: blur(8px) saturate(1.05);
    border-color: rgba(255, 255, 255, 0.14);
    -webkit-box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
    box-shadow: 0 10px 28px rgba(0, 0, 0, 0.18);
  }

  .richell-commu-side h2 {
    font-size: 1.45rem !important;
  }

  .richell-commu-lead {
    display: none;
  }

  .richell-commu-nav {
    margin-top: 0.85rem;
    gap: 0;
  }

  .richell-commu-nav li {
    padding: 0.45rem 0.1rem;
    gap: 0.65rem;
  }

  .richell-commu-nav li span {
    display: none;
  }

  .richell-commu-nav li strong {
    font-size: 0.9rem;
  }

  .richell-commu-meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    opacity: 1 !important;
    gap: 0.55rem;
  }

  .richell-commu .rh-commu-ori {
    text-align: left !important;
    color: rgba(255, 255, 255, 0.72) !important;
    text-shadow: 0 1px 10px rgba(0, 0, 0, 0.65);
  }
}

@media (max-width: 767px) {
  .community-wrap.richell-commu,
  .richell-commu .rh-commu-box,
  .richell-commu .rh-commu-box > .richell-commu-layout {
    min-height: 72vh !important;
    min-height: 72svh !important;
  }

  .richell-commu .rh-commu-box > .richell-commu-layout {
    padding: 3.75rem 0.9rem 0.9rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-commu-side.rh-commu-tit,
  .richell-commu-stage,
  .richell-commu-meta,
  .richell-commu .rh-swiper-commu .swiper-slide,
  .richell-commu .rh-commu-img {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

/* ========== 상품안내 (UNIT) ========== */
/* unit01: 좌측 타이틀 + 특장점 */
.richell-unit .rh-unit-tit {
  left: 0;
  right: auto;
  width: min(90%, 30rem);
  max-width: 30rem;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding-left: clamp(1.5rem, 5vw, 4.5rem);
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translateX(-2.5rem);
  -ms-transform: translateX(-2.5rem);
  transform: translateX(-2.5rem);
  white-space: normal;
}

.richell-unit .rh-unit-tit_box {
  display: none !important;
}

.richell-unit .rh-unit-tit_box > div {
  -webkit-transform: translateX(2.5rem);
  -ms-transform: translateX(2.5rem);
  transform: translateX(2.5rem);
  opacity: 0;
  -webkit-transition: 1.2s 0.4s;
  -o-transition: 1.2s 0.4s;
  transition: 1.2s 0.4s;
}

.richell-unit.rh-unit-wrap.on .rh-unit-tit_box > div {
  opacity: 1;
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
}

.richell-unit .rh-unit-tit h2 {
  font-family: "Nanum Myeongjo", serif;
  font-weight: 700;
  font-size: clamp(2.75rem, 5vw, 4.25rem);
  letter-spacing: -0.04em;
  line-height: 1.05;
  margin-left: 0;
}

.richell-unit .rh-unit-tit h5 {
  font-size: 1rem;
  letter-spacing: -0.02em;
  opacity: 0.72;
  margin-top: 0.75rem;
}

.richell-unit .richell-unit-lead {
  margin: 1.35rem 0 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.125rem, 1.8vw, 1.5rem);
  font-weight: 700;
  line-height: 1.4;
  letter-spacing: -0.03em;
  opacity: 0.88;
}

.richell-unit .rh-unit-tit .richell-unit-features {
  margin-top: 4.25rem;
}

/* unit02 패널: 와이드에서는 right 슬라이드, ≤1400(패드 스택 레이아웃)에서는 상시 노출 */
.richell-unit .unit02 {
  width: 58vw !important;
  left: auto !important;
  opacity: 1 !important;
  overflow: visible;
  background: -o-linear-gradient(
    left,
    rgba(12, 16, 24, 0.94),
    rgba(18, 22, 30, 0.9)
  ) !important;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgba(12, 16, 24, 0.94)),
    to(rgba(18, 22, 30, 0.9))
  ) !important;
  background: linear-gradient(
    90deg,
    rgba(12, 16, 24, 0.94),
    rgba(18, 22, 30, 0.9)
  ) !important;
}

@media (min-width: 1401px) {
  .richell-unit .unit02 {
    position: absolute !important;
    right: -58vw !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: right 2.2s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    -o-transition: right 2.2s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
    transition: right 2.2s cubic-bezier(0.22, 0.61, 0.36, 1) !important;
  }

  .richell-unit.rh-unit-wrap.on2 .unit02,
  .rh-unit-wrap.on2.richell-unit .unit02,
  .rh-unit-wrap.on2 .unit02 {
    right: 0 !important;
  }
}

@media (max-width: 1400px) {
  /* pad.css unit01 padding: 8rem — 커뮤니티와 간격이 과도하게 벌어지던 문제 */
  .richell-unit .unit01 {
    padding: 2.75rem 0 2rem !important;
    height: auto !important;
    min-height: 0 !important;
  }

  .richell-unit .rh-unit-tit {
    position: relative !important;
    width: 90% !important;
    max-width: none;
    margin: 0 auto;
    padding: 0 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .richell-unit .rh-unit-tit_box {
    position: relative !important;
    width: 90% !important;
    max-width: none;
    margin: 1.75rem auto 0 !important;
    padding: 0 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .richell-unit .unit02 {
    position: relative !important;
    right: 0 !important;
    width: 100% !important;
    height: auto !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    padding: 2.5rem 0 4rem;
  }

  /* 스택 레이아웃에서는 on2 없이도 링크 카드 노출 */
  .richell-unit .unit02 .rh-unit-content,
  .richell-unit .richell-unit-card {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .richell-unit .unit02 .rh-unit-txt-box,
  .richell-unit .unit02 .rh-unit-bt,
  .richell-unit .richell-unit-card .rh-unit-txt-box,
  .richell-unit .richell-unit-card .rh-unit-bt {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .richell-unit .unit02 .rh-unit-img,
  .richell-unit .richell-unit-card .rh-unit-img {
    -webkit-transform: scale(1) !important;
    -ms-transform: scale(1) !important;
    transform: scale(1) !important;
  }
}

.richell-unit.rh-unit-wrap.on2 .rh-unit-tit_box,
.rh-unit-wrap.on2.richell-unit .rh-unit-tit_box {
  opacity: 0;
  -webkit-transform: translateX(1.5rem);
  -ms-transform: translateX(1.5rem);
  transform: translateX(1.5rem);
  pointer-events: none;
  -webkit-transition: 0.55s ease;
  -o-transition: 0.55s ease;
  transition: 0.55s ease;
}

/* on2에서도 좌측 '상품안내' 타이틀 유지 (on 제거 시에도 사라지지 않음) */
.richell-unit.rh-unit-wrap.on2 .rh-unit-tit,
.rh-unit-wrap.on2.richell-unit .rh-unit-tit {
  opacity: 1 !important;
  -webkit-transform: translate(0) !important;
  -ms-transform: translate(0) !important;
  transform: translate(0) !important;
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
  z-index: 12;
  pointer-events: none;
}

@media (max-width: 1400px) {
  .richell-unit.rh-unit-wrap.on2 .rh-unit-tit_box,
  .rh-unit-wrap.on2.richell-unit .rh-unit-tit_box {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    pointer-events: auto;
  }
}

/* unit02 우측 3컷 — 콤팩트 모자이크 (래퍼 유무 모두 대응) */
.richell-unit .unit02 > .richell-unit-mosaic,
.richell-unit .unit02 > div:last-child {
  width: min(88%, 820px) !important;
  max-width: 820px !important;
  position: relative !important;
  z-index: 9 !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  display: -ms-grid !important;
  display: grid !important;
  -ms-grid-columns: 1fr 1.05fr;
  grid-template-columns: 1fr 1.05fr;
  -ms-grid-rows: minmax(160px, 1fr) minmax(140px, 0.9fr);
  grid-template-rows: minmax(160px, 1fr) minmax(140px, 0.9fr);
  gap: 0.85rem 0.95rem;
  height: min(52vh, 460px);
  -webkit-box-align: stretch !important;
  -ms-flex-align: stretch !important;
  align-items: stretch !important;
}

/* 베이스 삼각배치 transform 무력화 */
.richell-unit .rh-unit-content.con01,
.richell-unit .rh-unit-content.con02,
.richell-unit .rh-unit-content.con03 {
  margin: 0 !important;
}

.richell-unit .rh-unit-content.con01 > div,
.richell-unit .rh-unit-content.con02 > div,
.richell-unit .rh-unit-content.con03 > div {
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
}

.richell-unit .unit02 .rh-unit-content,
.richell-unit .richell-unit-card {
  width: 100% !important;
  margin: 0 !important;
  opacity: 0;
  display: block !important;
  position: relative !important;
  min-height: 140px;
  -webkit-transform: translate3d(0, 1.5rem, 0);
  -ms-transform: translate3d(0, 1.5rem, 0);
  transform: translate3d(0, 1.5rem, 0);
  -webkit-transition:
    opacity 1.05s cubic-bezier(0.22, 0.61, 0.36, 1),
    -webkit-transform 1.25s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition:
    opacity 1.05s cubic-bezier(0.22, 0.61, 0.36, 1),
    -webkit-transform 1.25s cubic-bezier(0.22, 0.61, 0.36, 1);
  -o-transition:
    opacity 1.05s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 1.25s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition:
    opacity 1.05s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 1.25s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition:
    opacity 1.05s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 1.25s cubic-bezier(0.22, 0.61, 0.36, 1),
    -webkit-transform 1.25s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.richell-unit .unit02 .rh-unit-content > div,
.richell-unit .richell-unit-card > div {
  width: 100%;
  height: 100%;
  min-height: 140px;
  gap: 0 !important;
  -webkit-box-orient: vertical !important;
  -webkit-box-direction: normal !important;
  -ms-flex-direction: column !important;
  flex-direction: column !important;
  -webkit-box-align: stretch !important;
  -ms-flex-align: stretch !important;
  align-items: stretch !important;
  -webkit-box-pack: end !important;
  -ms-flex-pack: end !important;
  justify-content: flex-end !important;
  -webkit-transform: none !important;
  -ms-transform: none !important;
  transform: none !important;
  overflow: hidden;
  background: #121820;
}

.richell-unit .richell-unit-card--hero,
.richell-unit .unit02 .rh-unit-content.con01 {
  -ms-grid-row: 1;
  -ms-grid-row-span: 2;
  -ms-grid-column: 1;
  grid-area: 1 / 1 / 3 / 2;
}

.richell-unit .richell-unit-card--top,
.richell-unit .unit02 .rh-unit-content.con02 {
  -ms-grid-row: 1;
  -ms-grid-column: 2;
  grid-area: 1 / 2 / 2 / 3;
}

.richell-unit .richell-unit-card--wide,
.richell-unit .unit02 .rh-unit-content.con03 {
  -ms-grid-row: 2;
  -ms-grid-column: 2;
  grid-area: 2 / 2 / 3 / 3;
}

.richell-unit .unit02 .rh-unit-img-box,
.richell-unit .richell-unit-card .rh-unit-img-box {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  z-index: 1;
}

.richell-unit .unit02 .rh-unit-img-box > div,
.richell-unit .richell-unit-card .rh-unit-img-box > div {
  width: 100%;
  height: 100%;
}

.richell-unit .unit02 .rh-unit-img,
.richell-unit .richell-unit-card .rh-unit-img {
  max-width: none !important;
  width: 100% !important;
  height: 100% !important;
  display: block !important;
  -o-object-fit: cover;
  object-fit: cover;
  opacity: 1 !important;
  -webkit-transform: scale(1.08);
  -ms-transform: scale(1.08);
  transform: scale(1.08);
  -webkit-transition: -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-unit .unit02 .rh-unit-txt-box,
.richell-unit .richell-unit-card .rh-unit-txt-box {
  position: relative;
  z-index: 3;
  width: 100%;
  padding: 1.15rem 1.2rem 1.25rem;
  background: -o-linear-gradient(
    top,
    rgba(7, 12, 22, 0) 0%,
    rgba(7, 12, 22, 0.55) 35%,
    rgba(7, 12, 22, 0.88) 100%
  );
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    from(rgba(7, 12, 22, 0)),
    color-stop(35%, rgba(7, 12, 22, 0.55)),
    to(rgba(7, 12, 22, 0.88))
  );
  background: linear-gradient(
    180deg,
    rgba(7, 12, 22, 0) 0%,
    rgba(7, 12, 22, 0.55) 35%,
    rgba(7, 12, 22, 0.88) 100%
  );
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  opacity: 0;
  -webkit-transform: translate3d(0, 1rem, 0);
  -ms-transform: translate3d(0, 1rem, 0);
  transform: translate3d(0, 1rem, 0);
  -webkit-transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-unit .unit02 .rh-unit-bt,
.richell-unit .richell-unit-card .rh-unit-bt {
  z-index: 4;
  right: 0.85rem !important;
  bottom: 0.85rem !important;
  top: auto !important;
  opacity: 0;
  -webkit-transform: scale(0.7);
  -ms-transform: scale(0.7);
  transform: scale(0.7);
  -webkit-transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.65s cubic-bezier(0.34, 1.4, 0.64, 1);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.65s cubic-bezier(0.34, 1.4, 0.64, 1);
  -o-transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.34, 1.4, 0.64, 1);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.34, 1.4, 0.64, 1);
  transition:
    opacity 0.55s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.65s cubic-bezier(0.34, 1.4, 0.64, 1),
    -webkit-transform 0.65s cubic-bezier(0.34, 1.4, 0.64, 1);
}

.richell-unit .richell-unit-card .rh-unit-txt-box em,
.richell-unit .unit02 .rh-unit-txt-box em {
  display: block;
  margin: 0 0 0.35rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-style: normal;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: 0.14em;
  color: rgba(255, 255, 255, 0.5);
}

.richell-unit .unit02 .rh-unit-txt-box h3,
.richell-unit .richell-unit-card .rh-unit-txt-box h3 {
  font-family: "Nanum Myeongjo", serif;
  font-size: 1.2rem !important;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.25 !important;
}

.richell-unit .unit02 .rh-unit-txt-box p,
.richell-unit .richell-unit-card .rh-unit-txt-box p {
  margin-top: 0.4rem !important;
  font-size: 0.8125rem !important;
  line-height: 1.45 !important;
  opacity: 0.72 !important;
  word-break: keep-all;
}

.richell-unit .richell-unit-card--hero .rh-unit-bt,
.richell-unit .unit02 .rh-unit-content.con01 .rh-unit-bt {
  width: 44px;
  height: 44px;
}

/* on2: 카드 강제 노출 — __card / con0x / active 모두 */
.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-content,
.rh-unit-wrap.on2.richell-unit .unit02 .rh-unit-content,
.rh-unit-wrap.on2 .unit02 .rh-unit-content,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card,
.rh-unit-wrap.on2.richell-unit .richell-unit-card,
.richell-unit .unit02 .rh-unit-content.active,
.richell-unit .unit02 .richell-unit-card.active {
  opacity: 1 !important;
  visibility: visible !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
  -ms-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
  -webkit-clip-path: none !important;
  clip-path: none !important;
  -webkit-filter: none !important;
  filter: none !important;
}

.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-content.con01,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card--hero {
  -webkit-transition-delay: 0.45s;
  -o-transition-delay: 0.45s;
  transition-delay: 0.45s;
}

.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-content.con02,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card--top {
  -webkit-transition-delay: 0.7s;
  -o-transition-delay: 0.7s;
  transition-delay: 0.7s;
}

.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-content.con03,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card--wide {
  -webkit-transition-delay: 0.95s;
  -o-transition-delay: 0.95s;
  transition-delay: 0.95s;
}

.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-img,
.rh-unit-wrap.on2 .unit02 .rh-unit-img,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card .rh-unit-img {
  -webkit-transform: scale(1) !important;
  -ms-transform: scale(1) !important;
  transform: scale(1) !important;
}

.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-txt-box,
.rh-unit-wrap.on2 .unit02 .rh-unit-txt-box,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card .rh-unit-txt-box {
  opacity: 1 !important;
  -webkit-transform: translate3d(0, 0, 0) !important;
  -ms-transform: translate3d(0, 0, 0) !important;
  transform: translate3d(0, 0, 0) !important;
}

.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-content.con01 .rh-unit-txt-box,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card--hero .rh-unit-txt-box {
  -webkit-transition-delay: 0.75s;
  -o-transition-delay: 0.75s;
  transition-delay: 0.75s;
}
.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-content.con02 .rh-unit-txt-box,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card--top .rh-unit-txt-box {
  -webkit-transition-delay: 1s;
  -o-transition-delay: 1s;
  transition-delay: 1s;
}
.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-content.con03 .rh-unit-txt-box,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card--wide .rh-unit-txt-box {
  -webkit-transition-delay: 1.25s;
  -o-transition-delay: 1.25s;
  transition-delay: 1.25s;
}

.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-bt,
.rh-unit-wrap.on2 .unit02 .rh-unit-bt,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card .rh-unit-bt {
  opacity: 1 !important;
  -webkit-transform: scale(1) !important;
  -ms-transform: scale(1) !important;
  transform: scale(1) !important;
}

.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-content.con01 .rh-unit-bt,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card--hero .rh-unit-bt {
  -webkit-transition-delay: 0.95s;
  -o-transition-delay: 0.95s;
  transition-delay: 0.95s;
}
.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-content.con02 .rh-unit-bt,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card--top .rh-unit-bt {
  -webkit-transition-delay: 1.2s;
  -o-transition-delay: 1.2s;
  transition-delay: 1.2s;
}
.richell-unit.rh-unit-wrap.on2 .unit02 .rh-unit-content.con03 .rh-unit-bt,
.richell-unit.rh-unit-wrap.on2 .richell-unit-card--wide .rh-unit-bt {
  -webkit-transition-delay: 1.45s;
  -o-transition-delay: 1.45s;
  transition-delay: 1.45s;
}

@media (max-width: 1200px) {
  .richell-unit .unit02 > .richell-unit-mosaic,
  .richell-unit .unit02 > div:last-child {
    height: min(48vh, 400px);
    gap: 0.7rem;
    max-width: 700px !important;
  }

  .richell-unit .richell-unit-card .rh-unit-txt-box h3,
  .richell-unit .unit02 .rh-unit-txt-box h3 {
    font-size: 1.05rem !important;
  }
}

@media (max-width: 900px) {
  .richell-unit .unit02 {
    width: 100% !important;
    right: 0 !important;
  }

  .richell-unit .unit02 > .richell-unit-mosaic,
  .richell-unit .unit02 > div:last-child {
    width: 90% !important;
    max-width: 640px !important;
    height: auto !important;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    -ms-grid-rows: auto;
    grid-template-rows: none;
    gap: 1rem;
  }

  .richell-unit .richell-unit-card--hero,
  .richell-unit .richell-unit-card--top,
  .richell-unit .richell-unit-card--wide,
  .richell-unit .unit02 .rh-unit-content.con01,
  .richell-unit .unit02 .rh-unit-content.con02,
  .richell-unit .unit02 .rh-unit-content.con03 {
    grid-area: auto;
    min-height: 180px;
    -webkit-filter: none !important;
    filter: none !important;
  }

  .richell-unit .richell-unit-card--hero,
  .richell-unit .unit02 .rh-unit-content.con01 {
    min-height: 220px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-unit .unit02,
  .richell-unit .richell-unit-card,
  .richell-unit .richell-unit-card .rh-unit-img,
  .richell-unit .richell-unit-card .rh-unit-txt-box,
  .richell-unit .richell-unit-card .rh-unit-bt {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-clip-path: none !important;
    clip-path: none !important;
    -webkit-filter: none !important;
    filter: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

.richell-unit .richell-unit-features {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0;
  max-width: 26rem;
  opacity: 0;
  -webkit-transform: translateY(1rem);
  -ms-transform: translateY(1rem);
  transform: translateY(1rem);
}

.richell-unit .richell-unit-features li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  gap: 0.85rem 1.1rem;
  margin: 0;
  padding: 0.95rem 0;
  border-bottom: 1px solid rgba(255, 255, 255, 0.22);
}

.richell-unit .richell-unit-features li:first-child {
  padding-top: 0;
}

.richell-unit .richell-unit-features li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.richell-unit .richell-unit-features em {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  min-width: 1.6rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-style: normal;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.48);
}

.richell-unit .richell-unit-features strong {
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.15rem, 1.7vw, 1.45rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.3;
  color: #fff;
  word-break: keep-all;
}

.rh-unit-wrap.on.richell-unit .richell-unit-features,
.rh-unit-wrap.on2.richell-unit .richell-unit-features,
.richell-unit .unit01.active .richell-unit-features {
  opacity: 1;
  -webkit-transform: translate(0);
  -ms-transform: translate(0);
  transform: translate(0);
  -webkit-transition: 1.2s 0.55s;
  -o-transition: 1.2s 0.55s;
  transition: 1.2s 0.55s;
}

/* 오른쪽 패널(on2)에서도 좌측 특장점 유지 */
.rh-unit-wrap.on2.richell-unit .richell-unit-features {
  -webkit-transition: none;
  -o-transition: none;
  transition: none;
}

/* 상품안내 배경: 고급 인테리어 (기존 rh-unit-bg + 검정 오버레이 대신) */
.richell-unit .rh-unit-bg {
  overflow: hidden;
}

.richell-unit .rh-unit-bg::before {
  background: url(../project/unit/living.jpg?v=20260714) center / cover
    no-repeat !important;
  opacity: 1 !important;
  -webkit-transform: scale(1.02);
  -ms-transform: scale(1.02);
  transform: scale(1.02);
  -webkit-filter: blur(0);
  filter: blur(0);
  -webkit-transition:
    -webkit-filter 2.2s cubic-bezier(0.22, 0.61, 0.36, 1),
    -webkit-transform 2.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  -o-transition:
    filter 2.2s cubic-bezier(0.22, 0.61, 0.36, 1),
    -o-transform 2.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition:
    -webkit-filter 2.2s cubic-bezier(0.22, 0.61, 0.36, 1),
    -webkit-transform 2.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  -o-transition:
    filter 2.2s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 2.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition:
    filter 2.2s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 2.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition:
    filter 2.2s cubic-bezier(0.22, 0.61, 0.36, 1),
    transform 2.2s cubic-bezier(0.22, 0.61, 0.36, 1),
    -webkit-filter 2.2s cubic-bezier(0.22, 0.61, 0.36, 1),
    -webkit-transform 2.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}

.richell-unit .rh-unit-bg::after {
  background: -o-linear-gradient(
    left,
    rgba(0, 0, 0, 0.62) 0%,
    rgba(0, 0, 0, 0.38) 42%,
    rgba(0, 0, 0, 0.18) 100%
  ) !important;
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(rgba(0, 0, 0, 0.62)),
    color-stop(42%, rgba(0, 0, 0, 0.38)),
    to(rgba(0, 0, 0, 0.18))
  ) !important;
  background: linear-gradient(
    90deg,
    rgba(0, 0, 0, 0.62) 0%,
    rgba(0, 0, 0, 0.38) 42%,
    rgba(0, 0, 0, 0.18) 100%
  ) !important;
  opacity: 1 !important;
  -webkit-transition:
    background 2.2s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 2.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  -o-transition:
    background 2.2s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 2.2s cubic-bezier(0.22, 0.61, 0.36, 1);
  transition:
    background 2.2s cubic-bezier(0.22, 0.61, 0.36, 1),
    opacity 2.2s cubic-bezier(0.22, 0.61, 0.36, 1);
}

/* 오른쪽 패널(on2) 등장 시 왼쪽 배경 blur */
@media (min-width: 1401px) {
  .richell-unit.rh-unit-wrap.on2 .rh-unit-bg::before,
  .rh-unit-wrap.on2.richell-unit .rh-unit-bg::before {
    -webkit-filter: blur(10px);
    filter: blur(10px);
    -webkit-transform: scale(1.08);
    -ms-transform: scale(1.08);
    transform: scale(1.08);
  }

  .richell-unit.rh-unit-wrap.on2 .rh-unit-bg::after,
  .rh-unit-wrap.on2.richell-unit .rh-unit-bg::after {
    background: -o-linear-gradient(
      left,
      rgba(0, 0, 0, 0.72) 0%,
      rgba(0, 0, 0, 0.5) 55%,
      rgba(0, 0, 0, 0.28) 100%
    ) !important;
    background: -webkit-gradient(
      linear,
      left top,
      right top,
      from(rgba(0, 0, 0, 0.72)),
      color-stop(55%, rgba(0, 0, 0, 0.5)),
      to(rgba(0, 0, 0, 0.28))
    ) !important;
    background: linear-gradient(
      90deg,
      rgba(0, 0, 0, 0.72) 0%,
      rgba(0, 0, 0, 0.5) 55%,
      rgba(0, 0, 0, 0.28) 100%
    ) !important;
  }
}

.richell-unit .rh-unit-bg-box {
  background:
    -o-linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)),
    url(../project/unit/living.jpg?v=20260714) center / cover no-repeat !important;
  background:
    -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(rgba(0, 0, 0, 0.45)),
      to(rgba(0, 0, 0, 0.45))
    ),
    url(../project/unit/living.jpg?v=20260714) center / cover no-repeat !important;
  background:
    linear-gradient(rgba(0, 0, 0, 0.45), rgba(0, 0, 0, 0.45)),
    url(../project/unit/living.jpg?v=20260714) center / cover no-repeat !important;
  opacity: 1 !important;
}

@media (max-width: 1400px) {
  .richell-unit .rh-unit-tit h2 {
    font-size: 2.75rem;
  }

  .richell-unit .rh-unit-tit_box {
    white-space: normal;
    max-width: min(90%, 32rem);
  }

  .richell-unit .richell-unit-features {
    max-width: none;
  }

  .richell-unit .richell-unit-features strong {
    font-size: 1.2rem;
  }
}

/* ========== 브랜드 소개 ========== */
.richell-brand {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
  padding-bottom: 2rem;
  color: #231815;
}

.richell-brand__hero {
  position: relative;
  text-align: center;
  padding: 3.5rem 1.5rem 3rem;
  background:
    -o-radial-gradient(
      50% 0%,
      ellipse,
      rgba(17, 40, 78, 0.06) 0%,
      rgba(17, 40, 78, 0) 58%
    ),
    -o-linear-gradient(top, #f4f6f9 0%, #ffffff 72%);
  background:
    radial-gradient(
      ellipse at 50% 0%,
      rgba(17, 40, 78, 0.06) 0%,
      rgba(17, 40, 78, 0) 58%
    ),
    -webkit-gradient(
        linear,
        left top,
        left bottom,
        from(#f4f6f9),
        color-stop(72%, #ffffff)
      );
  background:
    radial-gradient(
      ellipse at 50% 0%,
      rgba(17, 40, 78, 0.06) 0%,
      rgba(17, 40, 78, 0) 58%
    ),
    linear-gradient(180deg, #f4f6f9 0%, #ffffff 72%);
  overflow: hidden;
}

.richell-brand__hero::before,
.richell-brand__hero::after {
  content: "";
  position: absolute;
  width: 42%;
  height: 70%;
  bottom: -18%;
  pointer-events: none;
  background: -o-repeating-linear-gradient(
    108deg,
    rgba(17, 40, 78, 0.045) 0 1px,
    transparent 1px 18px
  );
  background: repeating-linear-gradient(
    -18deg,
    rgba(17, 40, 78, 0.045) 0 1px,
    transparent 1px 18px
  );
  opacity: 0.9;
}

.richell-brand__hero::before {
  left: -8%;
  -webkit-transform: skewX(-12deg);
  -ms-transform: skewX(-12deg);
  transform: skewX(-12deg);
}

.richell-brand__hero::after {
  right: -8%;
  -webkit-transform: skewX(12deg);
  -ms-transform: skewX(12deg);
  transform: skewX(12deg);
}

.richell-brand__mark {
  position: relative;
  z-index: 1;
  margin: 0 auto 1.25rem;
  width: min(220px, 52vw);
}

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

.richell-brand__eyebrow {
  position: relative;
  z-index: 1;
  margin: 0 0 0.85rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.875rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(17, 40, 78, 0.55);
}

.richell-brand__headline {
  position: relative;
  z-index: 1;
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.875rem, 3.2vw, 2.625rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.35;
  color: #1b1b1b;
}

.richell-brand__headline em {
  font-style: normal;
  color: #b08d5b;
}

.richell-brand__lead {
  position: relative;
  z-index: 1;
  margin: 1.25rem auto 0;
  max-width: 40rem;
  font-size: 1.0625rem;
  line-height: 1.85;
  color: #555;
}

.richell-brand__lead strong {
  color: #11284e;
  font-weight: 700;
}

.richell-brand__meta {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.85rem;
  margin: 1.75rem 0 0;
  font-size: 0.9375rem;
  color: #777;
}

.richell-brand__meta-sep {
  width: 1px;
  height: 0.85rem;
  background: #cfcfcf;
}

.richell-brand__portfolio {
  margin-top: 2.75rem;
}

.richell-brand__portfolio ul {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem 1.125rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.richell-brand__portfolio figure {
  margin: 0;
  background: #f0f0f0;
}

.richell-brand__portfolio img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  -o-object-fit: cover;
  object-fit: cover;
}

.richell-brand__portfolio figcaption {
  margin: 0;
  padding: 0.85rem 0.5rem;
  background: #ececec;
  text-align: center;
  letter-spacing: -0.02em;
  color: #333;
  word-break: keep-all;
}

.richell-brand__portfolio figcaption strong {
  display: block;
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
}

.richell-brand__portfolio figcaption span {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.875rem;
  font-weight: 500;
  color: rgba(51, 51, 51, 0.72);
}

.richell-brand__premium {
  margin-top: 4.5rem;
  padding-top: 3rem;
  border-top: 1px solid #e6e6e6;
}

.richell-brand__premium-head {
  display: grid;
  grid-template-columns: minmax(180px, 0.85fr) 1.4fr;
  gap: 2rem 2.5rem;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  margin-bottom: 2.75rem;
}

.richell-brand__premium-head h3 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(2rem, 3.4vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: #11284e;
}

.richell-brand__premium-sub {
  margin: 0 0 0.75rem;
  font-size: 1.0625rem;
  font-weight: 700;
  color: #11284e;
}

.richell-brand__premium-desc {
  margin: 0;
  font-size: 1rem;
  line-height: 1.9;
  color: #666;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.richell-brand__values {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 1.5rem 1rem;
  list-style: none;
  margin: 0;
  padding: 0;
  text-align: center;
}

.richell-brand__value-img {
  width: 7.5rem;
  height: 7.5rem;
  margin: 0 auto 1rem;
  border-radius: 50%;
  overflow: hidden;
  background: #eee;
  -webkit-box-shadow: 0 10px 28px rgba(17, 40, 78, 0.12);
  box-shadow: 0 10px 28px rgba(17, 40, 78, 0.12);
}

.richell-brand__value-img img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  display: block;
}

.richell-brand__values h4 {
  margin: 0 0 0.65rem;
  font-size: 1.125rem;
  font-weight: 700;
  color: #11284e;
}

.richell-brand__values p {
  margin: 0;
  font-size: 0.875rem;
  line-height: 1.65;
  color: #777;
  word-break: keep-all;
  overflow-wrap: normal;
}

/* brand reveal motion */
.richell-brand [data-reveal] {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.75rem, 0);
  -ms-transform: translate3d(0, 1.75rem, 0);
  transform: translate3d(0, 1.75rem, 0);
  -webkit-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: var(--reveal-delay, 0s);
  -o-transition-delay: var(--reveal-delay, 0s);
  transition-delay: var(--reveal-delay, 0s);
  will-change: opacity, transform;
}

.richell-brand .is-inview [data-reveal],
.richell-brand [data-reveal].is-inview {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}

.richell-brand__portfolio figure {
  overflow: hidden;
}

.richell-brand__portfolio img {
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-brand__portfolio li:hover img {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.richell-brand__value-img img {
  -webkit-transition: -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-brand__values li:hover .richell-brand__value-img img {
  -webkit-transform: scale(1.08);
  -ms-transform: scale(1.08);
  transform: scale(1.08);
}

.richell-brand__mark img {
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-brand__hero.is-inview .richell-brand__mark img {
  -webkit-animation: richellBrandMark 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation: richellBrandMark 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@-webkit-keyframes richellBrandMark {
  from {
    opacity: 0;
    -webkit-transform: translateY(1.25rem) scale(0.94);
    transform: translateY(1.25rem) scale(0.94);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1);
  }
}

@keyframes richellBrandMark {
  from {
    opacity: 0;
    -webkit-transform: translateY(1.25rem) scale(0.94);
    transform: translateY(1.25rem) scale(0.94);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-brand [data-reveal],
  .richell-brand__portfolio img,
  .richell-brand__value-img img,
  .richell-brand__mark img {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    -webkit-animation: none !important;
    animation: none !important;
  }
}

@media (max-width: 1024px) {
  .richell-brand__portfolio ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .richell-brand__premium-head {
    grid-template-columns: 1fr;
    gap: 1rem;
  }

  .richell-brand__values {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 2rem 1rem;
  }
}

@media (max-width: 640px) {
  .richell-brand__hero {
    padding: 2.5rem 1rem 2.25rem;
  }

  .richell-brand__meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.35rem;
  }

  .richell-brand__meta-sep {
    display: none;
  }

  .richell-brand__portfolio ul {
    grid-template-columns: 1fr;
  }

  .richell-brand__values {
    grid-template-columns: 1fr 1fr;
  }

  .richell-brand__value-img {
    width: 6.25rem;
    height: 6.25rem;
  }
}

/* ========== 브랜드 소개 (editorial) ========== */
.richell-brand.jh-brand {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0.25rem 0 1rem;
  color: #1b2233;
  text-align: left;
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
}

.jh-brand-kicker,
.jh-brand-en {
  margin: 0 0 0.7rem;
  font-family: "futura", "DEFINE", "Noto Sans KR", sans-serif;
  font-size: 0.78rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #b08d5b;
}

.jh-brand-index {
  margin: 0 0 0.85rem;
  font-family: "futura", "DEFINE", "Noto Sans KR", sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.28em;
  color: rgba(17, 40, 78, 0.38);
}

.jh-brand-hero {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(280px, 1.05fr);
  gap: clamp(1.75rem, 4vw, 4rem);
  align-items: center;
  margin-bottom: clamp(4rem, 8vw, 6.5rem);
}

.jh-brand-hero__copy h3 {
  margin: 0;
  font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
  font-size: clamp(1.85rem, 3.4vw, 2.85rem);
  font-weight: 700;
  letter-spacing: -0.035em;
  line-height: 1.38;
  color: #11284e;
  word-break: keep-all;
}

.jh-brand-hero__copy h3 em {
  font-style: normal;
  color: #b08d5b;
}

.jh-brand-hero__lead {
  margin: 1.15rem 0 0;
  max-width: 22rem;
  font-size: 1.02rem;
  line-height: 1.8;
  color: #5c6370;
  word-break: keep-all;
}

.jh-brand-hero__visual {
  margin: 0;
  overflow: hidden;
  background: #e8e4dc;
}

.jh-brand-hero__visual img {
  display: block;
  width: 100%;
  height: min(34rem, 68vw);
  -o-object-fit: cover;
  object-fit: cover;
  -o-object-position: 42% 48%;
  object-position: 42% 48%;
}

.jh-brand-chapter {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(1.75rem, 4vw, 4.25rem);
  align-items: center;
  margin-bottom: clamp(3.75rem, 7vw, 6.25rem);
}

.jh-brand-chapter.is-reverse {
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
}

.jh-brand-chapter.is-reverse .jh-brand-chapter__visual {
  -webkit-box-ordinal-group: 3;
  -ms-flex-order: 2;
  order: 2;
}

.jh-brand-chapter__visual {
  margin: 0;
  overflow: hidden;
  background: #ece8e1;
}

.jh-brand-chapter__visual img {
  display: block;
  width: 100%;
  height: clamp(18rem, 38vw, 26.5rem);
  -o-object-fit: cover;
  object-fit: cover;
}

.jh-brand-chapter__copy {
  min-width: 0;
}

.jh-brand-chapter__copy h3 {
  margin: 0 0 1.2rem;
  font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
  font-size: clamp(1.5rem, 2.6vw, 2.15rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.4;
  color: #11284e;
  word-break: keep-all;
}

.jh-brand-chapter__copy p {
  margin: 0 0 0.9rem;
  font-size: 1rem;
  line-height: 1.9;
  color: #555c68;
  word-break: keep-all;
}

.jh-brand-chapter__copy p:last-child {
  margin-bottom: 0;
}

.jh-brand-chapter__copy strong {
  color: #11284e;
  font-weight: 700;
}

.jh-brand-keys {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  list-style: none;
  margin: 1.5rem 0 0;
  padding: 0;
}

.jh-brand-keys li {
  padding: 0.95rem 0.7rem 0.85rem;
  border-top: 1px solid rgba(176, 141, 91, 0.45);
  background: #f7f4ee;
}

.jh-brand-keys em {
  display: block;
  margin: 0 0 0.35rem;
  font-family: "futura", "DEFINE", "Noto Sans KR", sans-serif;
  font-style: normal;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: #b08d5b;
}

.jh-brand-keys span {
  display: block;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #3d4554;
  word-break: keep-all;
}

.jh-brand-promise {
  position: relative;
  padding: clamp(3.25rem, 6vw, 5rem) clamp(1.5rem, 5vw, 4.5rem);
  background: #11284e;
  color: #f4f1ea;
  overflow: hidden;
}

.jh-brand-promise::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      115deg,
      rgba(17, 40, 78, 0.88) 28%,
      rgba(17, 40, 78, 0.55) 100%
    ),
    url("../project/perspective_day.jpg?v=20261103hq") 46% 42% / cover no-repeat;
  pointer-events: none;
}

.jh-brand-promise__inner {
  position: relative;
  z-index: 1;
  max-width: 42rem;
}

.jh-brand-en.is-light {
  color: #d4b57a;
}

.jh-brand-promise h3 {
  margin: 0 0 1.35rem;
  font-family: "Nanum Myeongjo", "Noto Serif KR", serif;
  font-size: clamp(1.7rem, 3vw, 2.45rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.4;
  word-break: keep-all;
}

.jh-brand-promise h3 strong {
  font-weight: 700;
  color: #e8c88a;
}

.jh-brand-promise p {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.95;
  color: rgba(244, 241, 234, 0.82);
  word-break: keep-all;
}

.jh-brand [data-reveal] {
  opacity: 0;
  -webkit-transform: translate3d(0, 2rem, 0);
  -ms-transform: translate3d(0, 2rem, 0);
  transform: translate3d(0, 2rem, 0);
  -webkit-transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.95s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.95s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: var(--reveal-delay, 0s);
  -o-transition-delay: var(--reveal-delay, 0s);
  transition-delay: var(--reveal-delay, 0s);
}

.jh-brand [data-reveal].is-inview {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.jh-brand-editorial .jh-brand-hero__visual[data-reveal] img,
.jh-brand-editorial .jh-brand-chapter__visual[data-reveal] img,
.jh-brand-editorial .jh-brand-identity__mark img {
  -webkit-transform: scale(1.045);
  -ms-transform: scale(1.045);
  transform: scale(1.045);
  -webkit-transition: -webkit-transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 1.15s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: var(--reveal-delay, 0s);
  -o-transition-delay: var(--reveal-delay, 0s);
  transition-delay: var(--reveal-delay, 0s);
}

.jh-brand-editorial .jh-brand-hero__visual[data-reveal].is-inview img,
.jh-brand-editorial .jh-brand-chapter__visual[data-reveal].is-inview img,
.jh-brand-editorial .jh-brand-identity__inner.is-inview .jh-brand-identity__mark img {
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.jh-brand-editorial .jh-brand-keys li {
  opacity: 0;
  -webkit-transform: translate3d(0, 0.7rem, 0);
  -ms-transform: translate3d(0, 0.7rem, 0);
  transform: translate3d(0, 0.7rem, 0);
  -webkit-transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.7s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.7s cubic-bezier(0.22, 1, 0.36, 1);
}
.jh-brand-editorial .jh-brand-chapter__copy.is-inview .jh-brand-keys li {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}
.jh-brand-editorial .jh-brand-keys li:nth-child(1) { -webkit-transition-delay: 0.18s; transition-delay: 0.18s; }
.jh-brand-editorial .jh-brand-keys li:nth-child(2) { -webkit-transition-delay: 0.28s; transition-delay: 0.28s; }
.jh-brand-editorial .jh-brand-keys li:nth-child(3) { -webkit-transition-delay: 0.38s; transition-delay: 0.38s; }

@media (prefers-reduced-motion: reduce) {
  .jh-brand [data-reveal],
  .jh-brand-editorial .jh-brand-hero__visual[data-reveal] img,
  .jh-brand-editorial .jh-brand-chapter__visual[data-reveal] img,
  .jh-brand-editorial .jh-brand-identity__mark img,
  .jh-brand-editorial .jh-brand-keys li {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

@media (max-width: 900px) {
  .jh-brand-hero,
  .jh-brand-chapter,
  .jh-brand-chapter.is-reverse {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }

  .jh-brand-chapter.is-reverse .jh-brand-chapter__visual {
    -webkit-box-ordinal-group: 1;
    -ms-flex-order: 0;
    order: 0;
  }

  .jh-brand-hero__visual img,
  .jh-brand-chapter__visual img {
    height: min(22rem, 62vw);
  }

  .jh-brand-keys {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .jh-brand-hero {
    margin-bottom: 3.25rem;
  }

  .jh-brand-chapter {
    margin-bottom: 3rem;
  }

  .jh-brand-promise {
    padding: 2.6rem 1.25rem 2.4rem;
  }
}

/* Brand story: contrasting chapters with a consistent navy and blue palette. */
.jh-brand.jh-brand-editorial {
  --brand-ink: #162d49;
  --brand-blue: #245b96;
  color: var(--brand-ink);
}
.jh-brand-editorial .jh-brand-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  min-height: 36rem;
  margin: 2rem 0 0;
  isolation: isolate;
}
.jh-brand-editorial .jh-brand-hero::before {
  content: "";
  position: absolute;
  inset: -1.8rem 10% auto;
  height: 1.8rem;
  background: #c6d6e1;
}
.jh-brand-editorial .jh-brand-hero__visual,
.jh-brand-editorial .jh-brand-hero__copy {
  grid-area: 1 / 1;
}
.jh-brand-editorial .jh-brand-hero__visual {
  position: relative;
  height: 100%;
  z-index: -1;
}
.jh-brand-editorial .jh-brand-hero__visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(
    115deg,
    rgba(9, 26, 44, 0.7),
    rgba(9, 26, 44, 0.22)
  );
}
.jh-brand-editorial .jh-brand-hero__visual img {
  height: 100%;
  min-height: 36rem;
  object-position: center;
}
.jh-brand-editorial .jh-brand-hero__visual figcaption {
  display: none;
}
.jh-brand-editorial .jh-brand-hero__copy {
  padding: 5rem clamp(1.5rem, 6vw, 5rem);
  color: #fff;
  max-width: 52rem;
}
.jh-brand-editorial .jh-brand-kicker {
  color: #c8dfef;
  font-size: 0.68rem;
  letter-spacing: 0.32em;
  margin-bottom: 2.5rem;
}
.jh-brand-editorial .jh-brand-hero__intro {
  display: block;
  margin-bottom: 1rem;
  font-size: clamp(1rem, 1.8vw, 1.4rem);
  font-weight: 400;
}
.jh-brand-editorial .jh-brand-hero__copy h3 {
  color: #fff;
  font-size: clamp(2rem, 4vw, 3.4rem);
  line-height: 1.5;
  letter-spacing: -0.05em;
}
.jh-brand-editorial .jh-brand-hero__copy h3 em {
  color: #fff;
}
.jh-brand-editorial .jh-brand-hero__lead {
  max-width: 30rem;
  color: #e1e8ef;
  font-size: 0.9rem;
}
.jh-brand-editorial .jh-brand-hero__mark {
  display: block;
  width: min(8.4rem, 42%);
  height: auto;
  margin: 0 0 1.35rem;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}
.jh-brand-editorial .jh-brand-identity {
  position: relative;
  isolation: isolate;
  margin: 0;
  padding: clamp(4.2rem, 9vw, 7.2rem) clamp(1.5rem, 6vw, 5rem);
  overflow: hidden;
  text-align: center;
  background-color: #121a28;
  background-image:
    url("/assets/site/images/brand-identity-pattern.svg?v=20260921d"),
    radial-gradient(
      ellipse at 50% 44%,
      rgba(32, 48, 76, 0.22) 0%,
      rgba(16, 24, 38, 0) 72%
    );
  background-repeat: repeat, no-repeat;
  background-size: 8.6rem, auto;
  background-position: center;
}
.jh-brand-editorial .jh-brand-identity::before {
  content: "HEIGHTS";
  position: absolute;
  left: 50%;
  top: 52%;
  z-index: 0;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  font-family: "futura", "DEFINE", "Noto Sans KR", sans-serif;
  font-size: clamp(4.8rem, 13vw, 9.5rem);
  font-weight: 700;
  letter-spacing: 0.22em;
  line-height: 1;
  color: rgba(196, 165, 116, 0.038);
  pointer-events: none;
}
.jh-brand-editorial .jh-brand-identity .jh-brand-en {
  color: #c4a574;
  margin-bottom: 1.85rem;
  font-size: 0.68rem;
  letter-spacing: 0.32em;
}
.jh-brand-editorial .jh-brand-identity__inner {
  position: relative;
  z-index: 1;
  max-width: 32rem;
  margin: 0 auto;
  padding: 2.6rem 2rem 2.4rem;
}
.jh-brand-editorial .jh-brand-identity__corner {
  position: absolute;
  z-index: 2;
  width: 0.72rem;
  height: 0.72rem;
  pointer-events: none;
}
.jh-brand-editorial .jh-brand-identity__corner.is-tl {
  top: -1px;
  left: -1px;
  border-top: 2px solid #c4a574;
  border-left: 2px solid #c4a574;
}
.jh-brand-editorial .jh-brand-identity__corner.is-tr {
  top: -1px;
  right: -1px;
  border-top: 2px solid #c4a574;
  border-right: 2px solid #c4a574;
}
.jh-brand-editorial .jh-brand-identity__corner.is-bl {
  bottom: -1px;
  left: -1px;
  border-bottom: 2px solid #c4a574;
  border-left: 2px solid #c4a574;
}
.jh-brand-editorial .jh-brand-identity__corner.is-br {
  bottom: -1px;
  right: -1px;
  border-bottom: 2px solid #c4a574;
  border-right: 2px solid #c4a574;
}
.jh-brand-editorial .jh-brand-identity__inner::before,
.jh-brand-editorial .jh-brand-identity__inner::after {
  content: "";
  position: absolute;
  pointer-events: none;
}
.jh-brand-editorial .jh-brand-identity__inner::before {
  inset: 0;
  border: 1px solid rgba(196, 165, 116, 0.34);
}
.jh-brand-editorial .jh-brand-identity__inner::after {
  inset: 0.48rem;
  border: 1px solid rgba(196, 165, 116, 0.14);
}
.jh-brand-editorial .jh-brand-identity__mark {
  margin: 0 auto 1.25rem;
  max-width: 18.5rem;
}
.jh-brand-editorial .jh-brand-identity__mark img {
  display: block;
  width: 100%;
  height: auto;
  -webkit-filter: brightness(0) invert(1);
  filter: brightness(0) invert(1);
}
.jh-brand-editorial .jh-brand-identity__caption {
  margin: 0;
  font-size: 0.94rem;
  line-height: 1.7;
  letter-spacing: -0.03em;
  color: rgba(236, 230, 218, 0.78);
  word-break: keep-all;
}
.jh-brand-editorial .jh-brand-chapter {
  position: relative;
  gap: clamp(2rem, 5vw, 5rem);
  margin: 0;
  padding: clamp(3rem, 7vw, 6rem);
}
.jh-brand-editorial .jh-brand-chapter__visual {
  background: #e6ecf0;
}
.jh-brand-editorial .jh-brand-chapter__visual img {
  height: 27rem;
}
.jh-brand-editorial .jh-brand-chapter__copy {
  position: relative;
}
.jh-brand-editorial .jh-brand-chapter__copy .jh-brand-index {
  display: inline-block;
  margin: 0 0.9rem 1.6rem 0;
  padding-right: 0.9rem;
  border-right: 1px solid #a2b4c6;
  font-size: 0.7rem;
  line-height: 1;
  color: #487398;
}
.jh-brand-editorial .jh-brand-chapter__copy .jh-brand-en {
  display: inline-block;
  margin-bottom: 1.6rem;
  font-size: 0.65rem;
  color: #487398;
  letter-spacing: 0.16em;
}
.jh-brand-editorial .jh-brand-chapter__copy h3 {
  font-size: clamp(1.5rem, 2.5vw, 2.2rem);
  line-height: 1.55;
  letter-spacing: -0.045em;
  margin-bottom: 1.6rem;
}
.jh-brand-editorial .jh-brand-chapter__copy p {
  font-size: 0.9rem;
  line-height: 1.95;
  color: #647180;
}
/* A dark, intimate chapter beneath the wide opening image. */
.jh-brand-editorial .jh-brand-essence {
  background: #121f30;
  grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
  overflow: hidden;
}
.jh-brand-editorial .jh-brand-essence::before {
  content: "HEIGHTS";
  position: absolute;
  bottom: -1.5rem;
  right: -1rem;
  font-size: clamp(5rem, 14vw, 12rem);
  font-weight: 700;
  letter-spacing: -0.06em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.035);
  pointer-events: none;
}
.jh-brand-editorial .jh-brand-essence .jh-brand-chapter__visual {
  margin-bottom: 3rem;
  box-shadow: 1.2rem 1.2rem 0 #22364b;
}
.jh-brand-editorial .jh-brand-essence h3,
.jh-brand-editorial .jh-brand-essence strong {
  color: #fff;
}
.jh-brand-editorial .jh-brand-essence .jh-brand-chapter__copy p {
  color: #bac8d6;
}
.jh-brand-editorial .jh-brand-essence .jh-brand-en,
.jh-brand-editorial .jh-brand-essence .jh-brand-index {
  color: #8eb7d6;
}
.jh-brand-editorial .jh-brand-keys {
  gap: 0;
  border-top: 1px solid #465466;
  margin-top: 2rem;
}
.jh-brand-editorial .jh-brand-keys li {
  background: none;
  border: 0;
  padding: 1rem 0.4rem 0 0;
}
.jh-brand-editorial .jh-brand-keys em {
  font-size: 0.6rem;
  letter-spacing: 0.02em;
  color: #8eb7d6;
}
.jh-brand-editorial .jh-brand-keys span {
  color: #e1e8ef;
  font-size: 0.7rem;
}
/* The plan chapter keeps the 16:9 drawing beside copy, on a paper-like ground. */
.jh-brand-editorial .jh-brand-detail {
  grid-template-columns: minmax(0, 1.12fr) minmax(0, 0.88fr);
  align-items: center;
  gap: clamp(1.8rem, 4vw, 3.4rem);
  padding: clamp(3rem, 6vw, 4.8rem) clamp(1.6rem, 5vw, 4.5rem);
  background: #f4f1ea;
  overflow: hidden;
}
.jh-brand-editorial .jh-brand-detail .jh-brand-chapter__copy {
  display: block;
}
.jh-brand-editorial .jh-brand-detail h3 {
  margin: 0 0 1.6rem;
}
.jh-brand-editorial .jh-brand-detail .jh-brand-chapter__visual {
  order: 0;
  margin: 0;
  background: #fff;
  box-shadow: 0.9rem 0.9rem 0 #e4ddd0;
}
.jh-brand-editorial .jh-brand-detail .jh-brand-chapter__visual img {
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: cover;
  object-position: 62% center;
}
/* Compact 16:9 IoT still sits beside copy instead of filling the section. */
.jh-brand-editorial .jh-brand-system {
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  align-items: center;
  gap: clamp(1.8rem, 4vw, 3.4rem);
  padding: clamp(3rem, 6vw, 4.8rem) clamp(1.6rem, 5vw, 4.5rem);
  background: #141c28;
  overflow: hidden;
}
.jh-brand-editorial .jh-brand-system .jh-brand-chapter__visual {
  padding: 0;
  background: #0e141e;
  box-shadow: 0.9rem 0.9rem 0 #0b1118;
}
.jh-brand-editorial .jh-brand-system .jh-brand-chapter__visual img {
  width: 100%;
  height: auto;
  aspect-ratio: 1672 / 941;
  object-fit: cover;
  object-position: 68% center;
}
.jh-brand-editorial .jh-brand-system .jh-brand-chapter__copy {
  display: block;
  padding: 0;
}
.jh-brand-editorial .jh-brand-system .jh-brand-index {
  margin-bottom: 0.8rem;
  border-right-color: rgba(196, 165, 116, 0.45);
  color: #c4a574;
}
.jh-brand-editorial .jh-brand-system .jh-brand-en {
  color: #c4a574;
}
.jh-brand-editorial .jh-brand-system h3 {
  color: #fff;
}
.jh-brand-editorial .jh-brand-system .jh-brand-chapter__copy p:not([class]) {
  color: #c9d3de;
}
.jh-brand-editorial .jh-brand-system strong {
  color: #fff;
}
/* Value is presented as an inset statement over a wide residential image. */
.jh-brand-editorial .jh-brand-value {
  display: grid;
  grid-template-columns: 1fr;
  padding: 0;
  margin: 0;
}
.jh-brand-editorial .jh-brand-value .jh-brand-chapter__visual,
.jh-brand-editorial .jh-brand-value .jh-brand-chapter__copy {
  grid-area: 1 / 1;
}
.jh-brand-editorial .jh-brand-value .jh-brand-chapter__visual {
  order: 0;
  height: 100%;
}
.jh-brand-editorial .jh-brand-value .jh-brand-chapter__visual img {
  height: 100%;
  min-height: 35rem;
}
.jh-brand-editorial .jh-brand-value .jh-brand-chapter__copy {
  z-index: 1;
  width: 48%;
  justify-self: end;
  margin: 4rem 3rem 4rem 0;
  padding: 2.5rem;
  background: rgba(255, 255, 255, 0.96);
  box-sizing: border-box;
  border-top: 3px solid #245b96;
}
.jh-brand-editorial .jh-brand-promise {
  padding: clamp(3rem, 6vw, 5rem);
  background: #245b96;
}
.jh-brand-editorial .jh-brand-promise::before {
  background: linear-gradient(125deg, #1e4e83, #3272a4);
}
.jh-brand-editorial .jh-brand-promise__inner {
  max-width: none;
  display: grid;
  grid-template-columns: 1.1fr 1fr;
  gap: 1rem 3rem;
}
.jh-brand-editorial .jh-brand-promise .jh-brand-en {
  grid-column: 1 / -1;
  color: #c2dced;
  font-size: 0.68rem;
  letter-spacing: 0.25em;
  margin-bottom: 1.4rem;
}
.jh-brand-editorial .jh-brand-promise h3 {
  margin: 0;
  font-size: clamp(1.5rem, 2.6vw, 2.2rem);
  line-height: 1.65;
  color: #fff;
}
.jh-brand-editorial .jh-brand-promise h3 strong {
  color: #fff;
}
.jh-brand-editorial .jh-brand-promise p:not(.jh-brand-en) {
  font-size: 0.88rem;
  line-height: 2;
  color: #e1edf7;
  padding-top: 0.3rem;
}
@media (max-width: 900px) {
  .jh-brand-editorial .jh-brand-chapter {
    grid-template-columns: 1fr;
    padding: 3rem 2rem;
    gap: 2rem;
  }
  .jh-brand-editorial .jh-brand-essence .jh-brand-chapter__visual {
    margin: 0 1rem 1rem 0;
  }
  .jh-brand-editorial .jh-brand-chapter__visual img {
    height: clamp(18rem, 55vw, 27rem);
  }
  .jh-brand-editorial .jh-brand-detail .jh-brand-chapter__copy {
    display: block;
  }
  .jh-brand-editorial .jh-brand-detail h3 {
    margin-bottom: 1.5rem;
  }
  .jh-brand-editorial .jh-brand-detail .jh-brand-chapter__visual {
    margin: 0;
    box-shadow: 0.6rem 0.6rem 0 #e4ddd0;
  }
  .jh-brand-editorial .jh-brand-system {
    padding: 3rem 2rem;
    gap: 1.6rem;
  }
  .jh-brand-editorial .jh-brand-system .jh-brand-chapter__visual {
    box-shadow: 0.6rem 0.6rem 0 #0b1118;
  }
  .jh-brand-editorial .jh-brand-system .jh-brand-chapter__copy {
    padding: 0;
  }
  .jh-brand-editorial .jh-brand-system h3 {
    margin-bottom: 1.5rem;
  }
  .jh-brand-editorial .jh-brand-keys {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .jh-brand-editorial .jh-brand-value {
    padding: 0;
    margin: 0;
  }
  .jh-brand-editorial .jh-brand-value .jh-brand-chapter__copy {
    width: 65%;
    margin: 3rem 1.5rem 3rem 0;
    padding: 2rem;
  }
  .jh-brand-editorial .jh-brand-promise__inner {
    grid-template-columns: 1fr;
    gap: 1.5rem;
  }
}
@media (max-width: 640px) {
  .jh-brand-editorial .jh-brand-hero {
    min-height: 30rem;
  }
  .jh-brand-editorial .jh-brand-hero__visual img {
    min-height: 30rem;
    object-position: 42% center;
  }
  .jh-brand-editorial .jh-brand-hero__copy {
    padding: 3rem 1.4rem;
  }
  .jh-brand-editorial .jh-brand-hero__mark {
    width: 6.8rem;
    margin-bottom: 1.1rem;
  }
  .jh-brand-editorial .jh-brand-identity {
    padding: 3.4rem 1.2rem;
  }
  .jh-brand-editorial .jh-brand-identity__inner {
    padding: 1.8rem 1.1rem 1.7rem;
  }
  .jh-brand-editorial .jh-brand-identity__mark {
    max-width: 14.5rem;
  }
  .jh-brand-editorial .jh-brand-chapter {
    padding: 3rem 1.4rem;
  }
  .jh-brand-editorial .jh-brand-chapter__copy .jh-brand-en {
    font-size: 0.6rem;
    letter-spacing: 0.1em;
  }
  .jh-brand-editorial .jh-brand-system {
    padding: 2.4rem 1.4rem 2.6rem;
  }
  .jh-brand-editorial .jh-brand-detail .jh-brand-chapter__visual {
    box-shadow: none;
  }
  .jh-brand-editorial .jh-brand-system .jh-brand-chapter__visual {
    box-shadow: none;
  }
  .jh-brand-editorial .jh-brand-value {
    padding: 0;
    display: block;
  }
  .jh-brand-editorial .jh-brand-value .jh-brand-chapter__visual img {
    min-height: 0;
    height: 18rem;
  }
  .jh-brand-editorial .jh-brand-value .jh-brand-chapter__copy {
    width: calc(100% - 1.5rem);
    margin: -2rem auto 0;
    padding: 1.6rem 1.2rem;
    background: #f5f7f9;
  }
  .jh-brand-editorial .jh-brand-promise {
    padding: 3rem 1.4rem;
  }
}

/* ========== 입지환경 ========== */
.richell-location {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
  padding: 0.5rem 0 0;
  color: #11284e;
  text-align: left;
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
}

#subpage-container:has(.richell-location) #subpage-title h2 {
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
}

.jh-loc-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(280px, 0.85fr);
  gap: clamp(1.5rem, 3vw, 2.75rem);
  align-items: center;
}

.jh-loc-hero-copy {
  min-width: 0;
}

.jh-loc-kicker {
  margin: 0 0 0.55rem;
  font-size: clamp(1.05rem, 1.8vw, 1.28rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.55;
  color: #2a3d63;
  word-break: keep-all;
}

.jh-loc-hero-copy h3 {
  margin: 0;
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  font-size: clamp(1.7rem, 3.2vw, 2.55rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.38;
  color: #11284e;
  word-break: keep-all;
}

.jh-loc-hero-copy h3 strong {
  font-weight: 800;
  color: #11284e;
}

.jh-loc-hero-copy h3 span {
  font-weight: 500;
}

.jh-loc-hero-visual {
  position: relative;
  margin: 0;
  overflow: hidden;
  border-radius: 1.15rem;
  background: #dce7f2;
  box-shadow: 0 22px 48px rgba(17, 40, 78, 0.16);
}

.jh-loc-hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 16rem;
  object-fit: cover;
  object-position: 62% 48%;
}

.jh-loc-hero-visual figcaption {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  margin: 0;
  padding: 0.7rem 0.95rem;
  border-radius: 0.7rem;
  background: rgba(14, 26, 51, 0.78);
  color: #fff;
  text-align: left;
  backdrop-filter: blur(8px);
}

.jh-loc-hero-visual figcaption span {
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: -0.03em;
}

.jh-loc-hero-visual figcaption em {
  font-style: normal;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  color: rgba(255, 255, 255, 0.78);
}

.jh-loc-stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  list-style: none;
  margin: 2.4rem 0 0;
  padding: 0;
  border-top: 1px solid rgba(17, 40, 78, 0.12);
  border-bottom: 1px solid rgba(17, 40, 78, 0.12);
}

.jh-loc-stats li {
  padding: 1.35rem 1rem 1.25rem;
  text-align: center;
}

.jh-loc-stats li + li {
  border-left: 1px solid rgba(17, 40, 78, 0.1);
}

.jh-loc-stats em {
  display: block;
  margin: 0 0 0.35rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: clamp(1.35rem, 2.2vw, 1.7rem);
  font-style: normal;
  font-weight: 500;
  letter-spacing: 0.04em;
  color: #143085;
}

.jh-loc-stats span {
  display: block;
  font-size: 0.86rem;
  letter-spacing: -0.03em;
  color: rgba(17, 40, 78, 0.62);
}

.jh-loc-map {
  margin-top: 2.4rem;
}

.jh-loc-map-figure {
  margin: 0;
  padding: 0.85rem;
  background: #fff;
  border: 1px solid rgba(17, 40, 78, 0.12);
  box-shadow: 0 18px 44px rgba(17, 40, 78, 0.08);
}

.jh-loc-map-open {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: #f4f7fb;
  cursor: zoom-in;
}

.jh-loc-map-open img {
  display: block;
  width: 100%;
  height: auto;
}

.jh-loc-map-open span {
  position: absolute;
  right: 1rem;
  bottom: 1rem;
  padding: 0.55rem 0.9rem;
  border-radius: 999px;
  background: rgba(17, 40, 78, 0.88);
  color: #fff;
  font-size: 0.78rem;
  letter-spacing: -0.02em;
  pointer-events: none;
}

.jh-loc-legend {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0.65rem 1.25rem;
  list-style: none;
  margin: 1rem 0 0;
  padding: 0;
  font-size: 0.8rem;
  letter-spacing: -0.02em;
  color: rgba(17, 40, 78, 0.7);
}

.jh-loc-legend i {
  display: inline-block;
  width: 1.35rem;
  height: 0.22rem;
  margin: 0 0.4rem 0.12rem 0;
  vertical-align: middle;
  border-radius: 99px;
}

.jh-loc-legend .is-gtx {
  background: repeating-linear-gradient(
    90deg,
    #8a3d9b 0 0.35rem,
    transparent 0.35rem 0.55rem
  );
}
.jh-loc-legend .is-suin {
  background: #e2b23a;
}
.jh-loc-legend .is-shin {
  background: #d24a4a;
}
.jh-loc-legend .is-gyeongbu {
  background: #3a6fd8;
}
.jh-loc-legend .is-yeongdong {
  background: #2a8f6b;
}

.jh-loc-features {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 2.6rem 4.5rem;
  margin-top: 3.4rem;
}

.jh-loc-features article {
  display: grid;
  grid-template-columns: 5.6rem minmax(0, 1fr);
  grid-template-areas:
    "icon title"
    "icon body";
  column-gap: 1.25rem;
  row-gap: 0.45rem;
  align-items: start;
  min-width: 0;
  padding: 0;
  background: none;
  border: 0;
}

.jh-loc-icon {
  grid-area: icon;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 5.6rem;
  height: 5.6rem;
  margin: 0;
  color: #11284e;
}

.jh-loc-icon svg {
  width: 4.2rem;
  height: 4.2rem;
}

.jh-loc-icon .is-point {
  fill: #e8d4a8;
}

.jh-loc-features h4 {
  grid-area: title;
  display: block;
  margin: 0;
  padding-top: 0.55rem;
  font-size: 1.45rem;
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1.25;
  text-align: left;
  color: #3d4a63;
}

.jh-loc-features h4 strong {
  font-weight: 800;
  color: #11284e;
}

.jh-loc-features h4::before {
  content: "";
  display: block;
  width: 1.85rem;
  height: 1px;
  margin: 0 0 0.55rem;
  background: #b08d5b;
}

.jh-loc-features article > p:last-child {
  grid-area: body;
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.8;
  letter-spacing: -0.03em;
  color: #5a6474;
  word-break: keep-all;
}

.jh-loc-dlg:not([open]) {
  display: none !important;
}

.jh-loc-dlg[open] {
  position: fixed;
  inset: 0;
  width: min(1180px, 94vw);
  height: fit-content;
  max-height: 92vh;
  margin: auto;
  padding: 1.25rem 1.25rem 1rem;
  border: 0;
  background: #111;
}

.jh-loc-dlg::backdrop {
  background: rgba(8, 14, 28, 0.78);
}

.jh-loc-dlg img {
  display: block;
  width: 100%;
  height: auto;
  max-height: calc(92vh - 3.5rem);
  object-fit: contain;
}

.jh-loc-dlg-close {
  display: block;
  margin: 0 0 0.75rem auto;
  padding: 0.4rem 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.28);
  background: transparent;
  color: #fff;
  font-size: 0.8rem;
  cursor: pointer;
}

.richell-location [data-reveal] {
  opacity: 0;
  transform: translate3d(0, 3.4rem, 0) scale(0.94);
  transition:
    opacity 1.15s cubic-bezier(0.16, 1, 0.3, 1),
    transform 1.15s cubic-bezier(0.16, 1, 0.3, 1);
  transition-delay: var(--reveal-delay, 0s);
}

.richell-location .is-inview [data-reveal],
.richell-location [data-reveal].is-inview {
  opacity: 1;
  transform: none;
}

@media (max-width: 980px) {
  .jh-loc-hero {
    grid-template-columns: 1fr;
  }

  .jh-loc-hero-visual img {
    min-height: 14rem;
    max-height: 18rem;
  }

  .jh-loc-stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .jh-loc-stats li:nth-child(3),
  .jh-loc-stats li:nth-child(4) {
    border-top: 1px solid rgba(17, 40, 78, 0.1);
  }

  .jh-loc-stats li:nth-child(odd) {
    border-left: 0;
  }

  .jh-loc-features {
    gap: 2.1rem 2.4rem;
  }
}

@media (max-width: 640px) {
  .jh-loc-stats,
  .jh-loc-features {
    grid-template-columns: 1fr;
  }

  .jh-loc-stats li + li,
  .jh-loc-stats li:nth-child(3),
  .jh-loc-stats li:nth-child(4) {
    border-left: 0;
    border-top: 1px solid rgba(17, 40, 78, 0.1);
  }

  .jh-loc-map-figure {
    padding: 0.45rem;
  }

  .jh-loc-features article {
    padding: 0;
  }
}

.subpage-content:has(.richell-location) .subpage-notes {
  margin-top: 7.5rem;
}

.subpage-content:has(.richell-location) .subpage-notes > div {
  display: flex;
  align-items: center;
  justify-content: center;
  background: #11284e none;
  border: 1px solid #11284e;
  color: #fff;
}

.subpage-content:has(.richell-location) .subpage-notes > div::before {
  content: "!";
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 1.35rem;
  font-weight: 700;
  line-height: 1;
}

@media (prefers-reduced-motion: reduce) {
  .richell-location [data-reveal],
  .jh-loc-features article {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }
}

/* ========== 서브 이미지(단지배치도 등) ========== */
.sub_img_wrap {
  overflow: hidden;
}

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

/* ========== 동·호수 배치도 ========== */
.richell-dongho > img.pc {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
}

.richell-dongho__mo {
  display: none;
}

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

.richell-dongho__mo img + img {
  margin-top: 1rem;
}

.sub_img_wrap.richell-dongho img.richell-dongho__color {
  display: block;
  width: 28rem !important;
  max-width: 85% !important;
  height: auto !important;
  margin: 1.5rem auto 0 !important;
}

.richell-dongho__member-note {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.55rem;
  margin: 0.9rem 0 0;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
  color: #333;
}

.richell-dongho__member-mark {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 2.1rem;
  height: 1.05rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-item-align: center;
  align-self: center;
  line-height: 0;
  vertical-align: middle;
}

.richell-dongho__member-mark svg {
  display: block;
  width: 100%;
  height: 100%;
  vertical-align: middle;
}

.richell-dongho__member-mark::before,
.richell-dongho__member-mark::after {
  content: none !important;
  display: none !important;
}

@media (max-width: 767px) {
  .richell-dongho > img.pc {
    display: none !important;
  }

  .richell-dongho__mo {
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1rem;
  }

  .richell-dongho__mo img + img {
    margin-top: 0;
  }

  .sub_img_wrap.richell-dongho img.richell-dongho__color {
    width: 100% !important;
    max-width: 100% !important;
    margin: 1.25rem auto 0 !important;
  }

  .richell-dongho__member-note {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    font-size: 0.875rem;
  }
}

/* ========== 오시는 길 ========== */
.sub_contact_map_box {
  overflow: hidden;
  background: #f4f6f8;
  position: relative;
}

.richell-naver-map {
  width: 100%;
  height: 360px;
}

.richell-naver-map__info {
  min-width: 180px;
  max-width: 240px;
  padding: 0.7rem 0.85rem;
  border-radius: 8px;
  background: #fff;
  -webkit-box-shadow: 0 6px 18px rgba(17, 40, 78, 0.16);
  box-shadow: 0 6px 18px rgba(17, 40, 78, 0.16);
  color: #11284e;
  text-align: left;
}

.richell-naver-map__info strong {
  display: block;
  margin-bottom: 0.25rem;
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.richell-naver-map__info p {
  margin: 0 !important;
  max-width: none !important;
  font-size: 0.78rem !important;
  line-height: 1.45 !important;
  color: rgba(17, 40, 78, 0.72);
  word-break: keep-all;
}

.richell-naver-map__fallback {
  width: 100%;
  height: 100%;
  min-height: 280px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.45rem;
  padding: 1.5rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  background: #eef2f6;
  color: #11284e;
  text-align: center;
}

.richell-naver-map__fallback p {
  margin: 0 !important;
  max-width: 22rem !important;
  font-size: 0.875rem !important;
  line-height: 1.55 !important;
  word-break: keep-all;
}

.richell-naver-map__fallback strong {
  font-size: 1rem;
}

.richell-naver-map__fallback-hint {
  margin-top: 0.5rem !important;
  font-size: 0.78rem !important;
  color: rgba(17, 40, 78, 0.65) !important;
}

.richell-naver-map__fallback code {
  display: inline-block;
  margin: 0.1rem 0;
  padding: 0.1rem 0.35rem;
  border-radius: 4px;
  background: rgba(17, 40, 78, 0.08);
  font-size: 0.75rem;
}

.sub_contact_map_box .root_daum_roughmap,
.sub_contact_map_box .root_daum_roughmap .wrap_map {
  width: 100% !important;
}

.sub_contact_map_box .root_daum_roughmap .wrap_controllers {
  display: none !important;
}

.sub_contact_add p {
  line-height: 1.5;
  max-width: 16rem;
}

@media (max-width: 767px) {
  .sub_contact_map_box {
    height: auto !important;
    min-height: 280px;
  }

  .richell-naver-map {
    height: 280px;
  }

  .sub_contact_add {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 1rem;
  }

  .sub_contact_add p {
    max-width: none;
  }

  .sub_contact_bt {
    margin-left: 0;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
  }
}

/* 1400px 이하: fullPage 미사용 — 스크롤 잠금 해제 */
@media (max-width: 1400px) {
  html,
  body.home,
  body.home.jh-home-static,
  body.home.auto,
  body.jh-home.jh-home-static {
    overflow-x: hidden !important;
    overflow-y: auto !important;
    height: auto !important;
    -ms-touch-action: auto !important;
    touch-action: auto !important;
  }

  /* 인트로·팝업 중에는 스크롤 유지 잠금 */
  body.home.locked:not(.auto):not(.jh-home-static),
  body.richell-popup-open,
  body.home.richell-popup-open,
  html:has(body.richell-popup-open) {
    overflow: hidden !important;
    -ms-touch-action: none !important;
    touch-action: none !important;
  }

  /* min-height:100vh + section 흰 배경이 커뮤니티↔상품·클로징↔푸터 사이 빈 간격을 만들던 문제 */
  body.home .section,
  body.jh-home.jh-home-static .section,
  body.jh-home.jh-home-static .fp-section,
  body.jh-home.jh-home-static .fp-tableCell {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
  }

  body.home #section1,
  body.jh-home.jh-home-static #section1 {
    min-height: 100vh !important;
    min-height: 100svh !important;
  }

  body.home #section3,
  body.home #section10,
  body.home #rh-footer,
  body.jh-home.jh-home-static #rh-footer,
  body.jh-home.jh-home-static #rh-footer .fp-tableCell {
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    background-color: #0c0b1a !important;
  }

  body.home #fullpage,
  body.jh-home.jh-home-static #fullpage,
  body.home #fullpage.fullpage-wrapper {
    height: auto !important;
    min-height: 0 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -ms-touch-action: auto !important;
    touch-action: auto !important;
  }

  body.home .page-content {
    height: auto !important;
  }
}

/* ========== 단지설계 (/complex/design) ========== */
.richell-design {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 3rem;
  color: #11284e;
}

.richell-design__intro {
  position: relative;
  z-index: auto;
  text-align: center;
  margin-bottom: 2.75rem;
}

.richell-design__eyebrow {
  margin: 0 0 0.75rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(17, 40, 78, 0.55);
}

.richell-design__intro h3 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.625rem, 3vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.4;
  word-break: keep-all;
  color: #11284e;
}

.richell-design__lead {
  margin: 1.25rem auto 0;
  max-width: 42rem;
  font-size: 0.975rem;
  line-height: 1.85;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(17, 40, 78, 0.72);
}

.richell-design__hero {
  position: relative;
  margin: 0 0 1rem;
  overflow: hidden;
  background: #e8edf2;
}

.richell-design__hero img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 9;
  -o-object-fit: cover;
  object-fit: cover;
}

.richell-design__hero::after,
.richell-design__grid li::after {
  content: "\C774\BBF8\C9C0\CEF7";
  font-family: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  position: absolute;
  right: 0.55rem;
  bottom: 0.45rem;
  z-index: 3;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

.richell-design__hero figcaption {
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
  z-index: 2;
  margin: 0;
  padding: 0.7rem 1.15rem;
  background: rgba(17, 40, 78, 0.78);
  color: #fff;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.14em;
  line-height: 1;
}

.richell-design__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  list-style: none;
  margin: 0 0 3rem;
  padding: 0;
}

.richell-design__grid li {
  position: relative;
  overflow: hidden;
  background: #e8edf2;
}

.richell-design__grid img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 16 / 10;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  -o-transition: transform 0.6s ease;
  transition: transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
}

.richell-design__grid li:hover img {
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
}

.richell-design__grid span {
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
  z-index: 2;
  padding: 0.55rem 0.9rem;
  background: rgba(17, 40, 78, 0.72);
  color: #fff;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  line-height: 1;
}

.richell-design__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem 2.5rem;
}

.richell-design__list li {
  position: relative;
  padding-left: 1rem;
  border-left: 2px solid #11284e;
}

.richell-design__list strong {
  display: block;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.875rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #11284e;
}

.richell-design__list p {
  margin: 0.45rem 0 0;
  font-size: 0.9rem;
  line-height: 1.65;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(17, 40, 78, 0.72);
}

@media (max-width: 767px) {
  .richell-design__intro {
    margin-bottom: 2rem;
    text-align: left;
  }

  .richell-design__lead {
    margin-left: 0;
    margin-right: 0;
  }

  .richell-design__lead .pc {
    display: none;
  }

  .richell-design__grid {
    grid-template-columns: 1fr;
    gap: 0.75rem;
    margin-bottom: 2.25rem;
  }

  .richell-design__list {
    grid-template-columns: 1fr;
    gap: 1.35rem;
  }

  .richell-design__hero figcaption,
  .richell-design__grid span {
    font-size: 0.625rem;
    padding: 0.5rem 0.75rem;
  }
}

/* 단지설계 — 등장 모션 */
.richell-design [data-reveal] {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.75rem, 0);
  -ms-transform: translate3d(0, 1.75rem, 0);
  transform: translate3d(0, 1.75rem, 0);
  -webkit-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: var(--reveal-delay, 0s);
  -o-transition-delay: var(--reveal-delay, 0s);
  transition-delay: var(--reveal-delay, 0s);
}

.richell-design .is-inview [data-reveal],
.richell-design [data-reveal].is-inview {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.richell-design__hero img {
  -webkit-transform: scale(1.06);
  -ms-transform: scale(1.06);
  transform: scale(1.06);
  -webkit-transition: -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-design__hero.is-inview img {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

@media (prefers-reduced-motion: reduce) {
  .richell-design [data-reveal],
  .richell-design__hero img {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

/* ========== 커뮤니티 (/complex/community) ========== */
.richell-community {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 3rem;
  color: #11284e;
  text-align: left;
}

.richell-community__intro {
  margin-bottom: 2.75rem;
}

.richell-community__eyebrow {
  margin: 0 0 0.75rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(17, 40, 78, 0.55);
}

.richell-community__intro h3 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.75rem, 3.2vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.35;
  word-break: keep-all;
  color: #11284e;
}

.richell-community__lead {
  margin: 1.25rem 0 0;
  max-width: 40rem;
  font-size: 0.975rem;
  line-height: 1.85;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(17, 40, 78, 0.72);
}

.richell-community__gallery {
  display: grid;
  grid-template-columns: 1.15fr 1fr;
  gap: 0.75rem;
  margin-bottom: 3rem;
}

.richell-community__feature {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #e8edf2;
  min-height: 100%;
}

.richell-community__feature::after,
.richell-community__thumbs li::after {
  content: "\C774\BBF8\C9C0\CEF7";
  font-family: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  position: absolute;
  right: 0.55rem;
  bottom: 0.45rem;
  z-index: 3;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

.richell-community__feature img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 28rem;
  -o-object-fit: cover;
  object-fit: cover;
}

.richell-community__feature figcaption,
.richell-community__thumbs span {
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
  z-index: 2;
  margin: 0;
  padding: 0.55rem 0.9rem;
  background: rgba(17, 40, 78, 0.75);
  color: #fff;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.6875rem;
  letter-spacing: 0.12em;
  line-height: 1;
}

.richell-community__thumbs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-rows: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
}

.richell-community__thumbs li {
  position: relative;
  overflow: hidden;
  background: #e8edf2;
  min-height: 8.5rem;
}

.richell-community__thumbs img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 8.5rem;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: -webkit-transform 0.6s ease;
  transition: -webkit-transform 0.6s ease;
  -o-transition: transform 0.6s ease;
  transition: transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
  transition:
    transform 0.6s ease,
    -webkit-transform 0.6s ease;
}

.richell-community__feature:hover img,
.richell-community__thumbs li:hover img {
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
}

.richell-community__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.75rem 3rem;
}

.richell-community__list li {
  padding-left: 1rem;
  border-left: 2px solid #11284e;
}

.richell-community__list strong {
  display: block;
  font-family: "Nanum Myeongjo", serif;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: #11284e;
}

.richell-community__list p {
  margin: 0.5rem 0 0;
  font-size: 0.9rem;
  line-height: 1.65;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(17, 40, 78, 0.72);
}

@media (max-width: 900px) {
  .richell-community__gallery {
    grid-template-columns: 1fr;
  }

  .richell-community__feature img {
    min-height: 16rem;
    aspect-ratio: 16 / 10;
  }

  .richell-community__thumbs {
    grid-template-columns: 1fr;
    grid-template-rows: none;
  }
}

@media (max-width: 767px) {
  .richell-community__list {
    grid-template-columns: 1fr;
    gap: 1.35rem;
  }

  .richell-community__feature figcaption,
  .richell-community__thumbs span {
    font-size: 0.625rem;
    padding: 0.5rem 0.75rem;
  }
}

/* 커뮤니티 — 등장 모션 */
.richell-community [data-reveal] {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.75rem, 0);
  -ms-transform: translate3d(0, 1.75rem, 0);
  transform: translate3d(0, 1.75rem, 0);
  -webkit-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: var(--reveal-delay, 0s);
  -o-transition-delay: var(--reveal-delay, 0s);
  transition-delay: var(--reveal-delay, 0s);
}

.richell-community .is-inview [data-reveal],
.richell-community [data-reveal].is-inview {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

.richell-community__feature img {
  -webkit-transform: scale(1.06);
  -ms-transform: scale(1.06);
  transform: scale(1.06);
  -webkit-transition: -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.4s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.4s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-community__gallery.is-inview .richell-community__feature img {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.richell-community__gallery.is-inview .richell-community__feature:hover img,
.richell-community__gallery.is-inview .richell-community__thumbs li:hover img {
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
}

@media (prefers-reduced-motion: reduce) {
  .richell-community [data-reveal],
  .richell-community__feature img {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

/* ========== 프리미엄 (/business/premium) ========== */
.richell-premium {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 3rem;
  color: #11284e;
  text-align: left;
}

.richell-premium__eyebrow {
  margin: 0 0 0.75rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(17, 40, 78, 0.55);
}

.richell-premium__hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 3rem;
  background: #0d1a2e;
}

.richell-premium__hero-visual {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.richell-premium__hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
  -webkit-transition: -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-premium__hero.is-inview .richell-premium__hero-visual img {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.richell-premium__hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    -o-linear-gradient(
      left,
      rgba(8, 16, 30, 0.72) 0%,
      rgba(8, 16, 30, 0.35) 48%,
      rgba(8, 16, 30, 0.18) 100%
    ),
    -o-linear-gradient(bottom, rgba(8, 16, 30, 0.45) 0%, transparent 45%);
  background:
    -webkit-gradient(
      linear,
      left top,
      right top,
      from(rgba(8, 16, 30, 0.72)),
      color-stop(48%, rgba(8, 16, 30, 0.35)),
      to(rgba(8, 16, 30, 0.18))
    ),
    -webkit-gradient(
        linear,
        left bottom,
        left top,
        from(rgba(8, 16, 30, 0.45)),
        color-stop(45%, transparent)
      );
  background:
    linear-gradient(
      90deg,
      rgba(8, 16, 30, 0.72) 0%,
      rgba(8, 16, 30, 0.35) 48%,
      rgba(8, 16, 30, 0.18) 100%
    ),
    linear-gradient(0deg, rgba(8, 16, 30, 0.45) 0%, transparent 45%);
}

.richell-premium__hero-copy {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  max-width: 34rem;
  padding: 2.5rem 2rem 2.75rem;
  color: #f7f3ea;
}

.richell-premium__hero-copy .richell-premium__eyebrow {
  color: rgba(232, 214, 178, 0.85);
}

.richell-premium__hero-copy h3 {
  margin: 0;
  font-family: "Noto Sans KR", sans-serif;
  font-size: clamp(1.75rem, 3.4vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.35;
  word-break: keep-all;
  color: #fff;
}

.richell-premium__hero-copy > p {
  margin: 1rem 0 0;
  font-size: 0.975rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(247, 243, 234, 0.82);
}

.richell-premium__stats {
  margin-bottom: 4rem;
}

.richell-premium__stats ul {
  list-style: none;
  margin: 0;
  padding: 1.75rem 1.25rem;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  background: #f4f6f9;
  border: 1px solid #e6ebf1;
}

.richell-premium__stats li {
  text-align: center;
  padding: 0.5rem;
}

.richell-premium__stats em {
  display: block;
  font-family: "Noto Sans KR", sans-serif;
  font-style: normal;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
  color: #11284e;
}

.richell-premium__stats span {
  display: block;
  margin-top: 0.4rem;
  font-size: 0.875rem;
  letter-spacing: -0.02em;
  color: rgba(17, 40, 78, 0.62);
}

.richell-premium__section-head {
  margin-bottom: 2.5rem;
}

.richell-premium__section-head h3 {
  margin: 0;
  font-family: "Noto Sans KR", sans-serif;
  font-size: clamp(1.625rem, 3vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.35;
  word-break: keep-all;
}

.richell-premium__section-head > p:last-child {
  margin: 0.85rem 0 0;
  font-size: 0.975rem;
  line-height: 1.7;
  color: rgba(17, 40, 78, 0.7);
}

.richell-premium__points {
  display: grid;
  gap: 3.5rem;
  margin-bottom: 4.5rem;
}

.richell-premium__point {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
}

.richell-premium__point.is-reverse {
  direction: rtl;
}

.richell-premium__point.is-reverse > * {
  direction: ltr;
}

.richell-premium__point figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #e8edf2;
}

.richell-premium__point figure::after {
  content: "\C774\BBF8\C9C0\CEF7";
  font-family: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  position: absolute;
  right: 0.55rem;
  bottom: 0.45rem;
  z-index: 3;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

.richell-premium__point img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-premium__point:hover img {
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
}

.richell-premium__point figcaption {
  position: absolute;
  left: 0;
  right: auto;
  bottom: 0;
  z-index: 2;
  margin: 0;
  padding: 0.55rem 0.9rem;
  background: rgba(17, 40, 78, 0.78);
  color: #fff;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.6875rem;
  letter-spacing: 0.14em;
  line-height: 1;
}

.richell-premium__point-cat {
  margin: 0 0 0.45rem;
  font-size: 0.8125rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #b08d5b;
}

.richell-premium__point h4 {
  margin: 0;
  font-family: "Noto Sans KR", sans-serif;
  font-size: clamp(1.25rem, 2.2vw, 1.625rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.35;
  word-break: keep-all;
}

.richell-premium__point div > p:last-child {
  margin: 0.9rem 0 0;
  font-size: 0.975rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(17, 40, 78, 0.72);
}

.richell-premium__life {
  margin-bottom: 4rem;
}

.richell-premium__gallery {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.richell-premium__gallery li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  background: transparent;
}

.richell-premium__gallery figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #e8edf2;
}

.richell-premium__gallery figure::after {
  content: "\C774\BBF8\C9C0\CEF7";
  font-family: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  position: absolute;
  right: 0.55rem;
  bottom: 0.45rem;
  z-index: 2;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

.richell-premium__gallery img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 5;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: -webkit-transform 0.7s ease;
  transition: -webkit-transform 0.7s ease;
  -o-transition: transform 0.7s ease;
  transition: transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
}

.richell-premium__gallery li:hover img {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.richell-premium__gallery span {
  display: block;
  margin-top: 0.55rem;
  padding: 0;
  color: #11284e;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.35;
  text-align: left;
}

.richell-premium__links {
  padding: 2.5rem 2rem;
  background: #11284e;
  color: #fff;
  text-align: center;
}

.richell-premium__links .richell-premium__eyebrow {
  color: rgba(232, 214, 178, 0.8);
}

.richell-premium__links h3 {
  margin: 0 0 1.5rem;
  font-family: "Noto Sans KR", sans-serif;
  font-size: clamp(1.375rem, 2.4vw, 1.875rem);
  font-weight: 700;
  letter-spacing: -0.03em;
}

.richell-premium__links ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 0.75rem;
}

.richell-premium__links a {
  display: inline-block;
  min-width: 8.5rem;
  padding: 0.85rem 1.25rem;
  border: 1px solid rgba(255, 255, 255, 0.35);
  color: #fff;
  text-decoration: none;
  font-size: 0.9rem;
  letter-spacing: -0.02em;
  -webkit-transition:
    background-color 0.25s ease,
    border-color 0.25s ease;
  -o-transition:
    background-color 0.25s ease,
    border-color 0.25s ease;
  transition:
    background-color 0.25s ease,
    border-color 0.25s ease;
}

.richell-premium__links a:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.7);
}

.richell-premium [data-reveal] {
  opacity: 0;
  -webkit-transform: translate3d(0, 3.6rem, 0) scale(0.94);
  -ms-transform: translate3d(0, 3.6rem, 0) scale(0.94);
  transform: translate3d(0, 3.6rem, 0) scale(0.94);
  -webkit-transition:
    opacity 1.15s cubic-bezier(0.16, 1, 0.3, 1),
    -webkit-transform 1.15s cubic-bezier(0.16, 1, 0.3, 1);
  transition:
    opacity 1.15s cubic-bezier(0.16, 1, 0.3, 1),
    transform 1.15s cubic-bezier(0.16, 1, 0.3, 1);
  -webkit-transition-delay: var(--reveal-delay, 0s);
  -o-transition-delay: var(--reveal-delay, 0s);
  transition-delay: var(--reveal-delay, 0s);
}

.richell-premium .richell-premium__point[data-reveal] {
  -webkit-transform: translate3d(-2.4rem, 3.2rem, 0) scale(0.94);
  -ms-transform: translate3d(-2.4rem, 3.2rem, 0) scale(0.94);
  transform: translate3d(-2.4rem, 3.2rem, 0) scale(0.94);
}

.richell-premium .richell-premium__point.is-reverse[data-reveal] {
  -webkit-transform: translate3d(2.4rem, 3.2rem, 0) scale(0.94);
  -ms-transform: translate3d(2.4rem, 3.2rem, 0) scale(0.94);
  transform: translate3d(2.4rem, 3.2rem, 0) scale(0.94);
}

.richell-premium .is-inview [data-reveal],
.richell-premium [data-reveal].is-inview {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

@media (max-width: 900px) {
  .richell-premium__stats ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .richell-premium__point,
  .richell-premium__point.is-reverse {
    grid-template-columns: 1fr;
    direction: ltr;
    gap: 1.25rem;
  }

  .richell-premium__gallery {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .richell-premium__hero-copy {
    position: relative;
    max-width: none;
    padding: 1.5rem 1.1rem 1.75rem;
    background: #11284e;
  }

  .richell-premium__hero-visual {
    aspect-ratio: 4 / 3;
  }

  .richell-premium__stats ul {
    padding: 1.25rem 0.75rem;
  }

  .richell-premium__gallery {
    grid-template-columns: 1fr 1fr;
  }

  .richell-premium__links {
    padding: 2rem 1.25rem;
  }

  .richell-premium__links a {
    min-width: calc(50% - 0.4rem);
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-premium [data-reveal],
  .richell-premium__hero-visual img,
  .richell-premium__point img,
  .richell-premium__gallery img {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

/* ========== 프리미엄 아이콘 그리드 ========== */
.richell-premium.jh-prem {
  max-width: 1180px;
  color: #11284e;
}

.jh-prem-sevens {
  margin: 0 0 clamp(4.5rem, 9vw, 7rem);
}

.jh-prem-sevens__head,
.jh-prem .richell-premium__section-head {
  margin-bottom: 2.6rem;
}

.jh-prem-sevens__head h3,
.jh-prem .richell-premium__section-head h3,
.jh-prem-intro h3,
.jh-prem-close h3 {
  margin: 0;
  font-family: "Noto Sans KR", sans-serif;
  font-size: clamp(2rem, 3.6vw, 2.75rem);
  font-weight: 700;
  letter-spacing: -0.045em;
  line-height: 1.3;
  word-break: keep-all;
  color: #11284e;
}

.jh-prem .richell-premium__eyebrow {
  font-family: "futura", "DEFINE", "Noto Sans KR", sans-serif;
  font-size: 0.92rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #b08d5b;
}

.jh-prem .richell-premium__eyebrow::after {
  content: "";
  display: block;
  width: 2.4rem;
  height: 1px;
  margin-top: 0.85rem;
  background: #b08d5b;
}

.jh-prem-sevens ul {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 1rem;
  margin: 0;
  padding: 0;
}

.jh-prem-sevens li {
  position: relative;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  min-width: 0;
  grid-column: span 3;
  padding: 2.35rem 1.15rem 2.1rem;
  background: #f8f5ef;
  box-shadow: inset 0 0 0 1px rgba(176, 141, 91, 0.32);
  text-align: center;
  transition:
    box-shadow 0.35s ease,
    transform 0.35s ease,
    background 0.35s ease;
}

.jh-prem-sevens li::before {
  content: "";
  position: absolute;
  inset: 0.5rem;
  border: 1px solid rgba(176, 141, 91, 0.16);
  pointer-events: none;
}

.jh-prem-sevens li:nth-child(5) {
  grid-column: 1 / 5;
}

.jh-prem-sevens li:nth-child(6) {
  grid-column: 5 / 9;
}

.jh-prem-sevens li:nth-child(7) {
  grid-column: 9 / 13;
}

.jh-prem-sevens li:hover {
  background: #fffdf8;
  box-shadow:
    inset 0 0 0 1px rgba(176, 141, 91, 0.55),
    0 18px 36px rgba(17, 40, 78, 0.08);
  transform: translateY(-4px);
}

.jh-prem-sevens__no {
  position: absolute;
  top: 1rem;
  left: 1.1rem;
  z-index: 1;
  font-family: "futura", "DEFINE", "Noto Sans KR", sans-serif;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  color: #b08d5b;
}

.jh-prem-sevens__icon {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.7rem;
  height: 4.7rem;
  margin: 0.2rem auto 1.15rem;
  border: 1px solid rgba(176, 141, 91, 0.5);
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.55);
}

.jh-prem-sevens__icon img {
  display: block;
  width: 2.2rem;
  height: 2.2rem;
  object-fit: contain;
}

.jh-prem-sevens h4 {
  margin: 0;
  font-family: "Noto Sans KR", sans-serif;
  font-size: clamp(1.22rem, 1.65vw, 1.48rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.4;
  color: #11284e;
  word-break: keep-all;
}

.jh-prem .richell-premium__points {
  gap: 4.5rem;
  margin-bottom: 4.5rem;
}

.jh-prem .richell-premium__point figure::after {
  content: "\C774\BBF8\C9C0\CEF7";
  font-family: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  right: 0.7rem;
  bottom: 0.55rem;
  z-index: 3;
  padding: 0.28rem 0.5rem;
  background: rgba(17, 40, 78, 0.72);
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
  color: #fff;
  text-shadow: none;
}

.jh-prem .richell-premium__point figure {
  background: #ece8e1;
}

.jh-prem .richell-premium__point figcaption {
  left: 1.1rem;
  bottom: 1.05rem;
  padding: 0;
  background: none;
  font-family: "futura", "DEFINE", "Noto Sans KR", sans-serif;
  font-size: 0.7rem;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: #f4efe4;
  text-shadow: 0 1px 8px rgba(0, 0, 0, 0.45);
}

.jh-prem-ico {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 4.35rem;
  height: 4.35rem;
  margin: 0 0 1.2rem;
  border: 1px solid rgba(176, 141, 91, 0.5);
  border-radius: 50%;
  background: #f8f5ef;
  box-shadow: inset 0 0 0 5px rgba(255, 255, 255, 0.65);
  color: #b08d5b;
}

.jh-prem-ico svg {
  display: block;
  width: 2.05rem;
  height: 2.05rem;
}

.jh-prem .richell-premium__point-cat {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  margin: 0 0 0.85rem;
  font-family: "futura", "DEFINE", "Noto Sans KR", sans-serif;
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: #b08d5b;
}

.jh-prem .richell-premium__point-cat span {
  font-size: 0.7rem;
  letter-spacing: 0.22em;
  color: rgba(17, 40, 78, 0.4);
}

.jh-prem .richell-premium__point h4 {
  font-size: clamp(1.7rem, 3vw, 2.2rem);
}

.jh-prem .richell-premium__point div > p:last-child {
  position: relative;
  margin-top: 1.15rem;
  padding-top: 1.1rem;
  font-size: 1rem;
  line-height: 1.9;
  color: #555c68;
}

.jh-prem .richell-premium__point div > p:last-child::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 2.2rem;
  height: 1px;
  background: #b08d5b;
}

.jh-prem-close {
  padding: clamp(3.4rem, 6vw, 5.2rem) clamp(1.5rem, 5vw, 4.5rem);
  background: #11284e;
  color: #f4f1ea;
}

.jh-prem-close .richell-premium__eyebrow {
  color: #d4b57a;
}

.jh-prem-close .richell-premium__eyebrow::after {
  background: #d4b57a;
}

.jh-prem-close h3 {
  color: #f4f1ea;
}

.jh-prem-close h3 em {
  font-style: normal;
  font-weight: 700;
  color: #e8c88a;
}

.jh-prem-intro {
  position: relative;
  max-width: 38rem;
  margin: 0 0 clamp(2.4rem, 5vw, 3.6rem);
  z-index: 1;
}
.jh-prem-intro h3 {
  margin: 0.15rem 0 0;
}
.jh-prem-intro > p:last-child {
  margin: 1.1rem 0 0;
  font-size: 0.98rem;
  line-height: 1.9;
  color: #555c68;
  word-break: keep-all;
}

.jh-prem-sevens a {
  display: block;
  color: inherit;
  text-decoration: none;
}
.jh-prem-sevens__icon svg {
  display: block;
  width: 1.75rem;
  height: 1.75rem;
  color: #b08d5b;
}

.jh-prem-no {
  margin: 0 0 0.15rem;
  font-family: "futura", "DEFINE", "Noto Sans KR", sans-serif;
  font-size: clamp(2.4rem, 4.6vw, 3.4rem);
  font-weight: 700;
  letter-spacing: -0.06em;
  line-height: 0.95;
  color: rgba(176, 141, 91, 0.28);
}

.jh-prem .richell-premium__points {
  gap: 0;
}
.jh-prem .richell-premium__point {
  padding: clamp(2.6rem, 5vw, 4.4rem) 0;
  gap: clamp(1.6rem, 4vw, 3.2rem);
  scroll-margin-top: 6.5rem;
}
.jh-prem .richell-premium__point.is-band {
  padding-left: clamp(1.2rem, 3vw, 2.4rem);
  padding-right: clamp(1.2rem, 3vw, 2.4rem);
  background: #f4f1ea;
}
.jh-prem .richell-premium__point figure {
  box-shadow: 0.9rem 0.9rem 0 #e4ddd0;
}
.jh-prem .richell-premium__point.is-reverse figure {
  box-shadow: -0.9rem 0.9rem 0 #e4ddd0;
}

.jh-prem .richell-premium__point.is-feature {
  display: grid;
  grid-template-columns: 1fr;
  padding: 0;
  overflow: hidden;
  background: #101826;
}
.jh-prem .richell-premium__point.is-feature figure,
.jh-prem .richell-premium__point.is-feature > div {
  grid-area: 1 / 1;
}
.jh-prem .richell-premium__point.is-feature figure {
  box-shadow: none;
  height: 100%;
}
.jh-prem .richell-premium__point.is-feature img {
  aspect-ratio: 16 / 9;
  min-height: 28rem;
  height: 100%;
}
.jh-prem .richell-premium__point.is-feature > div {
  z-index: 1;
  width: min(30rem, 46%);
  align-self: center;
  justify-self: start;
  margin: 3rem 0 3rem 3rem;
  padding: 2.2rem 2rem 2rem;
  background: rgba(255, 255, 255, 0.96);
  border-top: 3px solid #b08d5b;
  box-sizing: border-box;
}
.jh-prem .richell-premium__point.is-feature .jh-prem-no {
  color: rgba(176, 141, 91, 0.5);
}
.jh-prem .richell-premium__point.is-feature .richell-premium__point-cat {
  color: #b08d5b;
}
.jh-prem-close {
  position: relative;
  overflow: hidden;
}
.jh-prem-close::before {
  content: "HEIGHTS";
  position: absolute;
  right: -0.4rem;
  bottom: -1.1rem;
  font-size: clamp(4.5rem, 12vw, 9rem);
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.045);
  pointer-events: none;
}

@media (max-width: 1100px) {
  .jh-prem-sevens ul {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .jh-prem-sevens li,
  .jh-prem-sevens li:nth-child(5),
  .jh-prem-sevens li:nth-child(6),
  .jh-prem-sevens li:nth-child(7) {
    grid-column: auto;
  }
}

@media (max-width: 900px) {
  .jh-prem .richell-premium__point.is-reverse figure {
    box-shadow: 0.6rem 0.6rem 0 #e4ddd0;
  }
  .jh-prem .richell-premium__point.is-feature figure,
  .jh-prem .richell-premium__point.is-feature > div {
    grid-area: auto;
  }
  .jh-prem .richell-premium__point.is-feature > div {
    width: calc(100% - 2rem);
    margin: -2.6rem auto 1.4rem;
    justify-self: center;
    align-self: end;
  }
  .jh-prem .richell-premium__point.is-feature img {
    min-height: 18rem;
  }
}

@media (max-width: 720px) {
  .jh-prem-sevens ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .jh-prem .richell-premium__point,
  .jh-prem .richell-premium__point.is-band {
    padding-left: 0;
    padding-right: 0;
  }
  .jh-prem .richell-premium__point figure,
  .jh-prem .richell-premium__point.is-reverse figure {
    box-shadow: none;
  }
}

@media (max-width: 480px) {
  .jh-prem-sevens ul {
    grid-template-columns: 1fr;
  }
}

/* ========== 시스템 (/complex/system) ========== */
.richell-system {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto 3rem;
  color: #11284e;
  text-align: left;
}

.richell-system__eyebrow {
  margin: 0 0 0.75rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(17, 40, 78, 0.55);
}

.richell-system__en {
  margin: 0 0 0.4rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.16em;
  color: #b08d5b;
}

/* 이미지 우측 하단 — 이미지컷 표기 */
.richell-system__hero-visual::before,
.richell-system__feature figure::after,
.richell-system__cards figure::after,
.richell-system__life-visual > figure::after {
  content: "\C774\BBF8\C9C0\CEF7";
  font-family: "Noto Sans KR", "Apple SD Gothic Neo", sans-serif;
  position: absolute;
  right: 0.55rem;
  bottom: 0.45rem;
  z-index: 4;
  font-size: 0.6875rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
  color: rgba(255, 255, 255, 0.9);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.55);
  pointer-events: none;
}

.richell-system__hero {
  position: relative;
  overflow: hidden;
  margin-bottom: 2.5rem;
  background: #0d1a2e;
}

.richell-system__hero-visual {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 9;
  overflow: hidden;
}

.richell-system__hero-visual img {
  display: block;
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
  -webkit-transition: -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 1.6s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 1.6s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-system__hero.is-inview .richell-system__hero-visual img {
  -webkit-transform: scale(1);
  -ms-transform: scale(1);
  transform: scale(1);
}

.richell-system__hero-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    -o-linear-gradient(
      left,
      rgba(8, 16, 30, 0.76) 0%,
      rgba(8, 16, 30, 0.36) 55%,
      rgba(8, 16, 30, 0.16) 100%
    ),
    -o-linear-gradient(bottom, rgba(8, 16, 30, 0.4) 0%, transparent 42%);
  background:
    -webkit-gradient(
      linear,
      left top,
      right top,
      from(rgba(8, 16, 30, 0.76)),
      color-stop(55%, rgba(8, 16, 30, 0.36)),
      to(rgba(8, 16, 30, 0.16))
    ),
    -webkit-gradient(
        linear,
        left bottom,
        left top,
        from(rgba(8, 16, 30, 0.4)),
        color-stop(42%, transparent)
      );
  background:
    linear-gradient(
      90deg,
      rgba(8, 16, 30, 0.76) 0%,
      rgba(8, 16, 30, 0.36) 55%,
      rgba(8, 16, 30, 0.16) 100%
    ),
    linear-gradient(0deg, rgba(8, 16, 30, 0.4) 0%, transparent 42%);
}

.richell-system__hero-copy {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  max-width: 34rem;
  padding: 2.5rem 2rem 2.75rem;
  color: #f7f3ea;
}

.richell-system__hero-copy .richell-system__eyebrow {
  color: rgba(232, 214, 178, 0.85);
}

.richell-system__hero-copy h3 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.75rem, 3.4vw, 2.5rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.35;
  word-break: keep-all;
  color: #fff;
}

.richell-system__hero-copy > p {
  margin: 1rem 0 0;
  font-size: 0.975rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(247, 243, 234, 0.82);
}

.richell-system__block {
  margin-bottom: 4.5rem;
}

.richell-system__panel-head {
  margin-bottom: 2.75rem;
}

.richell-system__panel-head h3 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.625rem, 3vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.35;
  word-break: keep-all;
}

.richell-system__panel-head > p:last-child {
  margin: 0.95rem 0 0;
  max-width: 40rem;
  font-size: 0.975rem;
  line-height: 1.8;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(17, 40, 78, 0.72);
}

.richell-system__feature {
  display: grid;
  grid-template-columns: 1.05fr 0.95fr;
  gap: 2rem;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 3rem;
}

.richell-system__feature.is-reverse {
  direction: rtl;
}

.richell-system__feature.is-reverse > * {
  direction: ltr;
}

.richell-system__feature figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #e8edf2;
}

.richell-system__feature img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 11;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition: transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    transform 0.8s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.8s cubic-bezier(0.22, 1, 0.36, 1);
}

.richell-system__feature:hover img {
  -webkit-transform: scale(1.04);
  -ms-transform: scale(1.04);
  transform: scale(1.04);
}

.richell-system__feature h4 {
  margin: 0 0 1.1rem;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.25rem, 2.2vw, 1.625rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.35;
}

.richell-system__feature ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.95rem;
}

.richell-system__feature li {
  padding-left: 0.95rem;
  border-left: 2px solid #11284e;
}

.richell-system__feature li strong {
  display: block;
  font-size: 0.975rem;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.richell-system__feature li span {
  display: block;
  margin-top: 0.28rem;
  font-size: 0.9rem;
  line-height: 1.55;
  letter-spacing: -0.02em;
  color: rgba(17, 40, 78, 0.7);
}

.richell-system__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1.25rem;
  max-width: 960px;
  margin: 0 auto 3rem;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}

.richell-system__cards article {
  background: #f4f6f9;
  border: 1px solid #e6ebf1;
  overflow: hidden;
}

.richell-system__cards figure {
  position: relative;
  margin: 0;
  overflow: hidden;
  background: #dde3ea;
}

.richell-system__cards img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: -webkit-transform 0.7s ease;
  transition: -webkit-transform 0.7s ease;
  -o-transition: transform 0.7s ease;
  transition: transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
  transition:
    transform 0.7s ease,
    -webkit-transform 0.7s ease;
}

.richell-system__cards article:hover img {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.richell-system__cards > article > div {
  padding: 1.35rem 1.2rem 1.5rem;
}

.richell-system__cards h4 {
  margin: 0 0 0.9rem;
  font-family: "Nanum Myeongjo", serif;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.4;
  word-break: keep-all;
}

.richell-system__cards ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.richell-system__cards li {
  position: relative;
  padding-left: 0.85rem;
  font-size: 0.875rem;
  line-height: 1.55;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(17, 40, 78, 0.75);
}

.richell-system__cards li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 0.35rem;
  height: 0.35rem;
  border-radius: 50%;
  background: #b08d5b;
}

.richell-system__life-visual {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 0;
  overflow: hidden;
  background: #11284e;
  color: #fff;
}

.richell-system__life-visual > figure {
  position: relative;
  margin: 0;
  min-height: 18rem;
  overflow: hidden;
}

.richell-system__life-visual img {
  display: block;
  width: 100%;
  height: 100%;
  min-height: 18rem;
  -o-object-fit: cover;
  object-fit: cover;
}

.richell-system__life-visual > div {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  padding: 2.25rem 2rem;
}

.richell-system__life-visual .richell-system__eyebrow {
  color: rgba(232, 214, 178, 0.85);
}

.richell-system__life-visual h4 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.25rem, 2.4vw, 1.75rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.4;
  word-break: keep-all;
}

.richell-system__life-visual p:last-child {
  margin: 1rem 0 0;
  font-size: 0.95rem;
  line-height: 1.75;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(255, 255, 255, 0.78);
}

.richell-system [data-reveal] {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.75rem, 0);
  -ms-transform: translate3d(0, 1.75rem, 0);
  transform: translate3d(0, 1.75rem, 0);
  -webkit-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: var(--reveal-delay, 0s);
  -o-transition-delay: var(--reveal-delay, 0s);
  transition-delay: var(--reveal-delay, 0s);
}

.richell-system .is-inview [data-reveal],
.richell-system [data-reveal].is-inview {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

@media (max-width: 900px) {
  .richell-system__feature,
  .richell-system__feature.is-reverse {
    grid-template-columns: 1fr;
    direction: ltr;
    gap: 1.15rem;
  }

  .richell-system__cards {
    grid-template-columns: 1fr;
  }

  .richell-system__life-visual {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  .richell-system__hero-copy {
    position: relative;
    max-width: none;
    padding: 1.5rem 1.1rem 1.75rem;
    background: #11284e;
  }

  .richell-system__hero-visual {
    aspect-ratio: 4 / 3;
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-system [data-reveal],
  .richell-system__hero-visual img,
  .richell-system__feature img,
  .richell-system__cards img {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

/* ========== e모델하우스 (/product/vr) ========== */
.richell-vr {
  max-width: 1100px;
  margin: 0 auto;
}

.richell-vr__toolbar {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 1.25rem;
}

.richell-vr__tabs,
.richell-vr .tabs2 {
  max-width: 220px;
  margin: 0;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
}

.richell-vr .tabs2 li {
  margin-left: 0 !important;
}

.richell-vr__finish {
  display: inline-block;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-left: auto;
  padding: 0.65rem 1.15rem;
  background: #11284e;
  color: #fff !important;
  font-size: 0.8125rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1;
  text-decoration: none !important;
  white-space: nowrap;
  -webkit-transition:
    background 0.25s ease,
    -webkit-transform 0.25s ease;
  transition:
    background 0.25s ease,
    transform 0.25s ease;
}

.richell-vr__finish:hover {
  background: #1a3a6b;
  -webkit-transform: translateY(-1px);
  transform: translateY(-1px);
}

.richell-vr__viewer {
  position: relative;
  width: 100%;
  margin: 0 auto 2rem;
  overflow: hidden;
  background: #0d1a2e;
  aspect-ratio: 16 / 9;
  max-height: min(70vh, 629px);
}

.richell-vr__viewer iframe {
  display: block;
  width: 100%;
  height: 100%;
  border: 0;
  background: #000;
}

.richell-vr__expand {
  position: absolute;
  top: 0.85rem;
  right: 0.1rem;
  z-index: 2;
  display: inline-block;
  padding: 0.55rem 0.9rem;
  background: rgba(17, 40, 78, 0.88);
  color: #fff !important;
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1;
  text-decoration: none !important;
  -webkit-transition: background 0.25s ease;
  -o-transition: background 0.25s ease;
  transition: background 0.25s ease;
}

.richell-vr__expand:hover {
  background: #11284e;
}

@media (max-width: 767px) {
  .richell-vr__toolbar {
    gap: 0.75rem;
    margin-bottom: 1rem;
  }

  .richell-vr .tabs2,
  .richell-vr__tabs {
    max-width: none;
    width: auto;
    -webkit-box-flex: 1;
    -ms-flex: 1 1 auto;
    flex: 1 1 auto;
  }

  .richell-vr__finish {
    padding: 0.6rem 0.9rem;
    font-size: 0.75rem;
  }

  .richell-vr__viewer {
    aspect-ratio: 4 / 3;
    max-height: none;
    min-height: 18rem;
  }

  .richell-vr__expand {
    top: 0.65rem;
    right: 0.1rem;
    padding: 0.5rem 0.75rem;
    font-size: 0.6875rem;
  }
}

/* ===== 특별공급 HTML 표 ===== */
.richell-special-wrap,
.richell-special-wrap #t-container2 {
  max-width: 1100px;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.richell-special-wrap .tabcontents,
.richell-special-wrap .richell-special {
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.richell-special {
  text-align: left;
  color: #222;
  font-size: 1.12rem;
  line-height: 1.55;
}

/* 공고문 강조: 파란 진하게(strong) / 검정 진하게(.is-dark) */
.richell-special strong {
  font-weight: 700;
  color: #1a4a9c;
}
.richell-special strong.is-dark {
  color: #111;
}
.richell-special .is-pct {
  font-weight: 700;
  color: #1a4a9c;
}

.richell-special__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 0.85rem;
  border-bottom: 2px solid #11284e;
}

.richell-special__head h3 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: 1.7rem;
  font-weight: 700;
  color: #11284e;
  letter-spacing: -0.02em;
}

.richell-special__brand {
  margin: 0;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.92rem;
  letter-spacing: 0.04em;
  color: #11284e;
  opacity: 0.75;
  white-space: nowrap;
}

.richell-special__notice {
  margin: 0 0 1.25rem;
  padding: 1.05rem 1.2rem;
  background: #f4f6f9;
  border-left: 3px solid #11284e;
  font-size: 1.05rem;
  line-height: 1.55;
  color: #444;
}

.richell-special__notice p {
  margin: 0;
}

.richell-special__notice p + p {
  margin-top: 0.45rem;
}

.richell-special__supply {
  margin: 0 0 1rem;
  font-size: 0.875rem;
  line-height: 1.55;
  letter-spacing: -0.02em;
  color: #344054;
}

.richell-special-wrap ul.tabs2.richell-special-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.4%;
}

.richell-special-wrap ul.tabs2.richell-special-tabs li {
  width: calc(14.285% - 0.35%);
  margin-left: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

@media all and (max-width: 767px) {
  .richell-special-wrap ul.tabs2.richell-special-tabs li {
    width: calc(50% - 0.7%);
    margin-bottom: 1%;
  }
}

/* ■·•·※·- 목록: 행걸이(2줄부터 글자 시작선 정렬) + 기호 간격은 en-space */
.richell-special__table ul.richell-special__list,
.richell-special ul.richell-special__list,
.richell-special ul.richell-special__notes {
  list-style: none;
  margin: 0;
  padding-left: 0;
  max-width: 100%;
}

.richell-special__list > li,
.richell-special__notes > li,
.richell-special__list ul > li,
.richell-special__notes ul > li {
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-break: break-word;
  line-height: 1.5;
  letter-spacing: 0;
}

/* ■·※ 등 넓은 기호 */
.richell-special__list > li,
.richell-special__notes > li {
  padding-left: 1.45em;
  text-indent: -1.45em;
}

/* - 기호는 좁아서 행걸이를 작게 (같으면 2줄째가 과하게 밀림) */
.richell-special__list ul > li,
.richell-special__notes ul > li,
.richell-special__list > li.is-sub,
.richell-special__notes > li.is-sub {
  padding-left: 0.95em;
  text-indent: -0.95em;
}

.richell-special__list > li + li,
.richell-special__notes > li + li {
  margin-top: 0.5rem;
}

/* 하위 ul: 살짝만 들여쓰고, 부모 행걸이 영향 차단 */
.richell-special__table ul.richell-special__list ul,
.richell-special__list ul,
.richell-special__notes ul {
  list-style: none;
  margin: 0.3rem 0 0.1rem;
  padding-left: 0;
  text-indent: 0;
  max-width: 100%;
}
.richell-special__list > li > ul,
.richell-special__notes > li > ul {
  text-indent: 0;
  /* 부모 li content box가 이미 본문 시작선이므로 추가 margin 없이 살짝만 */
  margin-left: 0;
  padding-left: 0.55em;
}

/* 같은 단계(-)끼리 정렬: 최상위 ul의 직계 is-sub만 살짝 들여쓰기 */
.richell-special__list > li.is-sub,
.richell-special__notes > li.is-sub {
  margin-left: 0.55em;
}
.richell-special__list ul > li.is-sub,
.richell-special__notes ul > li.is-sub {
  margin-left: 0;
}

.richell-special__box {
  margin: 0.55rem 0;
  padding: 0.7rem 0.85rem;
  border: 1px solid #c9d0da;
  background: #fafbfc;
  font-size: 0.98em;
  text-indent: 0;
}
.richell-special__box p {
  margin: 0 0 0.35rem;
}

.richell-special__h4 {
  margin: 2rem 0 0.75rem;
  font-family: "Nanum Myeongjo", serif;
  font-size: 1.28rem;
  color: #11284e;
  font-weight: 700;
}

.richell-special__scroll {
  width: 100%;
  max-width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.richell-special__table {
  width: 100%;
  max-width: 100%;
  border-collapse: collapse;
  border: 1px solid #cfd6e0;
  background: #fff;
  table-layout: fixed;
}

.richell-special__table th,
.richell-special__table td {
  border: 1px solid #cfd6e0;
  padding: 1.1rem 1.15rem;
  vertical-align: top;
  text-align: left;
  word-break: keep-all;
  overflow-wrap: break-word;
  line-height: 1.08;
  letter-spacing: -0.01em;
  font-size: 1.1rem;
}

/* 헤더: 가운데 */
.richell-special__table thead th {
  background: #11284e;
  color: #fff;
  font-weight: 600;
  text-align: center;
  vertical-align: middle;
  padding: 0.85rem 0.75rem;
  line-height: 1.05;
}

/* 메인 표 좌측 구분 셀: 가운데 + 세로 중앙 */
.richell-special__table--main > tbody > tr > th {
  background: #eef2f7;
  color: #11284e;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
  padding: 1.1rem 0.65rem;
  line-height: 1.05;
}

/* 메인 표 내용 셀: 좌측, 여유 패딩 — 고정 레이아웃에서 내용 넘침 방지 */
.richell-special__table--main > tbody > tr > td {
  text-align: left;
  vertical-align: top;
  padding: 1.1rem 1.15rem 1.2rem;
  min-width: 0;
  max-width: 100%;
  overflow-x: hidden;
  overflow-wrap: break-word;
  word-break: break-word;
}

.richell-special__table--main .richell-special__scroll {
  max-width: 100%;
  min-width: 0;
}
.richell-special__table--main
  .richell-special__scroll
  > .richell-special__table--inner {
  /* 안쪽 표는 가로 스크롤 허용 — 본문 목록 넘침과 분리 */
  overflow-x: visible;
}

.richell-special__table tbody > tr > th {
  background: #eef2f7;
  color: #11284e;
  font-weight: 700;
}

.richell-special__table--inner {
  margin: 0.85rem 0 0.35rem;
  table-layout: auto;
  width: 100%;
}

/* 표 바로 위 제목 — 위(본문)와는 띄우고, 아래(표)에는 붙임 */
.richell-special__caption {
  margin: 1.1rem 0 0.25rem;
  line-height: 1.4;
}
.richell-special__caption
  + .richell-special__scroll
  > .richell-special__table--inner,
.richell-special__caption + .richell-special__scroll > .richell-special__table {
  margin-top: 0.2rem;
}

.richell-special__table--inner thead th {
  background: #3a5278;
  font-size: 1.02rem;
  text-align: center;
  vertical-align: middle;
  padding: 0.8rem 0.6rem;
}

/* 내부 표: 항목명 가운데, 기준/비고 좌측, 숫자 가운데 */
.richell-special__table--inner > tbody > tr > th {
  text-align: center;
  vertical-align: middle;
  padding: 0.85rem 0.6rem;
  line-height: 1.05;
  font-size: 1.05rem;
}

.richell-special__table--inner > tbody > tr > td {
  text-align: left;
  vertical-align: middle;
  padding: 0.85rem 0.8rem;
  line-height: 1.05;
  font-size: 1.05rem;
}

.richell-special__table--income {
  width: 100%;
  min-width: 0;
  font-size: 1rem;
  table-layout: fixed;
}

.richell-special__table--income thead th {
  text-align: center;
  vertical-align: middle;
  padding: 0.8rem 0.45rem;
  line-height: 1.05;
}

.richell-special__table--income tbody > tr > th {
  text-align: center;
  vertical-align: middle;
  padding: 0.8rem 0.55rem;
  font-size: 0.98rem;
  word-break: keep-all;
  line-height: 1.05;
}

.richell-special__table--income tbody > tr > td {
  text-align: center;
  vertical-align: middle;
  padding: 0.8rem 0.45rem;
  font-size: 0.95rem;
  word-break: keep-all;
  line-height: 1.05;
}

.richell-special__table--income tbody > tr > td:first-child {
  text-align: left;
  padding-left: 0.7rem;
}

.richell-special__table ul {
  margin: 0;
  padding-left: 1.15rem;
  line-height: 1.08;
}

/* 서류 표: 목록/텍스트/발급처 셀 시작 여백 통일 */
.richell-special__docs {
  table-layout: fixed;
  width: 100%;
}
.richell-special__docs > tbody > tr > th,
.richell-special__docs > tbody > tr > td {
  vertical-align: top;
  text-align: left;
  padding: 0.85rem 1rem;
}
.richell-special__docs > thead > tr > th:last-child,
.richell-special__docs > tbody > tr > td:last-child {
  padding-left: 0.75rem;
  padding-right: 0.75rem;
}
.richell-special__docs
  ul:not(.richell-special__list):not(.richell-special__notes) {
  list-style: none;
  margin: 0;
  padding-left: 0;
}
.richell-special__docs
  ul:not(.richell-special__list):not(.richell-special__notes)
  > li {
  position: relative;
  margin: 0.28rem 0 0;
  padding: 0 0 0 0.85em;
  text-indent: 0;
  line-height: 1.45;
  letter-spacing: 0;
}
.richell-special__docs
  ul:not(.richell-special__list):not(.richell-special__notes)
  > li:first-child {
  margin-top: 0;
}
.richell-special__docs
  ul:not(.richell-special__list):not(.richell-special__notes)
  > li::before {
  content: "·";
  position: absolute;
  left: 0;
  top: 0;
  width: 0.85em;
  text-indent: 0;
  font-weight: 700;
  line-height: inherit;
}
/* ※ 안내는 불릿 없이 본문과 같은 시작선 */
.richell-special__docs ul > li.is-note {
  padding-left: 0;
  margin-top: 0.4rem;
}
.richell-special__docs ul > li.is-note::before {
  content: none;
}

.richell-special__table ul.richell-special__list,
.richell-special__table ul.richell-special__notes {
  padding-left: 0;
  line-height: 1.5;
}

.richell-special__table ul ul {
  margin-top: 0.2rem;
  margin-bottom: 0.1rem;
  padding-left: 1rem;
}

.richell-special__table ul.richell-special__list ul,
.richell-special__table ul.richell-special__notes ul {
  padding-left: 0.55em;
}

.richell-special__table li {
  margin: 0;
  padding: 0;
}

/* 행걸이: padding 리셋 이후에 재적용 (text-indent만 남으면 셀 밖으로 넘침) */
.richell-special__table ul.richell-special__list > li,
.richell-special__table ul.richell-special__notes > li {
  padding-left: 1.45em;
  text-indent: -1.45em;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-break: break-word;
  line-height: 1.5;
  letter-spacing: 0;
}
.richell-special__table ul.richell-special__list ul > li,
.richell-special__table ul.richell-special__notes ul > li,
.richell-special__table ul.richell-special__list > li.is-sub,
.richell-special__table ul.richell-special__notes > li.is-sub {
  padding-left: 0.95em;
  text-indent: -0.95em;
  max-width: 100%;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow-wrap: break-word;
  word-break: break-word;
  line-height: 1.5;
  letter-spacing: 0;
}

.richell-special__table li + li {
  margin-top: 0.2rem;
}

.richell-special__table ul.richell-special__list > li + li,
.richell-special__table ul.richell-special__notes > li + li {
  margin-top: 0.5rem;
}

.richell-special__table ul ul li + li {
  margin-top: 0.12rem;
}

.richell-special__table p {
  margin: 0 0 0.35rem;
  line-height: 1.08;
}

.richell-special__table p:last-child {
  margin-bottom: 0;
}

.richell-special__notes {
  margin: 0.9rem 0 0;
  padding-left: 0;
  font-size: 1.02rem;
  color: #555;
  line-height: 1.55;
}

.richell-special__notes > li + li {
  margin-top: 0.4rem;
}

.richell-special__notes ul > li + li,
.richell-special__list ul > li + li {
  margin-top: 0.28rem;
}

.richell-special__note {
  margin: 0.65rem 0 0;
  font-size: 1.02rem;
  color: #555;
  line-height: 1.5;
}

/* 숫자·배점·비율 등 */
.richell-special .is-center {
  text-align: center !important;
  vertical-align: middle !important;
  white-space: nowrap;
}

/* 일반공급·노부모부양 가점표 — 가점구분 가운데 정렬 */
.richell-special__table--score > tbody > tr > td:not(.is-center) {
  text-align: center;
  vertical-align: middle;
}

.richell-special-wrap .subpage-notes {
  margin-top: 1.5rem;
}

.richell-special-wrap .subpage-notes ul {
  line-height: 1.5;
}

.richell-special-wrap .subpage-notes li + li {
  margin-top: 0.4rem;
}

@media (max-width: 900px) {
  .richell-special__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }

  .richell-special__head h3 {
    font-size: 1.4rem;
  }

  .richell-special__table th,
  .richell-special__table td {
    padding: 0.85rem 0.8rem;
    font-size: 1.02rem;
    line-height: 1.05;
  }

  .richell-special__table--main > tbody > tr > th {
    padding: 0.85rem 0.45rem;
  }

  .richell-special__table--main,
  .richell-special__table--income {
    min-width: 0;
    width: 100%;
  }

  .richell-special .is-center {
    white-space: normal;
  }
}

/* GNB 노출 구간(>1400px): 우측 상단 점점점 숨김 / GNB 숨김 구간: 표시 */
@media (min-width: 1401px) {
  .rh-ham {
    display: none !important;
  }
}

/* ===== 사이트맵 드로어 (1400↓) — 우측 패널 + 스테거 등장 ===== */
@media (max-width: 1400px) {
  .rh-ham {
    display: block !important;
  }

  .richell-sitemap.site-wrapper {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }

  .richell-sitemap .rh-sitemap {
    width: min(86vw, 380px);
    max-width: 380px;
    height: 100%;
    margin: 0;
    padding: 0;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    text-align: left;
    overflow: hidden;
    -webkit-transform: translate3d(100%, 0, 0);
    -ms-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
    -webkit-transition: -webkit-transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
    transition: -webkit-transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
    -o-transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
    transition: transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
    transition:
      transform 0.48s cubic-bezier(0.22, 1, 0.36, 1),
      -webkit-transform 0.48s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .richell-sitemap.site-wrapper.active .rh-sitemap {
    -webkit-transform: translate3d(0, 0, 0);
    -ms-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }

  /* 기존 원형 wipe 대신 우측 패널 슬라이드 */
  .richell-sitemap .rh-sitemap:after {
    content: "";
    top: 0 !important;
    right: 0 !important;
    left: auto;
    width: 100%;
    height: 100%;
    border-radius: 0 !important;
    background: -o-linear-gradient(top, #0c1f3d 0%, #11284e 55%, #16345f 100%);
    background: -webkit-gradient(
      linear,
      left top,
      left bottom,
      from(#0c1f3d),
      color-stop(55%, #11284e),
      to(#16345f)
    );
    background: linear-gradient(180deg, #0c1f3d 0%, #11284e 55%, #16345f 100%);
    -webkit-box-shadow: -18px 0 40px rgba(8, 18, 36, 0.35);
    box-shadow: -18px 0 40px rgba(8, 18, 36, 0.35);
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
    pointer-events: none;
    z-index: 0;
  }

  .richell-sitemap.site-wrapper.active .rh-sitemap:after {
    top: 0 !important;
    border-radius: 0 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }

  .richell-sitemap ~ .site-background,
  .site-background {
    background-color: rgba(10, 20, 38, 0.42);
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    opacity: 0;
  }

  .site-background.active {
    opacity: 1;
    -webkit-transition: opacity 0.35s ease;
    -o-transition: opacity 0.35s ease;
    transition: opacity 0.35s ease;
  }

  .richell-sitemap .rh-sitemap > div {
    width: 100%;
    height: 100%;
    opacity: 1;
    padding: 5.5rem 1.35rem 2rem;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    display: block;
    position: relative;
    z-index: 1;
    pointer-events: auto;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }

  .richell-sitemap.site-wrapper.active .rh-sitemap > div {
    opacity: 1;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }

  .rh-sitemap-head {
    margin-bottom: 1.1rem;
    padding-bottom: 0.85rem;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
    opacity: 0;
    -webkit-transform: translate3d(0, -0.7rem, 0);
    -ms-transform: translate3d(0, -0.7rem, 0);
    transform: translate3d(0, -0.7rem, 0);
    -webkit-transition:
      opacity 0.36s ease,
      -webkit-transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    transition:
      opacity 0.36s ease,
      -webkit-transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    -o-transition:
      opacity 0.36s ease,
      transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    transition:
      opacity 0.36s ease,
      transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    transition:
      opacity 0.36s ease,
      transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
      -webkit-transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .richell-sitemap.site-wrapper.active .rh-sitemap-head {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-transition-delay: 0.08s;
    -o-transition-delay: 0.08s;
    transition-delay: 0.08s;
  }

  .rh-sitemap-kicker {
    margin: 0;
    font-size: 0.72rem;
    letter-spacing: 0.16em;
    text-transform: uppercase;
    color: rgba(212, 190, 140, 0.92);
    font-weight: 500;
  }

  .richell-sitemap .rh-sitelist {
    width: 100%;
    max-width: none;
    margin: 0;
    border: 0;
  }

  .richell-sitemap .rh-sitelist > li {
    display: block;
    height: auto !important;
    overflow: visible !important;
    margin: 0;
    padding: 0.15rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    opacity: 0;
    -webkit-transform: translate3d(0, -0.75rem, 0);
    -ms-transform: translate3d(0, -0.75rem, 0);
    transform: translate3d(0, -0.75rem, 0);
    -webkit-transition:
      opacity 0.36s ease,
      -webkit-transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    transition:
      opacity 0.36s ease,
      -webkit-transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    -o-transition:
      opacity 0.36s ease,
      transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    transition:
      opacity 0.36s ease,
      transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    transition:
      opacity 0.36s ease,
      transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
      -webkit-transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .richell-sitemap.site-wrapper.active .rh-sitelist > li {
    opacity: 1;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
    -webkit-transition:
      opacity 0.36s ease,
      -webkit-transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    transition:
      opacity 0.36s ease,
      -webkit-transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    -o-transition:
      opacity 0.36s ease,
      transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    transition:
      opacity 0.36s ease,
      transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
    transition:
      opacity 0.36s ease,
      transform 0.42s cubic-bezier(0.22, 1, 0.36, 1),
      -webkit-transform 0.42s cubic-bezier(0.22, 1, 0.36, 1);
  }

  .richell-sitemap.site-wrapper.active .rh-sitelist > li:nth-child(1) {
    -webkit-transition-delay: 0.14s;
    -o-transition-delay: 0.14s;
    transition-delay: 0.14s;
  }
  .richell-sitemap.site-wrapper.active .rh-sitelist > li:nth-child(2) {
    -webkit-transition-delay: 0.2s;
    -o-transition-delay: 0.2s;
    transition-delay: 0.2s;
  }
  .richell-sitemap.site-wrapper.active .rh-sitelist > li:nth-child(3) {
    -webkit-transition-delay: 0.26s;
    -o-transition-delay: 0.26s;
    transition-delay: 0.26s;
  }
  .richell-sitemap.site-wrapper.active .rh-sitelist > li:nth-child(4) {
    -webkit-transition-delay: 0.32s;
    -o-transition-delay: 0.32s;
    transition-delay: 0.32s;
  }
  .richell-sitemap.site-wrapper.active .rh-sitelist > li:nth-child(5) {
    -webkit-transition-delay: 0.38s;
    -o-transition-delay: 0.38s;
    transition-delay: 0.38s;
  }
  .richell-sitemap.site-wrapper.active .rh-sitelist > li:nth-child(6) {
    -webkit-transition-delay: 0.44s;
    -o-transition-delay: 0.44s;
    transition-delay: 0.44s;
  }
  .richell-sitemap.site-wrapper.active .rh-sitelist > li:nth-child(7),
  .richell-sitemap.site-wrapper.active .rh-sitelist > li:nth-child(8) {
    -webkit-transition-delay: 0.5s;
    -o-transition-delay: 0.5s;
    transition-delay: 0.5s;
  }

  .richell-sitemap .rh-sitelist > li > div {
    display: none !important;
  }

  .richell-sitemap .rh-sitelist > li > a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    padding: 0.95rem 0.15rem;
    position: relative;
    overflow: visible;
  }

  .richell-sitemap .rh-sitelist > li > a > span {
    font-size: 1.12rem !important;
    font-weight: 650 !important;
    letter-spacing: -0.03em;
    color: #fff;
    padding: 0 !important;
    line-height: 1.3;
  }

  .richell-sitemap .rh-sitelist > li > a > span:nth-child(2),
  .richell-sitemap .rh-sitelist > li > a h5 {
    display: none !important;
  }

  .richell-sitemap .rh-sitelist > li > a::before {
    content: attr(data-num);
    display: none;
  }

  .richell-sitemap .rh-sitelist > li > a > span:nth-child(1)::before {
    content: "";
    display: inline-block;
    width: 0.35rem;
    height: 0.35rem;
    margin-right: 0.65rem;
    border-radius: 50%;
    background: #d4be8c;
    vertical-align: 0.15em;
  }

  .richell-sitemap .rh-sitelist > li:hover > a > span:nth-child(1),
  .richell-sitemap .rh-sitelist > li.open > a > span:nth-child(1) {
    color: #f3e6c6;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .richell-sitemap .site_list2 a {
    color: rgba(255, 255, 255, 0.72);
    text-decoration: none;
    -webkit-transition:
      color 0.2s ease,
      padding-left 0.2s ease;
    -o-transition:
      color 0.2s ease,
      padding-left 0.2s ease;
    transition:
      color 0.2s ease,
      padding-left 0.2s ease;
  }

  .richell-sitemap .site_list2 a:hover {
    color: var(--rh-accent-soft);
    padding-left: 0.2rem;
  }
}

/* 1001~1400: 서브메뉴 전부 노출 + 가로 정렬 (넓은 드로어) */
@media (min-width: 1001px) and (max-width: 1400px) {
  .richell-sitemap .rh-sitemap {
    width: min(88vw, 760px) !important;
    max-width: 760px !important;
    overflow: hidden;
  }

  .richell-sitemap .rh-sitemap > div {
    padding: 5.25rem 2rem 2rem;
  }

  .richell-sitemap .rh-sitelist > li {
    height: auto !important;
    overflow: visible !important;
    padding: 0.55rem 0 0.65rem !important;
  }

  .richell-sitemap .rh-sitelist > li > a {
    padding: 0.35rem 0.15rem 0.45rem;
    overflow: visible !important;
  }

  /* 서브메뉴가 있는 그룹 타이틀만 클릭 비활성 (티저: 입지환경·프리미엄 등은 직접 링크) */
  .richell-sitemap .rh-sitelist > li:has(> .site_list2) > a {
    pointer-events: none;
  }

  .richell-sitemap .rh-sitelist > li:not(:has(> .site_list2)) > a {
    pointer-events: auto;
    cursor: pointer;
  }

  .richell-sitemap .rh-sitelist > li > a::after {
    display: none;
  }

  .richell-sitemap .site_list2 {
    position: relative !important;
    left: auto !important;
    right: auto !important;
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start !important;
    -ms-flex-pack: start !important;
    justify-content: flex-start !important;
    gap: 0.45rem 1.15rem !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0.15rem 0 0.2rem 1.05rem !important;
    border-top: 0 !important;
    border-left: 1px solid rgba(212, 190, 140, 0.35);
    text-align: left !important;
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .richell-sitemap .site_list2 li {
    width: auto !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 0.2rem 0 !important;
    text-align: left !important;
    font-size: 0.95rem !important;
    white-space: nowrap;
    -ms-flex-negative: 0;
    flex-shrink: 0;
  }

  .richell-sitemap .site_list2 li:first-child {
    padding-top: 0.2rem !important;
  }
}

/* 1000↓: 서브메뉴 아코디언 */
@media (max-width: 1000px) {
  .richell-sitemap .rh-sitemap {
    width: min(86vw, 380px);
    max-width: 380px;
  }

  .richell-sitemap .rh-sitelist > li > a {
    pointer-events: auto !important;
    padding: 0.95rem 0.15rem;
    cursor: pointer;
  }

  .richell-sitemap .rh-sitelist > li > a::after {
    content: "";
    display: block;
    width: 0.4rem;
    height: 0.4rem;
    margin-left: auto;
    border-right: 1.5px solid rgba(243, 230, 198, 0.7);
    border-bottom: 1.5px solid rgba(243, 230, 198, 0.7);
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-transition: -webkit-transform 0.25s ease;
    transition: -webkit-transform 0.25s ease;
    -o-transition: transform 0.25s ease;
    transition: transform 0.25s ease;
    transition:
      transform 0.25s ease,
      -webkit-transform 0.25s ease;
    transition:
      transform 0.25s ease,
      -webkit-transform 0.25s ease;
    transition:
      transform 0.25s ease,
      -webkit-transform 0.25s ease;
    transition:
      transform 0.25s ease,
      -webkit-transform 0.25s ease;
    transition:
      transform 0.25s ease,
      -webkit-transform 0.25s ease;
    transition:
      transform 0.25s ease,
      -webkit-transform 0.25s ease;
    transition:
      transform 0.25s ease,
      -webkit-transform 0.25s ease;
    opacity: 0.75;
  }

  .richell-sitemap .rh-sitelist > li.open > a::after {
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
  }

  .richell-sitemap .site_list2 {
    position: relative !important;
    display: none !important;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100% !important;
    margin: 0 0 0.55rem !important;
    padding: 0.15rem 0 0.55rem 1.05rem !important;
    border-top: 0 !important;
    border-left: 1px solid rgba(212, 190, 140, 0.35);
    gap: 0 !important;
    text-align: left !important;
  }

  .richell-sitemap .site_list2.open {
    display: block !important;
  }

  .richell-sitemap .site_list2 li {
    width: 100% !important;
    margin: 0 !important;
    padding: 0.35rem 0 !important;
    text-align: left !important;
    font-size: 0.92rem !important;
    white-space: normal;
  }

  .richell-sitemap .site_list2 li:first-child {
    padding-top: 0.15rem !important;
  }
}

@media (max-width: 767px) {
  .richell-sitemap .rh-sitemap {
    width: min(92vw, 360px);
  }

  .richell-sitemap .rh-sitemap > div {
    padding: 4.75rem 1.15rem 1.75rem;
  }

  .richell-sitemap .rh-sitelist > li > a > span {
    font-size: 1.05rem !important;
  }
}

/* ===== GNB depth1 호버 — 언더라인 (기존 네이비) ===== */
.rh-gnb .line {
  top: calc(50% + 0.72rem) !important;
  bottom: auto !important;
  left: 50% !important;
  right: auto !important;
  margin: 0 !important;
  width: 2rem !important;
  height: 2px !important;
  background: #11284e !important;
  opacity: 0 !important;
  z-index: 2 !important;
  -webkit-transform: translateX(-50%) scaleX(0.25);
  -ms-transform: translateX(-50%) scaleX(0.25);
  transform: translateX(-50%) scaleX(0.25);
  -webkit-transform-origin: center;
  -ms-transform-origin: center;
  transform-origin: center;
  -webkit-transition:
    opacity 0.25s ease,
    -webkit-transform 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
  -o-transition:
    opacity 0.25s ease,
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 0.25s ease,
    -webkit-transform 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 0.25s ease,
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
  transition:
    opacity 0.25s ease,
    transform 0.35s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.35s cubic-bezier(0.22, 1, 0.36, 1) !important;
}

.rh-gnb .line.depth1-line-show {
  opacity: 1 !important;
  -webkit-transform: translateX(-50%) scaleX(1.85) !important;
  -ms-transform: translateX(-50%) scaleX(1.85) !important;
  transform: translateX(-50%) scaleX(1.85) !important;
}

.rh-navi.active .rh-gnb .line,
.rh-navi.mouseover .rh-gnb .line,
.rh-navi.over .rh-gnb .line {
  background: #11284e !important;
}

.rh-navi.white .rh-gnb .line,
body.home .rh-navi.white .rh-gnb .line {
  background: #fff !important;
}

.rh-navi.white.mouseover .rh-gnb .line,
.rh-navi.white.active .rh-gnb .line,
body.home .rh-navi.white.mouseover .rh-gnb .line,
body.home .rh-navi.white.active .rh-gnb .line,
.rh-navi.active .rh-gnb .line,
.rh-navi.mouseover .rh-gnb .line {
  background: #11284e !important;
}

/* 최상위(depth1) 호버 — 글자색 변경 없음 (상태별 기본색 유지) */
.rh-gnb > ul > li:hover > a,
body.home .rh-gnb > ul > li:hover > a {
  color: #002e45 !important;
}

.rh-navi.over .rh-gnb > ul > li:hover > a,
.rh-navi.mouseover .rh-gnb > ul > li:hover > a,
.rh-navi.active .rh-gnb > ul > li:hover > a,
body.home .rh-navi.over .rh-gnb > ul > li:hover > a,
body.home .rh-navi.mouseover .rh-gnb > ul > li:hover > a,
body.home .rh-navi.active .rh-gnb > ul > li:hover > a,
body.subpage .rh-navi.mouseover .rh-gnb > ul > li:hover > a,
body.subpage .rh-navi.active .rh-gnb > ul > li:hover > a {
  color: #231815 !important;
}

.rh-navi.white:not(.active):not(.mouseover) .rh-gnb > ul > li:hover > a,
body.home
  .rh-navi.white:not(.active):not(.mouseover)
  .rh-gnb
  > ul
  > li:hover
  > a {
  color: #fff !important;
}

/* 2뎁스 — 텍스트 약간 확대 + 액센트 호버 */
.rh-gnb > ul > li > ul > li > a {
  font-size: 0.875rem !important;
}

.rh-gnb > ul > li > ul > li > a:hover {
  color: #0d5f8f !important;
}

/* 사전 오픈 — 비활성 메뉴 (사업안내 depth1은 드롭다운 호버를 위해 is-disabled 없음) */
.rh-gnb a.is-disabled,
.rh-sitelist a.is-disabled,
#snb a.is-disabled {
  pointer-events: none;
  cursor: default;
}

.rh-gnb .depth2 a.is-disabled,
.rh-sitelist .site_list2 a.is-disabled,
#snb a.is-disabled {
  opacity: 0.4;
}

.rh-gnb > ul > li:has(> a.depth1.is-disabled):hover > a {
  color: inherit !important;
}

.rh-gnb > ul > li:has(> a.depth1.is-disabled) .line {
  display: none !important;
}

/* ========== /product/unit 주택형 안내 (브로슈어형) ========== */
.richell-unitplan-wrap {
  max-width: 1180px;
  margin: 0 auto 3rem;
}

ul.tabs2.unit.richell-unitplan-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: nowrap;
  flex-wrap: nowrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  max-width: none;
  margin: 0 0 2rem;
  gap: 4px;
  border: 0;
  background: transparent;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  overflow: visible;
}

ul.tabs2.unit.richell-unitplan-tabs li {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0;
  flex: 1 1 0;
  width: auto !important;
  min-width: 0;
  max-width: none;
  height: auto !important;
  margin: 0 !important;
  line-height: normal !important;
  background: transparent !important;
  border: 0 !important;
  color: inherit;
}

ul.tabs2.unit.richell-unitplan-tabs li.selected,
ul.tabs2.unit.richell-unitplan-tabs li.active {
  background: transparent !important;
  border: 0 !important;
  color: inherit;
}

ul.tabs2.unit.richell-unitplan-tabs li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 3rem;
  min-height: 3rem;
  padding: 0 0.75rem;
  border: 0;
  border-radius: 0;
  background: #9ea6b2;
  color: #fff;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  line-height: 1;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: background 0.2s ease;
  -o-transition: background 0.2s ease;
  transition: background 0.2s ease;
}

ul.tabs2.unit.richell-unitplan-tabs li:last-child a {
  border-right: 0;
}

ul.tabs2.unit.richell-unitplan-tabs li.selected a,
ul.tabs2.unit.richell-unitplan-tabs li.active a,
ul.tabs2.unit.richell-unitplan-tabs li a:hover {
  background: #11284e;
  color: #fff;
}

@media (max-width: 900px) {
  ul.tabs2.unit.richell-unitplan-tabs {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  ul.tabs2.unit.richell-unitplan-tabs li {
    -ms-flex: 1 1 calc((100% - 16px) / 5);
    flex: 1 1 calc((100% - 16px) / 5);
    max-width: none;
  }
}

@media (max-width: 767px) {
  ul.tabs2.unit.richell-unitplan-tabs {
    gap: 3px;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
  }

  ul.tabs2.unit.richell-unitplan-tabs li {
    -ms-flex: 1 1 calc((100% - 9px) / 4);
    flex: 1 1 calc((100% - 9px) / 4);
    min-width: 0;
    max-width: none;
    width: auto !important;
    margin: 0 !important;
  }

  ul.tabs2.unit.richell-unitplan-tabs li a {
    height: 2.65rem;
    min-height: 2.65rem;
    font-size: 0.95rem;
  }
}

.richell-unitplan {
  color: #1a2436;
}

.richell-unitplan__hero {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-height: 9.5rem;
  padding: 2rem 2.25rem;
  overflow: hidden;
  background:
    -o-linear-gradient(
      345deg,
      rgba(17, 40, 78, 0.92) 0%,
      rgba(17, 40, 78, 0.72) 42%,
      rgba(17, 40, 78, 0.28) 70%,
      rgba(17, 40, 78, 0.08) 100%
    ),
    url(../project/unit/living.jpg) right center / cover no-repeat;
  background:
    linear-gradient(
      105deg,
      rgba(17, 40, 78, 0.92) 0%,
      rgba(17, 40, 78, 0.72) 42%,
      rgba(17, 40, 78, 0.28) 70%,
      rgba(17, 40, 78, 0.08) 100%
    ),
    url(../project/unit/living.jpg) right center / cover no-repeat;
  color: #fff;
}

.richell-unitplan__hero-copy {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.85rem 1.1rem;
}

.richell-unitplan__hero h3 {
  margin: 0;
  color: #fff;
  font-size: clamp(2.4rem, 4.5vw, 3.4rem);
  font-weight: 800;
  line-height: 1;
  letter-spacing: -0.03em;
}

.richell-unitplan__badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  padding: 0.35rem 0.95rem;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font-size: 0.92rem;
  font-weight: 700;
  letter-spacing: 0.02em;
  -webkit-backdrop-filter: blur(4px);
  backdrop-filter: blur(4px);
}

.richell-unitplan__hero-meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.35rem 1.25rem;
  margin: 0.9rem 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.95rem;
  font-weight: 500;
  letter-spacing: -0.01em;
}

/* 히어로 아래: 단지배치도 + 오른쪽에 면적 텍스트 세로 나열 */
.richell-unitplan__overview {
  margin: 0;
  border: 1px solid #d9dee8;
  border-top: 0;
  background: #fff;
}

.richell-unitplan__site {
  padding: 0;
  background: #fff;
}

.richell-unitplan__overview .richell-unitplan__section-head {
  margin: 0 0 1rem;
}

.richell-unitplan__site .richell-unitplan__site-fig {
  margin: 0;
  border: 0 !important;
  padding: 1.35rem 1.5rem 1.5rem;
  background: transparent;
}

.richell-unitplan__site-row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem 2rem;
}

.richell-unitplan__site-img {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
}

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

.richell-unitplan__specs {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  width: min(19rem, 38%);
  min-width: 14rem;
  margin: 0;
  padding: 0.25rem 0.15rem 0.25rem 0;
  list-style: none;
  border: 0;
  background: transparent;
}

.richell-unitplan__specs li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  padding: 0.75rem 0;
  border: 0;
  border-bottom: 1px solid #e2e6ef;
  text-align: left;
}

.richell-unitplan__specs li:last-child {
  border-bottom: 0;
}

.richell-unitplan__spec-label {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin: 0;
  color: #374151;
  font-size: 0.95rem;
  font-weight: 300;
  letter-spacing: -0.01em;
  line-height: 1.3;
  white-space: nowrap;
}

.richell-unitplan__spec-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  gap: 0.15rem;
  text-align: right;
}

.richell-unitplan__spec-value {
  display: block;
  color: #111827;
  font-size: 1.35rem;
  font-weight: 300;
  letter-spacing: -0.02em;
  line-height: 1.25;
  word-break: keep-all;
}

.richell-unitplan__spec-note {
  display: block;
  color: #a8b0bd;
  font-size: 0.82rem;
  font-style: normal;
  font-weight: 400;
  line-height: 1.3;
}

.richell-unitplan__section-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.5rem 1rem;
  margin: 2rem 0 0.85rem;
}

.richell-unitplan__section-head h4 {
  margin: 0;
  color: #11284e;
  font-size: 1.15rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.richell-unitplan__section-head p {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.45rem;
  margin: 0;
  color: #6a758a;
  font-size: 0.86rem;
  font-weight: 500;
}

.richell-unitplan__swatch {
  display: inline-block;
  width: 0.85rem;
  height: 0.85rem;
  border: 1px solid rgba(17, 40, 78, 0.15);
  border-radius: 2px;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

.richell-unitplan__site-fig,
.richell-unitplan__iso-fig {
  margin: 0;
  padding: 1.25rem;
  border: 1px solid #e2e6ef;
  background: #fff;
}

.richell-unitplan__iso-fig img {
  display: block;
  width: 100%;
  height: auto;
}

.richell-unitplan__iso-note {
  margin: 0.75rem 0 0;
  font-size: 0.8125rem;
  line-height: 1.5;
  letter-spacing: -0.02em;
  color: #667085;
  text-align: center;
}

.richell-unitplan__plans-section {
  margin-top: 1.75rem;
}

.richell-unitplan__plan-group {
  margin-top: 1.35rem;
}

.richell-unitplan__plan-group:first-of-type {
  margin-top: 0.85rem;
}

.richell-unitplan__plan-group-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.35rem 0.85rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.55rem;
  border-bottom: 1px solid #e2e6ef;
}

.richell-unitplan__plan-group-head h5 {
  margin: 0;
  font-size: 1.125rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #11284e;
}

.richell-unitplan__plan-group-head p {
  margin: 0;
  font-size: 0.875rem;
  color: #667085;
  line-height: 1.4;
}

.richell-unitplan__plans {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 0;
}

.richell-unitplan__plans.is-single {
  grid-template-columns: minmax(0, 1fr);
  max-width: 50%;
}

.richell-unitplan__plans.is-triple {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.richell-unitplan__plan {
  margin: 0;
  border: 1px solid #e2e6ef;
  background: #fff;
  overflow: hidden;
}

.richell-unitplan__plan figcaption {
  margin: 0;
  padding: 0.75rem 1rem;
  background: #11284e;
  color: #fff;
  text-align: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.2rem;
}

.richell-unitplan__plan-type {
  font-size: 0.75rem;
  font-weight: 500;
  letter-spacing: 0.04em;
  opacity: 0.72;
  line-height: 1.2;
}

.richell-unitplan__plan figcaption strong {
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.2;
}

.richell-unitplan__plan-img {
  padding: 1rem;
  background: #fff;
}

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

@media screen and (max-width: 900px) {
  .richell-unitplan__hero {
    min-height: 8rem;
    padding: 1.5rem 1.25rem;
  }

  .richell-unitplan__site .richell-unitplan__site-fig {
    padding: 1.15rem 1.1rem 1.25rem;
  }

  .richell-unitplan__site-row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
    gap: 1.25rem;
  }

  .richell-unitplan__specs {
    width: 100%;
    min-width: 0;
  }

  .richell-unitplan__plans {
    grid-template-columns: 1fr;
  }

  .richell-unitplan__plans.is-single {
    max-width: 100%;
  }

  .richell-unitplan__plans.is-triple {
    grid-template-columns: 1fr;
  }

  .richell-unitplan__site-fig,
  .richell-unitplan__iso-fig {
    padding: 0.75rem;
  }
}

@media screen and (max-width: 640px) {
  ul.tabs2.unit.richell-unitplan-tabs {
    gap: 0.35rem;
  }

  ul.tabs2.unit.richell-unitplan-tabs li a {
    min-height: 2.4rem;
    font-size: 0.9rem;
  }

  .richell-unitplan__hero h3 {
    font-size: 2rem;
  }

  .richell-unitplan__hero-meta {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.2rem;
  }

  .richell-unitplan__section-head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
  }
}

.richell-unitplan__zone {
  margin-top: 2.25rem;
  overflow: hidden;
  border: 1px solid #d5dbe7;
  background: #fff;
}

.richell-unitplan__zone + .richell-unitplan__zone {
  margin-top: 2.75rem;
}

.richell-unitplan__zone-head {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1rem 1.25rem;
  padding: 1.15rem 1.5rem;
  border-bottom: 1px solid rgba(17, 40, 78, 0.12);
  width: auto;
  z-index: auto;
  top: auto;
  left: auto;
}

.richell-unitplan__zone-badge {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 4.5rem;
  padding: 0.45rem 0.85rem;
  font-size: 0.8125rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  line-height: 1;
  white-space: nowrap;
}

.richell-unitplan__zone-copy {
  min-width: 0;
}

.richell-unitplan__zone-copy h4 {
  margin: 0;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.richell-unitplan__zone-copy p {
  margin: 0.3rem 0 0;
  font-size: 0.875rem;
  line-height: 1.45;
  color: #667085;
}

.richell-unitplan__zone-body {
  padding: 0.35rem 1.5rem 1.75rem;
}

.richell-unitplan__zone--standard {
  background: #fff;
  border-color: #d5dbe7;
}

.richell-unitplan__zone--standard .richell-unitplan__zone-head {
  background: #f4f6fa;
}

.richell-unitplan__zone--standard .richell-unitplan__zone-badge {
  background: #11284e;
  color: #fff;
}

.richell-unitplan__zone--standard .richell-unitplan__zone-copy h4 {
  color: #11284e;
}

.richell-unitplan__zone--top {
  background: #f7f3ec;
  border-color: #cbbfaa;
}

.richell-unitplan__zone--top .richell-unitplan__zone-head {
  background: -o-linear-gradient(left, #efe6d7 0%, #f7f3ec 100%);
  background: -webkit-gradient(
    linear,
    left top,
    right top,
    from(#efe6d7),
    to(#f7f3ec)
  );
  background: linear-gradient(90deg, #efe6d7 0%, #f7f3ec 100%);
  border-bottom-color: rgba(139, 115, 85, 0.22);
}

.richell-unitplan__zone--top .richell-unitplan__zone-badge {
  background: #8b7355;
  color: #fff;
}

.richell-unitplan__zone--top .richell-unitplan__zone-copy h4 {
  color: #5c4a35;
}

.richell-unitplan__zone--top .richell-unitplan__zone-copy p {
  color: #7a6a55;
}

.richell-unitplan__zone--top .richell-unitplan__plan-group-head {
  border-bottom-color: rgba(139, 115, 85, 0.2);
}

.richell-unitplan__zone--top .richell-unitplan__plan-group-head h5 {
  color: #5c4a35;
}

.richell-unitplan__zone--top .richell-unitplan__plan figcaption {
  background: #8b7355;
}

.richell-unitplan__zone--top .richell-unitplan__section-head {
  margin-top: 1.5rem;
}

.richell-unitplan__zone--standard .richell-unitplan__section-head:first-child,
.richell-unitplan__zone--top
  .richell-unitplan__top-block:first-child
  .richell-unitplan__section-head {
  margin-top: 1.15rem;
}

.richell-unitplan__top-block {
  margin-top: 1.75rem;
}

.richell-unitplan__top-block + .richell-unitplan__top-block {
  margin-top: 2.25rem;
}

.richell-unitplan__attic {
  margin-top: 2.25rem;
  padding: 1.5rem 1.25rem 1.25rem;
  background: rgba(255, 255, 255, 0.72);
  border: 1px dashed rgba(139, 115, 85, 0.45);
}

.richell-unitplan__attic .richell-unitplan__plan-group-head {
  margin-bottom: 1rem;
  border-bottom-color: rgba(139, 115, 85, 0.2);
}

.richell-unitplan__attic .richell-unitplan__plan figcaption {
  background: #6f5a42;
}

@media (max-width: 767px) {
  .richell-unitplan__zone + .richell-unitplan__zone {
    margin-top: 2rem;
  }

  .richell-unitplan__zone-head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.75rem;
    padding: 1rem 1.1rem;
  }

  .richell-unitplan__zone-body {
    padding: 0.15rem 1rem 1.35rem;
  }

  .richell-unitplan__attic {
    margin-top: 1.75rem;
    padding: 1.15rem 0.9rem 1rem;
  }
}

/* ========== /apply/check 청약체크포인트 ========== */
.richell-check-wrap {
  max-width: 1100px;
  margin: 0 auto;
}

.richell-check,
.richell-check h3,
.richell-check h4,
.richell-check p,
.richell-check li,
.richell-check td,
.richell-check th {
  word-break: keep-all;
  overflow-wrap: break-word;
  -webkit-line-break: strict;
  line-break: strict;
}

.richell-check__intro {
  text-align: center;
  margin-bottom: 2.25rem;
}

.richell-check__eyebrow {
  margin: 0 0 0.65rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(17, 40, 78, 0.55);
}

.richell-check__intro h3 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.7rem, 3vw, 2.35rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.35;
  color: #11284e;
}

.richell-check__lead {
  margin: 1rem auto 0;
  max-width: 38rem;
  font-size: 1.08rem;
  line-height: 1.55;
  color: #666;
}

.richell-check__cards {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.richell-check__card {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  min-height: 100%;
  padding: 2.25rem 1.5rem 1.85rem;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e6ebf2;
  border-radius: 1rem;
  -webkit-box-shadow: 0 10px 28px rgba(17, 40, 78, 0.06);
  box-shadow: 0 10px 28px rgba(17, 40, 78, 0.06);
  text-align: center;
}

.richell-check__card::after {
  content: "";
  position: absolute;
  right: -1.5rem;
  bottom: -1.5rem;
  width: 7rem;
  height: 7rem;
  border-radius: 50%;
  opacity: 0.12;
  pointer-events: none;
  background: -o-radial-gradient(
      circle,
      currentColor 0 0.18rem,
      transparent 0.19rem
    )
    0 0 / 0.7rem 0.7rem;
  background: radial-gradient(
      circle,
      currentColor 0 0.18rem,
      transparent 0.19rem
    )
    0 0 / 0.7rem 0.7rem;
}

.richell-check__card.is-01 {
  color: #1f9e9a;
}

.richell-check__card.is-02 {
  color: #2f6fbf;
}

.richell-check__card.is-03 {
  color: #6b5bb8;
}

.richell-check__num {
  position: absolute;
  top: 0;
  left: 0;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 3.1rem;
  height: 2.15rem;
  padding: 0 0.85rem 0 0.7rem;
  background: currentColor;
  color: #fff;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  -webkit-clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 86% 100%, 0 100%);
}

.richell-check__label {
  margin: 0.35rem 0 1.1rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.72rem;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  color: currentColor;
}

.richell-check__icon {
  width: 4.75rem;
  height: 4.75rem;
  margin-bottom: 1.15rem;
}

.richell-check__icon svg {
  display: block;
  width: 100%;
  height: 100%;
}

.richell-check__card h4 {
  margin: 0;
  padding-bottom: 0.95rem;
  border-bottom: 2px solid currentColor;
  color: #1a2436;
  font-size: 1.4rem;
  font-weight: 800;
  letter-spacing: -0.03em;
  line-height: 1.3;
}

.richell-check__card > p {
  margin: 1rem 0 0;
  color: #555;
  font-size: 1.08rem;
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
  word-break: keep-all;
  overflow-wrap: break-word;
}

.richell-check__card > p strong {
  color: #11284e;
  font-weight: 700;
}

.richell-check__note {
  margin-top: 0.85rem !important;
  padding-top: 0.85rem;
  border-top: 1px dashed #d7dde8;
  color: #778197 !important;
  font-size: 0.95rem !important;
  font-weight: 500 !important;
  line-height: 1.45 !important;
}

@media (max-width: 900px) {
  .richell-check__cards {
    grid-template-columns: 1fr;
    max-width: 420px;
    margin: 0 auto;
  }
}

.richell-check__section {
  margin-top: 3.25rem;
  padding-top: 2.5rem;
  border-top: 1px solid #e6ebf2;
}

.richell-check__section-head {
  text-align: center;
  margin-bottom: 1.5rem;
}

.richell-check__section-head h3 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.5rem, 2.6vw, 2rem);
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.35;
  color: #11284e;
}

.richell-check__section-head p {
  margin: 0.85rem auto 0;
  max-width: 42rem;
  font-size: 1.08rem;
  line-height: 1.55;
  color: #666;
}

.richell-check__deposit th,
.richell-check__deposit td {
  font-size: 1.08rem;
  line-height: 1.05;
}

.richell-check__special {
  min-width: 920px;
}

.richell-check__special thead th {
  background: #11284e;
  color: #fff;
  font-size: 1rem;
  line-height: 1.05;
  vertical-align: middle;
}

.richell-check__special tbody > tr > th {
  width: 7.5rem;
  background: #f3f6fa;
  color: #11284e;
  font-weight: 700;
  text-align: center;
  vertical-align: middle;
}

.richell-check__special tbody > tr > td {
  font-size: 0.98rem;
  line-height: 1.05;
  text-align: center;
  vertical-align: middle;
  letter-spacing: -0.02em;
}

.richell-check__sub {
  display: inline-block;
  margin-top: 0.35rem;
  color: #778197;
  font-size: 0.9rem;
}

.richell-check__limit {
  text-align: left !important;
}

.richell-check__limit ul {
  margin: 0;
  padding-left: 1.1rem;
  text-align: left;
}

.richell-check__limit li + li {
  margin-top: 0.15rem;
}

/* ========== /apply/system 변경된 청약제도 ========== */
.richell-system-apply__table > tbody > tr > th {
  font-size: 1.12rem;
  line-height: 1.05;
  letter-spacing: -0.02em;
}

.richell-system-apply__table > tbody > tr > td {
  font-size: 1.1rem;
  line-height: 1.08;
}

.richell-system-apply__table > tbody > tr > td > p {
  margin: 0.55rem 0 0.2rem;
  color: #11284e;
  font-weight: 700;
}

.richell-system-apply__table > tbody > tr > td > p:first-child {
  margin-top: 0;
}

.richell-system-apply__tag {
  display: inline-block;
  margin-left: 0.25rem;
  color: #6a758a;
  font-size: 0.95rem;
  font-weight: 500;
  line-height: 1.45;
}

.richell-system-apply__sub {
  display: inline-block;
  margin-top: 0.35rem;
  color: #778197;
  font-size: 0.95rem;
  line-height: 1.45;
}

.richell-system-apply__housing .is-highlight {
  background: #fff7f7;
  border: 2px solid #d64545 !important;
  color: #11284e;
  font-weight: 800;
}

/* ========== /apply/points 청약가점표 ========== */
.richell-points__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1rem;
  padding: 1.05rem 1.25rem;
  background: #11284e;
}

.richell-points__head h3 {
  margin: 0;
  color: #fff;
  font-size: 1.65rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.2;
}

.richell-points__brand {
  margin: 0;
  color: rgba(255, 255, 255, 0.85);
  font-family: "Nanum Myeongjo", serif;
  font-size: 1.05rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.richell-points__summary {
  margin-top: 1.25rem;
  padding: 1.15rem 1.2rem;
  border: 1px solid #d7deea;
  background: #f7f9fc;
}

.richell-points__summary-note {
  margin: 0 0 0.85rem;
  color: #44516a;
  font-size: 1.02rem;
  font-weight: 600;
}

.richell-points__summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.richell-points__summary-item,
.richell-points__summary-total {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.35rem;
  padding: 0.85rem 0.9rem;
  background: #fff;
  border: 1px solid #e2e7ef;
}

.richell-points__summary-item span,
.richell-points__summary-total span {
  color: #6a758a;
  font-size: 0.95rem;
  font-weight: 600;
}

.richell-points__summary-item strong,
.richell-points__summary-total strong {
  color: #11284e;
  font-size: 1.25rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.richell-points__summary-total {
  background: #11284e;
  border-color: #11284e;
}

.richell-points__summary-total span {
  color: rgba(255, 255, 255, 0.78);
}

.richell-points__summary-total strong {
  color: #fff;
}

.richell-points__summary-total em {
  font-style: normal;
  font-size: 1.55rem;
}

.richell-points__table {
  min-width: 920px;
  table-layout: fixed;
}

.richell-points__col-item {
  width: 7.5rem;
}
.richell-points__col-limit {
  width: 4.8rem;
}
.richell-points__col-sub {
  width: 4.4rem;
}
.richell-points__col-score {
  width: 3.8rem;
}
.richell-points__col-check {
  width: 3.4rem;
}

.richell-points__table thead th {
  background: #eef2f7;
  color: #11284e;
  font-size: 1.05rem;
  font-weight: 700;
  line-height: 1.2;
  padding: 0.75rem 0.45rem;
  vertical-align: middle;
  text-align: center;
}

.richell-points__table th,
.richell-points__table td {
  font-size: 1.08rem;
  line-height: 1.15;
  padding: 0.55rem 0.6rem;
  vertical-align: middle;
  word-break: keep-all;
}

.richell-points__item {
  background: #eef2f7 !important;
  color: #11284e !important;
  font-size: 1.1rem !important;
  font-weight: 800 !important;
  text-align: center !important;
  line-height: 1.3 !important;
}

.richell-points__limit {
  font-size: 1.15rem;
  font-weight: 800;
  color: #11284e;
}

.richell-points__sub {
  background: #f7f9fc !important;
  color: #11284e !important;
  font-weight: 700 !important;
  text-align: center !important;
}

.richell-points__label {
  text-align: left !important;
}

.richell-points__label label {
  cursor: pointer;
  display: block;
}

.richell-points__check {
  color: #44516a;
}

.richell-points__input {
  width: 1.25rem;
  height: 1.25rem;
  margin: 0;
  accent-color: #11284e;
  cursor: pointer;
  vertical-align: middle;
  -moz-appearance: auto;
  appearance: auto;
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
  appearance: checkbox;
}

.richell-points-m {
  display: none;
}

@media (max-width: 900px) {
  .richell-points__desktop {
    display: none;
  }

  .richell-points-m {
    display: block;
  }

  .richell-points__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .richell-points__summary {
    margin-top: 1rem;
    padding: 1rem;
  }

  .richell-points__summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .richell-points__summary-total {
    grid-column: 1 / -1;
  }

  .richell-points-m__section {
    margin-bottom: 1.1rem;
    border: 1px solid #e2e7ef;
    background: #fff;
    overflow: hidden;
  }

  .richell-points-m__head {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: baseline;
    -ms-flex-align: baseline;
    align-items: baseline;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    background: #11284e;
    color: #fff;
  }

  .richell-points-m__head h4 {
    margin: 0;
    font-size: 1.08rem;
    font-weight: 800;
    letter-spacing: -0.02em;
  }

  .richell-points-m__head span {
    font-size: 0.9rem;
    opacity: 0.85;
    white-space: nowrap;
  }

  .richell-points-m__list {
    list-style: none;
    margin: 0;
    padding: 0;
  }

  .richell-points-m__option {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 0.75rem;
    padding: 0.85rem 1rem;
    border-top: 1px solid #e8edf4;
    cursor: pointer;
  }

  .richell-points-m__list li:first-child .richell-points-m__option {
    border-top: 0;
  }

  .richell-points-m__text {
    color: #222;
    font-size: 1.05rem;
    font-weight: 600;
    line-height: 1.4;
    word-break: keep-all;
  }

  .richell-points-m__score {
    color: #11284e;
    font-size: 1.05rem;
    font-weight: 800;
    white-space: nowrap;
  }

  .richell-points-m__option:has(input:checked) {
    background: #eef3fb;
  }
}

/* ========== /sales/stamp 인지세 안내문 ========== */
.richell-stamp__head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1rem;
  margin-bottom: 1.35rem;
  padding: 1.05rem 1.25rem;
  background: #11284e;
}

.richell-stamp__head h3 {
  margin: 0;
  color: #fff;
  font-size: 1.75rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.25;
}

.richell-stamp__brand {
  margin: 0;
  color: rgba(255, 255, 255, 0.88);
  font-family: "Nanum Myeongjo", serif;
  font-size: 1.12rem;
  font-weight: 700;
  white-space: nowrap;
}

.richell-stamp__section {
  margin-bottom: 2rem;
}

.richell-stamp__section h4 {
  position: relative;
  margin: 0 0 0.85rem;
  padding-left: 1.05rem;
  color: #11284e;
  font-size: 1.35rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.4;
}

.richell-stamp__section h4::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.4em;
  width: 0.55rem;
  height: 0.55rem;
  background: #11284e;
}

.richell-stamp__section h4 span {
  color: #6a758a;
  font-size: 1.05rem;
  font-weight: 600;
}

.richell-stamp__section > p,
.richell-stamp__facts span,
.richell-stamp__steps p,
.richell-stamp__steps li {
  color: #333;
  font-size: 1.18rem;
  line-height: 1.55;
  word-break: keep-all;
}

.richell-stamp__law {
  margin: 0 0 0.75rem !important;
  color: #667286 !important;
  font-size: 1.05rem !important;
}

.richell-stamp__facts {
  list-style: none;
  margin: 0;
  padding: 0;
  border: 1px solid #d7deea;
  background: #f7f9fc;
}

.richell-stamp__facts li {
  display: grid;
  grid-template-columns: 8.5rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.9rem 1rem;
  border-top: 1px solid #e4e9f1;
}

.richell-stamp__facts li:first-child {
  border-top: 0;
}

.richell-stamp__facts strong {
  color: #11284e;
  font-weight: 800;
}

.richell-stamp .richell-special__table th,
.richell-stamp .richell-special__table td {
  font-size: 1.15rem;
}

.richell-stamp__amount thead th:last-child,
.richell-stamp__amount .is-buyer {
  color: #c0392b;
  font-weight: 800;
}

.richell-stamp__amount tr.is-emphasis td {
  background: #fff7f7;
  font-weight: 700;
}

.richell-stamp__alerts {
  margin: 0.85rem 0 0;
  padding-left: 0;
  list-style: none;
}

.richell-stamp__alerts li {
  color: #c0392b !important;
  font-size: 1.08rem !important;
  font-weight: 600;
  line-height: 1.5 !important;
}

.richell-stamp__alerts li + li {
  margin-top: 0.35rem;
}

.richell-stamp__steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.9rem;
  list-style: none;
  margin: 0;
  padding: 0;
  counter-reset: none;
}

.richell-stamp__steps > li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 0.75rem;
  min-height: 100%;
  padding: 1.1rem 1rem 1.15rem;
  border: 1px solid #d7deea;
  background: #fff;
}

.richell-stamp__step-num {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 2.5rem;
  height: 2.5rem;
  background: #11284e;
  color: #fff;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.95rem;
  font-weight: 700;
}

.richell-stamp__steps strong {
  display: block;
  margin-bottom: 0.45rem;
  color: #11284e;
  font-size: 1.2rem;
  font-weight: 800;
  letter-spacing: -0.02em;
}

.richell-stamp__steps p,
.richell-stamp__steps ul {
  margin: 0;
}

.richell-stamp__steps ul {
  padding-left: 1.1rem;
}

.richell-stamp__steps ul li + li {
  margin-top: 0.2rem;
}

.richell-stamp__flow {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem;
  list-style: none;
  margin: 0;
  padding: 0;
}

.richell-stamp__flow li {
  position: relative;
  padding: 1.2rem 1rem;
  background: #11284e;
  color: #fff;
  text-align: center;
}

.richell-stamp__flow li strong {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 1.18rem;
  font-weight: 800;
  letter-spacing: -0.02em;
  line-height: 1.35;
}

.richell-stamp__flow li span {
  display: block;
  color: rgba(255, 255, 255, 0.82);
  font-size: 1.05rem;
  line-height: 1.4;
}

@media (min-width: 901px) {
  .richell-stamp__flow li:not(:last-child)::after {
    content: "›";
    position: absolute;
    right: -0.7rem;
    top: 50%;
    z-index: 1;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #8a97ad;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1;
  }
}

@media (max-width: 900px) {
  .richell-stamp__head {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.35rem;
  }

  .richell-stamp__facts li {
    grid-template-columns: 1fr;
    gap: 0.25rem;
  }

  .richell-stamp__steps {
    grid-template-columns: 1fr;
  }

  .richell-stamp__flow {
    grid-template-columns: 1fr;
  }

  .richell-stamp__flow li:not(:last-child)::after {
    content: "↓";
    position: absolute;
    left: 50%;
    right: auto;
    top: auto;
    bottom: -0.85rem;
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    transform: translateX(-50%);
    color: #8a97ad;
    font-size: 1.2rem;
  }
}

/* ========== /sales/fund ========== */
.richell-fund .richell-stamp__head {
  margin-bottom: 1.15rem;
}

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

/* ========== 관심고객등록 (/pr/guest) ========== */
.richell-guest {
  max-width: 920px;
  margin: 0 auto 3rem;
  text-align: left;
  color: #222;
}

.richell-guest__flash {
  margin: 0 0 1.25rem;
  padding: 0.9rem 1rem;
  border-radius: 0.35rem;
  font-size: 0.95rem;
  line-height: 1.5;
}
.richell-guest__flash--ok {
  background: #e8f7ef;
  color: #067647;
}
.richell-guest__flash--err {
  background: #fef3f2;
  color: #b42318;
}
.richell-guest__again {
  margin: 0;
}
.richell-guest__again a {
  display: inline-block;
  padding: 0.7rem 1.2rem;
  background: #11284e;
  color: #fff;
  text-decoration: none;
}

.richell-guest__block {
  margin-bottom: 2.25rem;
}
.richell-guest__heading {
  margin: 0 0 0.85rem;
  font-size: 1.15rem;
  font-weight: 700;
  color: #111;
  letter-spacing: -0.03em;
}
.richell-guest__heading--bar {
  padding-top: 1.1rem;
  border-top: 3px solid #11284e;
}

.richell-guest__terms {
  max-height: 11.5rem;
  overflow: auto;
  padding: 1rem 1.1rem;
  border: 1px solid #cfd3da;
  background: #fff;
  font-size: 0.875rem;
  line-height: 1.7;
  color: #444;
  -webkit-overflow-scrolling: touch;
}
.richell-guest__terms--consent {
  max-height: none;
  overflow: visible;
}
.richell-guest__terms p,
.richell-guest__terms ol {
  margin: 0 0 0.75rem;
}
.richell-guest__terms ol {
  padding-left: 1.2rem;
}
.richell-guest__terms li + li {
  margin-top: 0.55rem;
}
.richell-guest__terms strong {
  color: #222;
  font-weight: 700;
}

.richell-guest__consent-table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.75rem 0 0;
  border: 1px solid #cfd3da;
  font-size: 0.84rem;
  line-height: 1.65;
  color: #333;
}
.richell-guest__consent-table th,
.richell-guest__consent-table td {
  border: 1px solid #cfd3da;
  padding: 0.7rem 0.85rem;
  vertical-align: middle;
  text-align: left;
  word-break: keep-all;
}
.richell-guest__consent-table th {
  width: 11.5rem;
  background: #f3f5f8;
  font-weight: 700;
  color: #222;
}
.richell-guest__consent-table--cols thead th {
  width: auto;
  text-align: center;
  background: #f3f5f8;
}
.richell-guest__consent-table--cols td {
  text-align: center;
}
.richell-guest__consent-note {
  margin: 0.75rem 0 0 !important;
  font-size: 0.8rem;
  color: #666;
  line-height: 1.55;
}

.richell-guest__consent-choices {
  margin: 0 0 2.25rem;
  display: grid;
  gap: 0.65rem;
}
.richell-guest__choice {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 0.65rem 1.25rem;
  padding: 0.85rem 1rem;
  background: #f2f3f5;
  border: 1px solid #e2e5ea;
}
.richell-guest__choice-q {
  margin: 0;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 18rem;
  flex: 1 1 18rem;
  font-size: 0.92rem;
  font-weight: 600;
  color: #222;
  letter-spacing: -0.02em;
}
.richell-guest__req {
  color: #c0392b;
}
.richell-guest__opt {
  color: #2c5aa0;
}
.richell-guest__choice-hint {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 100%;
  flex: 1 1 100%;
  margin: -0.15rem 0 0;
  font-size: 0.8rem;
  color: #777;
}

.richell-guest__radios,
.richell-guest__agree {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 1.5rem;
  margin-top: 0;
  font-size: 0.92rem;
  -ms-flex-negative: 0;
  flex-shrink: 0;
}
.richell-guest__radios label,
.richell-guest__agree label {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.4rem;
  cursor: pointer;
  color: #333;
  font-weight: 600;
}
.richell-guest__radios input,
.richell-guest__agree input {
  width: 1rem;
  height: 1rem;
  margin: 0;
}

.richell-guest__table {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #cfd3da;
  border-bottom: 1px solid #cfd3da;
}
.richell-guest__table th,
.richell-guest__table td {
  border-bottom: 1px solid #e2e5ea;
  vertical-align: middle;
  text-align: left;
}
.richell-guest__table th {
  width: 8.5rem;
  padding: 1rem 1rem;
  background: #f3f4f6;
  color: #333;
  font-weight: 600;
  font-size: 0.95rem;
  letter-spacing: -0.02em;
  text-align: center;
}
.richell-guest__table td {
  padding: 0.75rem 1rem;
  background: #fff;
}
.richell-guest__table input[type="text"],
.richell-guest__table input[type="tel"],
.richell-guest__table input[type="rh-tel"],
.richell-guest__table select {
  width: 100%;
  height: 2.5rem;
  padding: 0 0.7rem;
  border: 1px solid #cfd3da;
  background: #fff;
  color: #222;
  font-size: 0.9375rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border-radius: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}
.richell-guest__table select {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666666' d='M6 8L0 0h12z'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 0.75rem center;
  padding-right: 2rem;
}
.richell-guest__table input:disabled,
.richell-guest__table select:disabled {
  background-color: #f7f8fa;
  color: #999;
}

.richell-guest__phone,
.richell-guest__addr {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}
.richell-guest__phone {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  max-width: none;
}
.richell-guest__hypen {
  color: #666;
  text-align: center;
}
.richell-guest__phone select,
.richell-guest__phone input[type="tel"] {
  width: 100%;
}
.richell-guest__phone select {
  max-width: none;
}
.richell-guest__post {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.55rem;
}
.richell-guest__post input[type="text"] {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  cursor: pointer;
}
.richell-guest__post-btn {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  height: 2.5rem;
  padding: 0 1rem;
  border: 0;
  background: #11284e;
  color: #fff;
  font-size: 0.875rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  cursor: pointer;
  white-space: nowrap;
}
.richell-guest__post-btn:hover {
  background: #0d1f3d;
}

.richell-guest__notes {
  margin: 1.5rem 0 2rem;
  padding: 1rem 1.15rem;
  background: #f3f4f6;
  color: #666;
  font-size: 0.8125rem;
  line-height: 1.65;
}
.richell-guest__notes ul {
  margin: 0;
  padding-left: 1rem;
}
.richell-guest__notes li + li {
  margin-top: 0.25rem;
}

.richell-guest__actions {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 0.65rem;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.richell-guest__btn {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  min-width: 10.5rem;
  height: 3.1rem;
  padding: 0 1.5rem;
  border: 0;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  text-decoration: none;
  cursor: pointer;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}
.richell-guest__btn--primary {
  background: #11284e;
  color: #fff;
}
.richell-guest__btn--primary:hover {
  background: #0d1f3d;
}
.richell-guest__btn--cancel {
  background: #e5e7eb;
  color: #222;
}
.richell-guest__btn--cancel:hover {
  background: #d7dbe2;
}

@media (max-width: 767px) {
  .richell-guest {
    margin-bottom: 2rem;
  }
  .richell-guest__heading {
    font-size: 1.05rem;
  }
  .richell-guest__consent-table {
    font-size: 0.78rem;
  }
  .richell-guest__consent-table th,
  .richell-guest__consent-table td {
    padding: 0.55rem 0.6rem;
  }
  .richell-guest__consent-table th {
    width: 6.5rem;
  }
  .richell-guest__consent-table--cols {
    display: block;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
  }
  .richell-guest__consent-table--cols thead th,
  .richell-guest__consent-table--cols td {
    min-width: 6.5rem;
    white-space: normal;
  }
  .richell-guest__consent-choices {
    gap: 0.45rem;
    margin-bottom: 1.5rem;
  }
  .richell-guest__choice {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    gap: 0.4rem;
    padding: 0.65rem 0.75rem;
  }
  .richell-guest__choice-q {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 100%;
    font-size: 0.82rem;
    line-height: 1.4;
  }
  .richell-guest__choice-hint {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 100%;
    margin: 0;
    font-size: 0.72rem;
    line-height: 1.35;
  }
  .richell-guest__radios,
  .richell-guest__agree {
    gap: 1.1rem;
    font-size: 0.82rem;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
  }
  .richell-guest__table th {
    width: 5.5rem;
    padding: 0.75rem 0.5rem;
    font-size: 0.85rem;
  }
  .richell-guest__table td {
    padding: 0.65rem 0.55rem;
  }
  .richell-guest__phone,
  .richell-guest__addr {
    gap: 0.4rem;
  }
  .richell-guest__phone {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    max-width: none;
  }
  .richell-guest__phone select,
  .richell-guest__phone input[type="tel"] {
    width: 100%;
    min-width: 0;
    height: 2.35rem;
    box-sizing: border-box;
  }
  .richell-guest__post {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: stretch;
    -ms-flex-align: stretch;
    align-items: stretch;
  }
  .richell-guest__post-btn {
    height: 2.35rem;
    width: 100%;
  }
  .richell-guest__table input[type="text"],
  .richell-guest__table input[type="tel"],
  .richell-guest__table select {
    height: 2.35rem;
    font-size: 0.875rem;
    padding: 0 0.5rem;
  }
  .richell-guest__table select {
    padding-right: 1.5rem;
    background-position: right 0.45rem center;
  }
  .richell-guest__btn {
    min-width: 8.5rem;
    height: 2.85rem;
    font-size: 0.9375rem;
  }
}

/* ========== 인테리어 (/product/interior) ========== */
.richell-interior-wrap {
  max-width: 1100px;
  margin: 0 auto;
}

.richell-interior {
  width: 100%;
  color: #11284e;
  text-align: left;
}

.richell-interior__intro {
  margin-bottom: 2rem;
}

.richell-interior__eyebrow {
  margin: 0 0 0.75rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.75rem;
  letter-spacing: 0.28em;
  text-transform: uppercase;
  color: rgba(17, 40, 78, 0.55);
}

.richell-interior__intro h3 {
  margin: 0;
  font-family: "Nanum Myeongjo", serif;
  font-size: clamp(1.625rem, 3vw, 2.25rem);
  font-weight: 700;
  letter-spacing: -0.04em;
  line-height: 1.4;
  word-break: keep-all;
}

.richell-interior__intro > p {
  margin: 1.1rem 0 0;
  max-width: 40rem;
  font-size: 0.975rem;
  line-height: 1.85;
  letter-spacing: -0.02em;
  word-break: keep-all;
  color: rgba(17, 40, 78, 0.72);
}

.richell-interior__unit {
  max-width: 220px;
  margin: 0 auto 1.5rem;
  text-align: center;
}

.richell-interior__unit li {
  margin-left: 0 !important;
  float: none !important;
  display: inline-block;
}

.richell-interior__gallery {
  margin-bottom: 2.5rem;
}

.richell-interior__nav {
  margin: 0 0 1.5rem;
  padding: 0.45rem;
  background: -webkit-linear-gradient(
    165deg,
    #0f2448 0%,
    #163562 55%,
    #1a3f72 100%
  );
  background: -o-linear-gradient(165deg, #0f2448 0%, #163562 55%, #1a3f72 100%);
  background: linear-gradient(285deg, #0f2448 0%, #163562 55%, #1a3f72 100%);
}

.richell-interior__tabs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0.3rem;
}

.richell-interior__tabs > li {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 0;
  flex: 1 1 0;
  min-width: 0;
}

.richell-interior__tab {
  position: relative;
  appearance: none;
  -webkit-appearance: none;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  min-height: 4.25rem;
  margin: 0;
  padding: 0.7rem 0.4rem 0.85rem;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.72);
  font: inherit;
  cursor: pointer;
  -webkit-transition:
    background 0.3s ease,
    color 0.3s ease,
    -webkit-transform 0.3s ease;
  -o-transition:
    background 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease;
  transition:
    background 0.3s ease,
    color 0.3s ease,
    transform 0.3s ease,
    -webkit-transform 0.3s ease;
}

.richell-interior__tab em {
  display: block;
  margin: 0 0 0.35rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-style: normal;
  font-size: 0.625rem;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: rgba(232, 214, 178, 0.55);
  -webkit-transition: color 0.3s ease;
  -o-transition: color 0.3s ease;
  transition: color 0.3s ease;
}

.richell-interior__tab span {
  display: block;
  font-family: "Nanum Myeongjo", serif;
  font-size: 1.0625rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1.2;
  word-break: keep-all;
}

.richell-interior__tab::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0.45rem;
  width: 1.1rem;
  height: 2px;
  background: transparent;
  -webkit-transform: translateX(-50%) scaleX(0.4);
  -ms-transform: translateX(-50%) scaleX(0.4);
  transform: translateX(-50%) scaleX(0.4);
  -webkit-transition:
    background 0.3s ease,
    -webkit-transform 0.3s ease;
  -o-transition:
    background 0.3s ease,
    transform 0.3s ease;
  transition:
    background 0.3s ease,
    transform 0.3s ease,
    -webkit-transform 0.3s ease;
}

.richell-interior__tab:hover {
  color: #fff;
  background: rgba(255, 255, 255, 0.08);
}

.richell-interior__tab:hover em {
  color: rgba(232, 214, 178, 0.85);
}

.richell-interior__tab.is-active {
  color: #11284e;
  background: #fff;
  -webkit-box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.18);
}

.richell-interior__tab.is-active em {
  color: #238ec7;
}

.richell-interior__tab.is-active::after {
  background: #11284e;
  -webkit-transform: translateX(-50%) scaleX(1);
  -ms-transform: translateX(-50%) scaleX(1);
  transform: translateX(-50%) scaleX(1);
}

.richell-interior__panel[hidden] {
  display: none !important;
}

.richell-interior__panel.is-active {
  -webkit-animation: richellInteriorPanelIn 0.45s cubic-bezier(0.22, 1, 0.36, 1);
  animation: richellInteriorPanelIn 0.45s cubic-bezier(0.22, 1, 0.36, 1);
}

@-webkit-keyframes richellInteriorPanelIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 12px, 0);
    transform: translate3d(0, 12px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

@keyframes richellInteriorPanelIn {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 12px, 0);
    transform: translate3d(0, 12px, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
  }
}

.richell-interior__stage {
  position: relative;
  margin: 0 0 0.85rem;
  overflow: hidden;
  background: #e8edf2;
}

.richell-interior__stage img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition:
    -webkit-transform 0.7s ease,
    opacity 0.35s ease;
  -o-transition:
    transform 0.7s ease,
    opacity 0.35s ease;
  transition:
    transform 0.7s ease,
    opacity 0.35s ease,
    -webkit-transform 0.7s ease;
}

.richell-interior__stage figcaption {
  position: absolute;
  left: 0;
  bottom: 0;
  z-index: 2;
  margin: 0;
  padding: 0.55rem 0.9rem;
  background: rgba(17, 40, 78, 0.75);
  color: #fff;
  font-family: "Nanum Myeongjo", serif;
  font-size: 0.9375rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  line-height: 1;
  text-shadow: none;
}

.richell-interior__thumbs {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.6rem;
}

.richell-interior__thumb {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  border: 0;
  background: #e8edf2;
  overflow: hidden;
  cursor: pointer;
  outline: 2px solid transparent;
  outline-offset: 0;
  -webkit-transition:
    outline-color 0.25s ease,
    opacity 0.25s ease,
    -webkit-transform 0.35s ease;
  -o-transition:
    outline-color 0.25s ease,
    opacity 0.25s ease,
    transform 0.35s ease;
  transition:
    outline-color 0.25s ease,
    opacity 0.25s ease,
    transform 0.35s ease,
    -webkit-transform 0.35s ease;
  opacity: 0.72;
}

.richell-interior__thumb img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  -o-object-fit: cover;
  object-fit: cover;
  -webkit-transition: -webkit-transform 0.55s ease;
  -o-transition: transform 0.55s ease;
  transition:
    transform 0.55s ease,
    -webkit-transform 0.55s ease;
}

.richell-interior__thumb span {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 1;
  padding: 0.45rem 0.55rem;
  background: -webkit-linear-gradient(
    top,
    transparent 0%,
    rgba(8, 16, 30, 0.78) 100%
  );
  background: -o-linear-gradient(
    top,
    transparent 0%,
    rgba(8, 16, 30, 0.78) 100%
  );
  background: linear-gradient(
    180deg,
    transparent 0%,
    rgba(8, 16, 30, 0.78) 100%
  );
  color: #fff;
  font-size: 0.6875rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1;
  text-align: left;
}

.richell-interior__thumb:hover {
  opacity: 1;
  -webkit-transform: translateY(-2px);
  -ms-transform: translateY(-2px);
  transform: translateY(-2px);
}

.richell-interior__thumb:hover img {
  -webkit-transform: scale(1.05);
  -ms-transform: scale(1.05);
  transform: scale(1.05);
}

.richell-interior__thumb.is-active {
  opacity: 1;
  outline-color: #11284e;
}

.richell-interior__thumb.is-active::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
  border: 2px solid #11284e;
  pointer-events: none;
}

.richell-interior [data-reveal] {
  opacity: 0;
  -webkit-transform: translate3d(0, 1.75rem, 0);
  -ms-transform: translate3d(0, 1.75rem, 0);
  transform: translate3d(0, 1.75rem, 0);
  -webkit-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -o-transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  transition:
    opacity 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    transform 0.9s cubic-bezier(0.22, 1, 0.36, 1),
    -webkit-transform 0.9s cubic-bezier(0.22, 1, 0.36, 1);
  -webkit-transition-delay: var(--reveal-delay, 0s);
  -o-transition-delay: var(--reveal-delay, 0s);
  transition-delay: var(--reveal-delay, 0s);
}

.richell-interior .is-inview [data-reveal],
.richell-interior [data-reveal].is-inview {
  opacity: 1;
  -webkit-transform: none;
  -ms-transform: none;
  transform: none;
}

@media (max-width: 900px) {
  .richell-interior__tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.3rem;
  }

  .richell-interior__thumbs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .richell-interior__intro {
    margin-bottom: 1.5rem;
  }

  .richell-interior__intro > p .pc {
    display: none;
  }

  .richell-interior__unit {
    max-width: none;
    width: 100%;
    margin-bottom: 1.15rem;
  }

  .richell-interior__nav {
    margin-bottom: 1.1rem;
    padding: 0.35rem;
  }

  .richell-interior__tabs {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.25rem;
  }

  .richell-interior__tab {
    min-height: 3.6rem;
    padding: 0.55rem 0.25rem 0.7rem;
  }

  .richell-interior__tab em {
    font-size: 0.5625rem;
    letter-spacing: 0.1em;
    margin-bottom: 0.25rem;
  }

  .richell-interior__tab span {
    font-size: 0.9375rem;
  }

  /* 모바일: 메인/썸네일 전환 대신 전체 사진 세로 나열 */
  .richell-interior__stage {
    display: none;
  }

  .richell-interior__thumbs {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .richell-interior__thumb {
    opacity: 1;
    cursor: default;
    pointer-events: none;
    outline: none;
    -webkit-transform: none;
    -ms-transform: none;
    transform: none;
  }

  .richell-interior__thumb img {
    aspect-ratio: 16 / 10;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
  }

  .richell-interior__thumb span {
    left: 0;
    right: auto;
    padding: 0.5rem 0.75rem;
    font-size: 0.75rem;
    background: rgba(17, 40, 78, 0.75);
  }

  .richell-interior__thumb.is-active::after {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-interior [data-reveal],
  .richell-interior__panel.is-active {
    opacity: 1 !important;
    -webkit-transform: none !important;
    -ms-transform: none !important;
    transform: none !important;
    -webkit-animation: none !important;
    animation: none !important;
    -webkit-transition: none !important;
    -o-transition: none !important;
    transition: none !important;
  }
}

/* /sales/telecom — 협의결과서 이미지 */
.richell-telecom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.5rem;
  max-width: 920px;
  margin: 0 auto;
}

.richell-telecom img {
  width: 100%;
  height: auto;
  display: block;
  background: #fff;
}

@media (max-width: 767px) {
  .richell-telecom {
    gap: 1rem;
  }
}

/* 준비중 페이지 — 본문 블러 + 안내 문구 */
body.subpage.is-coming-soon #subpage-container {
  min-height: 32rem;
  overflow: hidden;
}
body.subpage.is-coming-soon #subpage-box {
  -webkit-filter: blur(16px);
  filter: blur(16px);
  pointer-events: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  max-height: 40rem;
  overflow: hidden;
}
body.subpage.is-coming-soon #subpage-container::before {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.42);
  z-index: 3;
  pointer-events: none;
}
body.subpage.is-coming-soon #subpage-container::after {
  content: "준비중입니다";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 4;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  font-family: "Noto Sans KR", sans-serif;
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.14em;
  color: #11284e;
  pointer-events: none;
}
@media (max-width: 767px) {
  body.subpage.is-coming-soon #subpage-container {
    min-height: 22rem;
  }
  body.subpage.is-coming-soon #subpage-box {
    max-height: 28rem;
  }
  body.subpage.is-coming-soon #subpage-container::after {
    font-size: 1.35rem;
    letter-spacing: 0.1em;
  }
}

/* ===== 평면안내 (원종역형 · 확장기본형) ===== */
.richell-unitplan-wrap--simple {
  background: transparent;
  padding: 0;
  max-width: 1100px;
  margin: 0 auto 3rem;
}

.richell-unitplan-wrap--simple ul.tabs2.unit.richell-unitplan-tabs {
  margin: 0 0 3.5rem;
}

.richell-unitplan-wrap--simple .richell-unitplan-contents {
  margin-top: 0;
}

.richell-unitplan-wrap--simple .richell-unitplan--simple.is-enter {
  -webkit-animation: unitplanPanelIn 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation: unitplanPanelIn 1.1s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.richell-unitplan-wrap--simple .richell-unitplan--simple.is-enter .richell-unitplan__card {
  -webkit-animation: unitplanCardIn 1.15s cubic-bezier(0.22, 1, 0.36, 1) both;
  animation: unitplanCardIn 1.15s cubic-bezier(0.22, 1, 0.36, 1) both;
}

.richell-unitplan-wrap--simple .richell-unitplan--simple.is-enter .richell-unitplan__ext {
  -webkit-animation: unitplanExtIn 1.25s cubic-bezier(0.22, 1, 0.36, 1) 0.22s both;
  animation: unitplanExtIn 1.25s cubic-bezier(0.22, 1, 0.36, 1) 0.22s both;
}

@-webkit-keyframes unitplanPanelIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes unitplanPanelIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@-webkit-keyframes unitplanCardIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(22px);
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@keyframes unitplanCardIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(22px);
    transform: translateY(22px);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0);
    transform: translateY(0);
  }
}

@-webkit-keyframes unitplanExtIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(28px) scale(0.985);
    transform: translateY(28px) scale(0.985);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1);
  }
}

@keyframes unitplanExtIn {
  from {
    opacity: 0;
    -webkit-transform: translateY(28px) scale(0.985);
    transform: translateY(28px) scale(0.985);
  }
  to {
    opacity: 1;
    -webkit-transform: translateY(0) scale(1);
    transform: translateY(0) scale(1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .richell-unitplan-wrap--simple .richell-unitplan--simple.is-enter,
  .richell-unitplan-wrap--simple .richell-unitplan--simple.is-enter .richell-unitplan__card,
  .richell-unitplan-wrap--simple .richell-unitplan--simple.is-enter .richell-unitplan__ext {
    -webkit-animation: none;
    animation: none;
  }
}

.richell-unitplan--simple {
  position: relative;
  background: #fff;
  border: 0;
  padding: 0;
  text-align: left;
}

.richell-unitplan__card {
  --unit-frame: 7px;
  --unit-navy: #11284e;
  --unit-frame-gray: #b7c0cd;
  --unit-divider: #cfd6e0;
  position: relative;
  top: auto;
  left: auto;
  width: auto;
  z-index: auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: stretch;
  -ms-flex-align: stretch;
  align-items: stretch;
  margin: 1rem 0 4.5rem;
  padding: 0;
  background: #fff;
  border: var(--unit-frame) solid var(--unit-frame-gray);
  border-radius: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.richell-unitplan__card-type {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 18rem;
  flex: 0 0 18rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin: calc(var(--unit-frame) * -1) 0 calc(var(--unit-frame) * -1) calc(var(--unit-frame) * -1);
  padding: 1.75rem 1.25rem;
  background: #fff;
  border: var(--unit-frame) solid var(--unit-navy);
  border-right: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.richell-unitplan__card-type h3 {
  margin: 0;
  font-size: clamp(5rem, 7.5vw, 7.25rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  color: var(--unit-navy);
  line-height: 1;
}

.richell-unitplan__card-body {
  position: relative;
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  padding: 1.15rem 1.5rem 1.25rem 1.9rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.richell-unitplan__card-body.has-keymap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 1rem 1.75rem;
}

.richell-unitplan__card-main {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 auto;
  flex: 1 1 auto;
  min-width: 0;
  max-width: 32rem;
}

.richell-unitplan__keymap {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  position: relative;
  top: auto;
  right: auto;
  z-index: 2;
  margin: 0;
  width: 16.5rem;
  max-width: 42%;
  -ms-flex-item-align: center;
  align-self: center;
}

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

.richell-unitplan__card-body::before {
  content: "";
  position: absolute;
  top: 1rem;
  bottom: 1rem;
  left: 0;
  width: 1px;
  background: var(--unit-divider);
}

.richell-unitplan--simple .richell-unitplan__badge {
  display: inline-block;
  margin: 0 0 1rem;
  padding: 0.45rem 1rem;
  border-radius: 0;
  background: #325ba5;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.01em;
  line-height: 1.35;
  white-space: normal;
  word-break: keep-all;
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

.richell-unitplan__specs--inline {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 1.5rem;
  margin: 0;
  padding: 0;
  list-style: none;
  width: auto;
  min-width: 0;
  max-width: none;
  border: 0;
  background: transparent;
}

.richell-unitplan__specs--inline li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  -ms-flex-direction: row;
  flex-direction: row;
  -webkit-box-align: baseline;
  -ms-flex-align: baseline;
  align-items: baseline;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  gap: 0.35rem;
  margin: 0;
  padding: 0.15rem 0;
  border: 0;
  background: transparent;
  text-align: left;
}

.richell-unitplan__specs--inline .richell-unitplan__spec-label {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 6em;
  flex: 0 0 6em;
  width: 6em;
  font-size: 0.9rem;
  font-weight: 700;
  color: #1a2433;
  letter-spacing: -0.02em;
  white-space: nowrap;
}

.richell-unitplan__specs--inline .richell-unitplan__spec-body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 0.1rem;
  text-align: left;
  min-width: 0;
}

.richell-unitplan__specs--inline .richell-unitplan__spec-value {
  font-size: 0.95rem;
  font-weight: 400;
  color: #555;
  letter-spacing: -0.02em;
  line-height: 1.3;
  word-break: keep-all;
}

.richell-unitplan__specs--inline .richell-unitplan__spec-note {
  font-size: 0.68rem;
  font-style: normal;
  font-weight: 400;
  color: #8a95a5;
}

.richell-unitplan__ext {
  margin: 0;
  padding: 0.25rem 0 0;
}

.richell-unitplan__ext-label {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  font-weight: 700;
  color: #11284e;
  letter-spacing: -0.02em;
}

.richell-unitplan__ext-label span {
  margin-left: 0.2rem;
  color: #2f5f9e;
}

.richell-unitplan__ext-fig {
  margin: 0;
  text-align: center;
  background: #fff;
  border: 1px solid #d7dde5;
  padding: 1.25rem 1rem;
}

.richell-unitplan__plan-stage {
  position: relative;
  display: inline-block;
  max-width: 100%;
  vertical-align: top;
  line-height: 0;
}

.richell-unitplan__ext-fig img,
.richell-unitplan__plan-stage img {
  display: block;
  max-width: 100%;
  height: auto;
}

/* 145 제외 평면도: 약간 작게 */
.richell-unitplan__ext--compact .richell-unitplan__plan-stage {
  max-width: 78%;
}

.richell-unitplan__ext--compact .richell-unitplan__plan-stage img {
  margin: 0 auto;
}

.richell-unitplan__plan-labels {
  position: absolute;
  inset: 0;
  pointer-events: none;
  z-index: 1;
}

.richell-unitplan__plan-label {
  position: absolute;
  transform: translate(-50%, -50%);
  margin: 0;
  padding: 0;
  font-size: clamp(0.58rem, 1.35vw, 0.92rem);
  font-weight: 700;
  line-height: 1.1;
  letter-spacing: -0.03em;
  color: #156082;
  white-space: nowrap;
  text-shadow:
    0 0 2px #fff,
    0 0 3px #fff,
    1px 0 0 #fff,
    -1px 0 0 #fff,
    0 1px 0 #fff,
    0 -1px 0 #fff;
}

@media (max-width: 900px) {
  .richell-unitplan__card {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
  }

  .richell-unitplan__card-type {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: auto;
    margin: calc(var(--unit-frame) * -1) calc(var(--unit-frame) * -1) 0;
    padding: 1.4rem 1rem;
    border: var(--unit-frame) solid var(--unit-navy);
    border-bottom: 0;
  }

  .richell-unitplan__card-body {
    padding: 1.15rem 1.25rem 1.25rem;
  }

  .richell-unitplan__card-body.has-keymap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 0.85rem;
  }

  .richell-unitplan__card-main {
    max-width: none;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
  }

  .richell-unitplan__keymap {
    width: 14rem;
    max-width: 62%;
    margin: 0 auto;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    -ms-flex-item-align: center;
    align-self: center;
  }

  .richell-unitplan__card-body::before {
    top: 0;
    bottom: auto;
    left: 1.25rem;
    right: 1.25rem;
    width: auto;
    height: 1px;
  }

  .richell-unitplan__specs--inline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.45rem 1.1rem;
  }
}

@media (max-width: 640px) {
  .richell-unitplan__card {
    --unit-frame: 5px;
  }

  .richell-unitplan__card-type h3 {
    font-size: 4rem;
  }

  .richell-unitplan__keymap {
    width: 11.5rem;
    max-width: 68%;
  }

  .richell-unitplan--simple .richell-unitplan__badge {
    font-size: 0.95rem;
    padding: 0.4rem 0.9rem;
  }

  .richell-unitplan__specs--inline {
    grid-template-columns: 1fr;
    gap: 0.35rem;
  }

  .richell-unitplan__ext-fig {
    padding: 0.85rem 0.5rem;
  }

  .richell-unitplan__plan-label {
    font-size: clamp(0.5rem, 2.6vw, 0.72rem);
  }
}

/* ===== 마감재리스트 ===== */
@keyframes site-page-enter {
  from { opacity: 0; transform: translateY(24px); }
  to { opacity: 1; transform: translateY(0); }
}

[data-page-enter].is-enter-pending {
  opacity: 0;
}

[data-page-enter].is-page-entered {
  animation: site-page-enter 0.7s cubic-bezier(0.22, 1, 0.36, 1) both;
}

@media (prefers-reduced-motion: reduce) {
  [data-page-enter].is-enter-pending { opacity: 1; }
  [data-page-enter].is-page-entered { animation: none; }
}

.richell-finish {
  width: 100%;
  max-width: 1100px;
  margin: 0 auto;
}

.richell-finish__lead {
  margin: 0 0 1rem;
  font-size: 0.98rem;
  font-weight: 600;
  color: #1a2433;
  letter-spacing: -0.02em;
  word-break: keep-all;
}

ul.tabs2.unit.richell-finish-tabs {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  margin: 0 auto 1.5rem;
  gap: 4px;
  border: 0;
  background: transparent;
  overflow: visible;
}

ul.tabs2.unit.richell-finish-tabs li {
  -webkit-box-flex: 1;
  -ms-flex: 1 1 calc((100% - 12px) / 4);
  flex: 1 1 calc((100% - 12px) / 4);
  width: auto !important;
  min-width: 7rem;
  max-width: none;
  height: auto !important;
  margin: 0 !important;
  line-height: normal !important;
  background: transparent !important;
  border: 0 !important;
}

ul.tabs2.unit.richell-finish-tabs li.selected,
ul.tabs2.unit.richell-finish-tabs li.active {
  background: transparent !important;
  border: 0 !important;
}

ul.tabs2.unit.richell-finish-tabs li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 3rem;
  min-height: 3rem;
  padding: 0 0.75rem;
  border: 0;
  border-radius: 0;
  background: #9ea6b2;
  color: #fff;
  font-size: 1rem;
  font-weight: 700;
  letter-spacing: -0.02em;
  line-height: 1.2;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: background 0.2s ease;
  -o-transition: background 0.2s ease;
  transition: background 0.2s ease;
  word-break: keep-all;
}

ul.tabs2.unit.richell-finish-tabs li.selected a,
ul.tabs2.unit.richell-finish-tabs li.active a,
ul.tabs2.unit.richell-finish-tabs li a:hover {
  background: #11284e;
  color: #fff;
}

.richell-finish__panel {
  text-align: left;
}

.richell-finish__table td.is-empty {
  text-align: center;
  color: #8a95a5;
  padding: 2rem 1rem;
}

@media (max-width: 767px) {
  ul.tabs2.unit.richell-finish-tabs {
    gap: 3px;
  }

  ul.tabs2.unit.richell-finish-tabs li {
    -ms-flex: 1 1 calc((100% - 3px) / 2);
    flex: 1 1 calc((100% - 3px) / 2);
    min-width: 0;
    max-width: none;
  }

  ul.tabs2.unit.richell-finish-tabs li a {
    height: 2.65rem;
    min-height: 2.65rem;
    font-size: 0.9rem;
  }
}

.richell-finish__lead span {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.86rem;
  font-weight: 500;
  color: #667384;
}

.richell-finish__scroll {
  width: 100%;
  box-sizing: border-box;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
  border: 1px solid #d7dde5;
  background: #fff;
}

.richell-finish__table {
  width: 100%;
  min-width: 980px;
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 0.82rem;
  line-height: 1.45;
  color: #243041;
}

.richell-finish__table th,
.richell-finish__table td {
  padding: 0.55rem 0.55rem;
  border: 1px solid #e2e7ee;
  vertical-align: middle;
  word-break: keep-all;
  overflow-wrap: anywhere;
}

.richell-finish__table thead th {
  background: #11284e;
  color: #fff;
  font-weight: 600;
  text-align: center;
  white-space: nowrap;
}

.richell-finish__table tbody tr:nth-child(even) td:not(.is-cat) {
  background: #f7f9fb;
}

.richell-finish__table td.is-cat {
  font-weight: 700;
  color: #11284e;
  background: #eef2f7;
  text-align: center;
  vertical-align: middle;
}

.richell-finish__table td.is-photo {
  text-align: center;
  padding: 0.4rem;
}

.richell-finish__photo {
  display: inline-block;
  width: 4.5rem;
  height: 4.5rem;
  border: 1px solid #d7dde5;
  background: #fff;
  overflow: hidden;
  line-height: 0;
}

.richell-finish__photo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  vertical-align: top;
}

.richell-finish__photo-empty {
  color: #a0a8b4;
}

.richell-finish__table th:nth-child(1),
.richell-finish__table td:nth-child(1) { width: 8%; }
.richell-finish__table th:nth-child(2),
.richell-finish__table td:nth-child(2) { width: 12%; }
.richell-finish__table th:nth-child(3),
.richell-finish__table td:nth-child(3) { width: 9%; }
.richell-finish__table th:nth-child(4),
.richell-finish__table td:nth-child(4) { width: 11%; }
.richell-finish__table th:nth-child(5),
.richell-finish__table td:nth-child(5) { width: 15%; }
.richell-finish__table th:nth-child(6),
.richell-finish__table td:nth-child(6) { width: 9%; }
.richell-finish__table th:nth-child(7),
.richell-finish__table td:nth-child(7) { width: 9%; }
.richell-finish__table th:nth-child(8),
.richell-finish__table td:nth-child(8) { width: 8%; }
.richell-finish__table th:nth-child(9),
.richell-finish__table td:nth-child(9) { width: 14%; }

@media (max-width: 767px) {
  .richell-finish__scroll {
    overflow: visible;
    border: 0;
    background: transparent;
  }

  .richell-finish__table {
    min-width: 0;
    width: 100%;
    table-layout: auto;
    font-size: 0.86rem;
    border-collapse: separate;
    border-spacing: 0;
  }

  .richell-finish__table thead {
    display: none;
  }

  .richell-finish__table tbody {
    display: block;
  }

  .richell-finish__table tbody tr.richell-finish__row {
    display: block;
    margin: 0 0 0.75rem;
    border: 1px solid #d7dde5;
    background: #fff;
    overflow: hidden;
  }

  .richell-finish__table tbody tr.richell-finish__row::before {
    content: attr(data-category);
    display: block;
    padding: 0.7rem 0.85rem;
    background: #eef2f7;
    color: #11284e;
    font-size: 0.92rem;
    font-weight: 700;
    letter-spacing: -0.02em;
    border-bottom: 1px solid #d7dde5;
  }

  .richell-finish__table tbody tr.richell-finish__row td {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    gap: 0.85rem;
    width: auto !important;
    padding: 0.65rem 0.85rem;
    border: 0;
    border-bottom: 1px solid #eef1f5;
    text-align: left;
    background: #fff !important;
  }

  .richell-finish__table tbody tr.richell-finish__row td:last-child {
    border-bottom: 0;
  }

  .richell-finish__table tbody tr.richell-finish__row td.is-cat {
    display: none !important;
  }

  .richell-finish__table tbody tr.richell-finish__row td.is-blank {
    display: none !important;
  }

  .richell-finish__table tbody tr.richell-finish__row td::before {
    content: attr(data-label);
    -webkit-box-flex: 0;
    -ms-flex: 0 0 4.6rem;
    flex: 0 0 4.6rem;
    max-width: 35%;
    color: #667384;
    font-weight: 600;
    font-size: 0.78rem;
    line-height: 1.45;
  }

  .richell-finish__table tbody tr.richell-finish__row td.is-photo {
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
  }

  .richell-finish__photo {
    width: 4.2rem;
    height: 4.2rem;
  }

  .richell-finish__table td.is-empty {
    display: block;
    border: 1px solid #d7dde5;
    background: #fff;
  }
}

/* ===== 언론보도 (3열 카드 그리드) ===== */
.richell-press {
  width: 100%;
  max-width: 1180px;
  margin: 0 auto;
}

.richell-press-empty {
  padding: 4rem 1rem;
  text-align: center;
  color: #888;
  font-size: 1rem;
}

.richell-press-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1.25rem 1.15rem;
}

.richell-press-card {
  margin: 0;
  padding: 0;
  height: 100%;
  background: #fff;
  border: 1px solid #e5e7eb;
  border-radius: 0;
  box-shadow: none;
  text-align: left;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transition: border-color 0.2s ease;
  transition: border-color 0.2s ease;
}

.richell-press-card.is-link:hover {
  border-color: #c5ccd6;
}

.richell-press-card__link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  padding: 1.65rem 1.5rem 1.35rem;
  color: inherit;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer;
}

.richell-press-card:not(.is-link) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  height: 100%;
  padding: 1.65rem 1.5rem 1.35rem;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.richell-press-card__title {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin: 0 0 0.75rem;
  font-size: 1.08rem;
  font-weight: 700;
  line-height: 1.5;
  max-height: 3em; /* 1.5 * 2줄 */
  letter-spacing: -0.03em;
  color: #111;
  word-break: keep-all;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  line-clamp: 2;
}

.richell-press-card__body {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin: 0;
  font-size: 0.9rem;
  font-weight: 400;
  line-height: 1.7;
  max-height: 5.1em; /* 1.7 * 3줄 — 글자 중간 잘림 방지 */
  letter-spacing: -0.02em;
  color: #666;
  word-break: keep-all;
  overflow-wrap: break-word;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
  line-clamp: 3;
}

.richell-press-card__meta {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  gap: 0.5rem 0.75rem;
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  margin-top: auto;
  padding-top: 1.25rem;
  font-size: 0.85rem;
  color: #999;
  letter-spacing: -0.02em;
}

.richell-press-card__source {
  font-weight: 400;
  color: #999;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.richell-press-card__date {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  font-weight: 400;
  color: #999;
  white-space: nowrap;
}

.richell-press-paging {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.35rem;
  margin: 2.5rem 0 0;
}

.richell-press-paging a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2rem;
  height: 2rem;
  padding: 0 0.45rem;
  border: 1px solid #d7dde6;
  color: #555;
  font-size: 0.9rem;
  text-decoration: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

.richell-press-paging a.is-active,
.richell-press-paging a:hover {
  background: #11284e;
  border-color: #11284e;
  color: #fff;
}

@media (max-width: 1024px) {
  .richell-press-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .richell-press-list {
    grid-template-columns: 1fr;
    gap: 0.9rem;
  }

  .richell-press-card__link,
  .richell-press-card:not(.is-link) {
    padding: 1.35rem 1.15rem 1.2rem;
  }

  .richell-press-card__title {
    font-size: 1.02rem;
  }

  .richell-press-card__body {
    font-size: 0.88rem;
    max-height: 5.1em;
    -webkit-line-clamp: 3;
    line-clamp: 3;
  }

  .richell-press-card__meta {
    font-size: 0.8rem;
  }
}

/* ========== 커뮤니티 페이지 (/complex/community) ========== */
.richell-comm-page {
  --rcp-navy: #11284e;
  --rcp-green: #4f6f4a;
  --rcp-muted: #667085;
  width: 100%;
  max-width: 1180px;
  margin: 0 auto 2.5rem;
  color: var(--rcp-navy);
  text-align: left;
}

.rcp-hero {
  position: relative;
  overflow: hidden;
  min-height: clamp(22rem, 48vw, 30rem);
  margin: 0 0 3.5rem;
  background: #1a2a1f;
}

.rcp-hero__media,
.rcp-hero__veil {
  position: absolute;
  inset: 0;
}

.rcp-hero__media img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.04);
}

.rcp-hero__veil {
  background:
    linear-gradient(90deg, rgba(12, 22, 18, 0.78) 0%, rgba(12, 22, 18, 0.42) 52%, rgba(12, 22, 18, 0.18) 100%),
    linear-gradient(0deg, rgba(12, 22, 18, 0.35), transparent 45%);
}

.rcp-hero__copy {
  position: relative;
  z-index: 1;
  max-width: 36rem;
  padding: clamp(2.5rem, 6vw, 4.5rem) clamp(1.4rem, 4vw, 3.25rem);
}

.rcp-hero__eyebrow {
  margin: 0 0 1rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.72rem;
  font-weight: 500;
  letter-spacing: 0.24em;
  text-transform: uppercase;
  color: rgba(255, 255, 255, 0.72);
}

.rcp-hero__title {
  margin: 0;
  font-size: clamp(1.85rem, 4vw, 2.85rem);
  font-weight: 700;
  line-height: 1.35 !important;
  letter-spacing: -0.04em;
  color: #fff;
  word-break: keep-all;
}

.rcp-hero__lead {
  margin: 1.25rem 0 0;
  font-size: 0.98rem;
  line-height: 1.85 !important;
  letter-spacing: -0.02em;
  color: rgba(255, 255, 255, 0.82);
  word-break: keep-all;
}

.rcp-block {
  margin: 0 0 4rem;
}

.rcp-block__head {
  display: flex;
  align-items: flex-start;
  gap: 1.1rem 1.5rem;
  margin: 0 0 1.75rem;
}

.rcp-block__index {
  flex: 0 0 auto;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 2rem;
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.04em;
  color: #c5d0bc;
}

.rcp-block__label {
  margin: 0 0 0.35rem;
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: var(--rcp-green);
}

.rcp-block__desc {
  margin: 0;
  font-size: 1rem;
  line-height: 1.6 !important;
  letter-spacing: -0.02em;
  color: var(--rcp-muted);
  word-break: keep-all;
}

.rcp-bento {
  display: grid;
  grid-template-columns: 1.35fr 1fr;
  grid-template-rows: repeat(2, minmax(11.5rem, 1fr));
  gap: 0.85rem;
  min-height: 28rem;
}

.rcp-bento__feature {
  position: relative;
  grid-row: 1 / span 2;
  overflow: hidden;
  background: #1c2a20;
  min-height: 24rem;
}

.rcp-bento__feature figure,
.rcp-bento__item figure {
  margin: 0;
  height: 100%;
}

.rcp-bento__feature img,
.rcp-bento__item img,
.rcp-strip__card img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 0.55s ease;
}

.rcp-bento__feature:hover img,
.rcp-bento__item:hover img,
.rcp-strip__card:hover img {
  transform: scale(1.05);
}

.rcp-bento__overlay {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  padding: 1.6rem 1.5rem 1.45rem;
  background: linear-gradient(0deg, rgba(10, 18, 14, 0.88) 0%, rgba(10, 18, 14, 0.35) 70%, transparent 100%);
  color: #fff;
}

.rcp-bento__script {
  margin: 0 0 0.35rem;
  font-family: Georgia, "Times New Roman", serif;
  font-size: 0.95rem;
  font-style: italic;
  color: #c8d6b8;
}

.rcp-bento__kicker {
  margin: 0 0 0.85rem;
  font-size: 1.15rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  word-break: keep-all;
}

.rcp-bento__name {
  margin: 0 0 0.35rem;
  font-size: 1.08rem;
  font-weight: 700;
  letter-spacing: -0.03em;
  color: inherit;
  word-break: keep-all;
  line-height: 1.35 !important;
}

.rcp-bento__text {
  margin: 0;
  font-size: 0.9rem;
  line-height: 1.6 !important;
  letter-spacing: -0.02em;
  color: inherit;
  opacity: 0.88;
  word-break: keep-all;
}

.rcp-bento__item {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e4e9e2;
  min-height: 0;
}

.rcp-bento__item figure {
  flex: 1 1 auto;
  min-height: 8.5rem;
  overflow: hidden;
  background: #e8ede6;
}

.rcp-bento__body {
  flex: 0 0 auto;
  padding: 1rem 1.05rem 1.1rem;
  color: var(--rcp-navy);
}

.rcp-bento__body .rcp-bento__text {
  color: var(--rcp-muted);
  opacity: 1;
}

.rcp-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.85rem;
}

.rcp-strip__card {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  background: #fff;
  border: 1px solid #e4e9e2;
  min-height: 100%;
}

.rcp-strip__card figure {
  margin: 0;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  background: #e8ede6;
}

.rcp-strip__body {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 1.05rem 1.05rem 1.2rem;
  color: var(--rcp-navy);
}

.rcp-strip__body > span {
  font-family: "futura", "DEFINE", sans-serif;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  color: var(--rcp-green);
}

.rcp-strip__body .rcp-bento__text {
  color: var(--rcp-muted);
  opacity: 1;
}

@media (max-width: 1024px) {
  .rcp-bento {
    grid-template-columns: 1fr 1fr;
    grid-template-rows: auto;
    min-height: 0;
  }

  .rcp-bento__feature {
    grid-column: 1 / -1;
    grid-row: auto;
    min-height: 20rem;
  }

  .rcp-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .rcp-hero {
    min-height: 24rem;
    margin-bottom: 2.5rem;
  }

  .rcp-hero__copy {
    padding: 2.1rem 1.2rem 2rem;
  }

  .rcp-hero__title {
    font-size: 1.7rem;
  }

  .rcp-hero__lead {
    font-size: 0.9rem;
  }

  .rcp-hero__lead .pc {
    display: none;
  }

  .rcp-block {
    margin-bottom: 2.75rem;
  }

  .rcp-block__head {
    gap: 0.75rem;
  }

  .rcp-block__index {
    font-size: 1.55rem;
  }

  .rcp-bento {
    grid-template-columns: 1fr;
    gap: 0.75rem;
  }

  .rcp-bento__feature {
    min-height: 18rem;
  }

  .rcp-strip {
    grid-template-columns: 1fr;
  }
}
