/* official-main.css — 공식 메인 복제 구간(.om)의 스타일. 두 저장소(D1·D2)가 같은 파일을 쓴다.
   원본: 직원 사이트 A의 om-block.css (arkone-cheongna-staff design/v2-20261004 2d5bd6a).
   바꾼 곳: 맨 앞 초기화 블록 추가(직원 사이트의 Tailwind 기본 초기화를 .om 안에서만 대신한다),
   직원 사이트 헤더(.ak-hd) 규칙·.om-hero 의 --bar·.om-info 규칙을 뺐다(사이트별 official-main-site.css 에서 정한다).
   h1 의 역할 줄을 뺀 만큼 OPEN 표시를 translateY 로 내리는 규칙을 맨 끝에 더했다. */

/* ── .om 안에서만 걸리는 기본 초기화(Tailwind preflight 상당). :where() 로 우선순위를 0으로 두어 아래의 om- 규칙을 덮지 않는다 ── */
:where(.om),
:where(.om) *,
:where(.om) *::before,
:where(.om) *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
  border: 0 solid;
}
:where(.om) {
  font-size: 16px;
  font-weight: 400;
  font-style: normal;
  text-align: start;
  text-transform: none;
  white-space: normal;
  text-decoration: none;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
}
:where(.om) h1,
:where(.om) h2,
:where(.om) h3,
:where(.om) h4,
:where(.om) h5,
:where(.om) h6 {
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  word-break: inherit;
}
:where(.om) a {
  color: inherit;
  text-decoration: inherit;
}
:where(.om) b,
:where(.om) strong {
  font-weight: bolder;
}
:where(.om) small {
  font-size: 80%;
}
:where(.om) address {
  font-style: inherit;
}
:where(.om) time {
  font: inherit;
}
:where(.om) ol,
:where(.om) ul,
:where(.om) menu {
  list-style: none;
}
:where(.om) nav,
:where(.om) header,
:where(.om) section,
:where(.om) article,
:where(.om) figure,
:where(.om) figcaption {
  display: block;
  gap: normal;
  font-size: inherit;
}
:where(.om) img,
:where(.om) svg,
:where(.om) video,
:where(.om) canvas,
:where(.om) iframe {
  display: block;
  vertical-align: middle;
}
:where(.om) img,
:where(.om) video {
  max-width: 100%;
  height: auto;
}
:where(.om) button,
:where(.om) input,
:where(.om) select,
:where(.om) textarea {
  font: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  letter-spacing: inherit;
  color: inherit;
  border-radius: 0;
  background-color: transparent;
  opacity: 1;
}
:where(.om) button {
  appearance: button;
  cursor: pointer;
  text-transform: inherit;
}
:where(.om) [lang="en"] {
  font-weight: inherit;
}
:where(.om) :focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 2px;
}
/* 인트로가 도는 동안에는 사이트의 이벤트 팝업을 숨긴다(사이트 스크립트는 고치지 않는다). 인트로가 끝나 data-om-intro 가 빠지면 보인다 */
html[data-om-intro] .prereg-popup,
html[data-om-intro] .prereg-pop {
  visibility: hidden !important;
}

/* ── 공식 메인 복제 (작업지시서 2·3) ──────────────────────────────────────────
   2026-10-05 공식 메인(main.v4.css)의 값을 그대로 옮긴 홈 본문. 클래스는 om- 으로 시작한다.
   단위: 공식의 calc(N / 기준폭 * 화면폭)을 --u(= 화면폭 / 기준폭)로 쓴다. 기준폭은 휴대폰 390, PC 1920.
   배치: 기본은 일반 스크롤(휴대폰, 「동작 줄이기」). PC에서 장면 전환이 켜지면 .om--stage 규칙이 덮는다.
   서체: 공식의 공개 웹폰트(SUIT, Aboreto)는 같은 것을 쓰고, 공개되지 않은 서체(을유1945)는 Hahmlet 으로 맞춘다. */
.om {
  --u: calc(min(100vw, 480px) / 390);
  --vh: var(--om-vh, 100svh);
  --om-util: 0px;
  --om-hd: 60px;
  --pm: calc(20 * var(--u));
  --primary: #004b45;
  --primary-strong: #003a35;
  --secondary: #8b7f71;
  --label-strong: #111111;
  --white: #ffffff;
  --en: "Aboreto", "Hahmlet", serif;
  --base: "SUIT", "Pretendard Variable", "Pretendard", sans-serif;
  --eul: "Hahmlet", "Nanum Myeongjo", serif;
  --ease: cubic-bezier(0.4, 0, 0.8, 1);
  --dur: 1s;
  position: relative;
  overflow-x: clip;
  background: #fff;
  color: var(--label-strong);
  font-family: var(--base);
  line-height: 1.5;
  letter-spacing: -0.02em;
  word-break: keep-all;
}
.om img,
.om video {
  display: block;
  max-width: 100%;
}
.om h1,
.om h2,
.om h3,
.om h4,
.om p,
.om dl,
.om dd,
.om figure,
.om ol,
.om address {
  margin: 0;
}
.om ol {
  padding: 0;
  list-style: none;
}
.om address {
  font-style: normal;
}
.om .om-s a {
  color: inherit;
  text-decoration: none;
}
.om .om-s button,
.om .om-nav button,
.om .om-intro button,
.om .om-modal button {
  font: inherit;
  color: inherit;
}
.om [lang="en"] {
  font-family: var(--en);
  letter-spacing: 0.02em;
}
.om-blind {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
  border: 0;
}
.om-pc-only {
  display: none;
}
.om-m-only {
  display: inline;
}

/* ── 인트로 (main_intro) ─────────────────────────────────────────────────── */
.om-intro {
  --i-scene: 0.5s;
  --i-copy1: 3.5s;
  --i-copy2: 2.05s;
  --i-copy3: 1.6s;
  --i-delay1: 0.25s;
  --i-delay2: 1.7s;
  --i-delay3: 3.4s;
  --i-scale: 1;
  --i-line: calc(38 * var(--u));
  --i-kicker-gap: calc(17 * var(--u));
  --i-title-gap: calc(19 * var(--u));
  --i-ease: cubic-bezier(0.45, 0, 0.75, 1);
  position: fixed;
  inset: 0;
  z-index: 1200;
  overflow: hidden;
  color: #fff;
  background: #6d8998;
  isolation: isolate;
  animation: om-intro-out 0.6s 5s ease both;
}
.om-intro__loading,
.om-intro__scene,
.om-intro__video,
.om-intro__dim,
.om-intro__copy {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.om-intro__loading {
  z-index: 5;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(12 * var(--u));
  background: #507082;
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.3s ease, visibility 0s linear 0.3s;
}
.om-intro.is-loading .om-intro__loading {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}
.om-intro__loading_indicator {
  display: block;
  width: calc(30 * var(--u));
  aspect-ratio: 1;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-top-color: currentColor;
  border-radius: 50%;
  animation: om-spin 1s linear infinite;
}
.om-intro__loading_label {
  font-size: calc(10 * var(--u));
  font-weight: 500;
  letter-spacing: 0.2em;
  line-height: 1;
}
.om-intro__scene {
  z-index: 1;
  opacity: 0;
  visibility: hidden;
  background: #6d8998;
}
.om-intro.is-playing .om-intro__scene {
  visibility: visible;
  animation: om-fade-in var(--i-scene) ease-out forwards;
}
.om-intro__video {
  z-index: 0;
  object-fit: cover;
  object-position: 68% center;
  pointer-events: none;
}
.om-intro__dim {
  z-index: 1;
  background: linear-gradient(180deg, #006d8c 0%, #272727 80.32%);
  opacity: 0.2;
}
.om-intro__copy {
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0 calc(20 * var(--u));
  opacity: 0;
  text-align: center;
  pointer-events: none;
}
.om-intro__copy-01 { z-index: 3; }
.om-intro__copy-02 { z-index: 2; }
.om-intro__copy-03 { z-index: 4; }
.om-intro.is-playing .om-intro__copy-01 {
  animation: om-intro-copy1-fade var(--i-copy1) var(--i-ease) var(--i-delay1) both;
}
.om-intro.is-playing .om-intro__copy-02 {
  animation: om-intro-copy2-fade var(--i-copy2) var(--i-ease) var(--i-delay2) both;
}
.om-intro.is-playing .om-intro__copy-03 {
  animation: om-intro-copy3-fade var(--i-copy3) var(--i-ease) var(--i-delay3) both;
}
.om-intro__phrase {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  font-size: calc(13 * var(--u));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -0.03em;
  text-indent: -0.03em;
  white-space: nowrap;
  transform: translate3d(-50%, -50%, 0) scale(var(--i-scale));
}
.om-intro.is-playing .om-intro__phrase {
  animation: om-intro-phrase var(--i-copy1) cubic-bezier(0.52, 0, 0.17, 0.78) var(--i-delay1) both;
}
.om-intro__copy-02::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 1px;
  height: var(--i-line);
  background: rgba(255, 255, 255, 0.72);
  content: "";
  opacity: 0;
  transform: translate3d(-50%, -50%, 0) scaleY(0);
}
.om-intro.is-playing .om-intro__copy-02::before {
  animation: om-intro-line var(--i-copy2) var(--i-ease) var(--i-delay2) both;
}
.om-intro__title {
  position: absolute;
  top: calc(50% + var(--i-line) / 2 + var(--i-title-gap));
  left: 50%;
  font-size: calc(20 * var(--u));
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.02em;
  white-space: nowrap;
  opacity: 0;
  transform: translate3d(-50%, 0, 0);
}
.om-intro.is-playing .om-intro__title {
  animation: om-intro-title var(--i-copy2) var(--i-ease) var(--i-delay2) both;
}
.om-intro__kicker {
  margin-bottom: calc(12 * var(--u));
  font-size: calc(13 * var(--u));
  line-height: 1.4;
  letter-spacing: -0.03em;
}
.om-intro__brand {
  font-size: calc(20 * var(--u));
  font-weight: 300;
  line-height: 1.25;
  letter-spacing: 0.02em;
  white-space: nowrap;
}
.om-intro__skip {
  position: absolute;
  z-index: 6;
  bottom: max(9%, calc(24 * var(--u) + env(safe-area-inset-bottom, 0px)));
  left: 50%;
  padding: 0;
  border: 0;
  background: transparent;
  color: rgba(255, 255, 255, 0.82);
  font-size: calc(13 * var(--u));
  line-height: 1;
  letter-spacing: 0.03em;
  cursor: pointer;
  transform: translateX(-50%);
}
.om-intro__skip::after {
  display: block;
  width: 100%;
  height: 1px;
  margin-top: 4px;
  background: currentColor;
  content: "";
}
@keyframes om-spin {
  to { transform: rotate(360deg); }
}
@keyframes om-fade-in {
  to { opacity: 1; }
}
@keyframes om-intro-out {
  to { opacity: 0; visibility: hidden; }
}
@keyframes om-intro-copy1-fade {
  0% { opacity: 0; }
  12%, 87% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes om-intro-phrase {
  0% {
    letter-spacing: 1.4em;
    text-indent: 1.4em;
    transform: translate3d(-50%, -50%, 0) scale(var(--i-scale));
  }
  38%, 42% {
    letter-spacing: -0.03em;
    text-indent: -0.03em;
    transform: translate3d(-50%, -50%, 0) scale(var(--i-scale));
  }
  60%, 100% {
    letter-spacing: -0.03em;
    text-indent: -0.03em;
    transform: translate3d(-50%, calc(-50% - var(--i-line) / 2 - var(--i-kicker-gap) - 0.7em), 0) scale(1);
  }
}
@keyframes om-intro-copy2-fade {
  0% { opacity: 0; }
  14%, 78% { opacity: 1; }
  100% { opacity: 0; }
}
@keyframes om-intro-line {
  0%, 10% { opacity: 0; transform: translate3d(-50%, -50%, 0) scaleY(0); }
  38%, 78% { opacity: 1; transform: translate3d(-50%, -50%, 0) scaleY(1); }
  100% { opacity: 0; transform: translate3d(-50%, -50%, 0) scaleY(1); }
}
@keyframes om-intro-title {
  0%, 22% { opacity: 0; transform: translate3d(-50%, calc(0px - var(--i-line) / 2 - var(--i-title-gap) - 0.6em), 0); }
  54%, 78% { opacity: 1; transform: translate3d(-50%, 0, 0); }
  100% { opacity: 0; transform: translate3d(-50%, 0, 0); }
}
@keyframes om-intro-copy3-fade {
  0% { opacity: 0; transform: scale(0.9) translateY(1%); }
  32%, 72% { opacity: 1; transform: scale(1) translateY(0); }
  100% { opacity: 0; transform: scale(1) translateY(1%); }
}

/* ── 구간 표시(PC 오른쪽 가장자리) ──────────────────────────────────────────── */
.om-nav {
  display: none;
}

/* ── 1·2 히어로 ────────────────────────────────────────────────────────────── */
.om-hero {
  --gutter: calc(24 * var(--u));
  --copy-top: calc(130 * var(--u));
  position: relative;
  margin-top: calc(-1 * var(--om-hd)); /* 헤더가 영상 위에 투명하게 겹친다 */
  color: var(--white);
  background: var(--primary);
}
.om-hero__stage {
  position: relative;
  width: 100%;
}
.om-hero__viewport {
  position: sticky;
  top: 0;
  width: 100%;
  height: var(--vh);
  overflow: hidden;
}
.om-hero__background,
.om-hero__surface,
.om-hero__poster,
.om-hero__poster img,
.om-hero__video,
.om-hero__dim {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.om-hero__background {
  z-index: 0;
  overflow: hidden;
  background: var(--primary);
  transition: opacity calc(var(--dur) * 0.6) var(--ease);
}
.om-hero__poster img {
  object-fit: cover;
  object-position: center;
}
.om-hero__video {
  max-width: none;
  object-fit: cover;
  object-position: center;
  opacity: 1;
}
.om-hero__dim {
  background: linear-gradient(to bottom, rgba(0, 33, 56, 0.6) 0%, rgba(102, 102, 102, 0) 100%);
}
.om-hero__surface {
  z-index: 2;
  opacity: 0;
  visibility: hidden;
  background: #fff;
  transition: opacity var(--dur) var(--ease), visibility 0s linear var(--dur);
}
.om-hero__copy {
  position: absolute;
  z-index: 5;
  top: var(--copy-top);
  left: var(--gutter);
  width: calc(342 * var(--u));
  transition: color calc(var(--dur) * 0.5) var(--ease);
}
.om-hero__title {
  display: flex;
  flex-direction: column;
  margin-top: calc(70 * var(--u));
  font-size: calc(36 * var(--u));
  font-weight: 400;
  line-height: 1.1667;
  white-space: nowrap;
}
.om-hero__h1 {
  margin-top: calc(10 * var(--u));
  font-weight: 700;
  line-height: 1.3333;
  letter-spacing: -0.03em;
}
.om-hero__ko {
  display: block;
  font-size: calc(16 * var(--u));
}
.om-hero__role {
  display: block;
  margin-top: 4px;
  font-size: calc(12 * var(--u));
  font-weight: 400;
  letter-spacing: -0.01em;
  opacity: 0.9;
}
.om-hero__open {
  display: inline-flex;
  width: fit-content;
  height: calc(40 * var(--u));
  align-items: center;
  justify-content: center;
  gap: 0.15em;
  margin-top: calc(28 * var(--u));
  padding: 0 calc(20 * var(--u));
  border: 1px solid rgba(255, 255, 255, 0.72);
  border-radius: 999px;
  box-shadow: inset 0 0 0 3px rgba(255, 255, 255, 0.18);
  font-size: calc(14 * var(--u));
  font-weight: 400;
  line-height: 1;
  letter-spacing: -0.04em;
  color: var(--white);
  background: rgba(20, 28, 31, 0.2);
  -webkit-backdrop-filter: blur(3px);
  backdrop-filter: blur(3px);
  transition: background-color var(--dur) var(--ease);
}
.om-hero__open strong {
  font-weight: 700;
}
.om-hero__ui {
  position: absolute;
  z-index: 6;
  inset: 0;
  pointer-events: none;
  transition: opacity var(--dur) var(--ease), visibility 0s linear;
}
.om-hero__scroll,
.om-hero__quick_item,
.om-hero__video_trigger {
  pointer-events: auto;
}
.om-hero__video_cta {
  position: absolute;
  left: var(--pm);
  bottom: calc(var(--bar) + 20 * var(--u) + var(--om-util));
  width: calc(130 * var(--u));
  height: calc(50 * var(--u));
}
.om .om-s .om-hero__video_trigger {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: flex-start;
  gap: calc(10 * var(--u));
  padding: 0 calc(14 * var(--u));
  border: 0;
  border-radius: 999px;
  color: var(--label-strong);
  background: var(--white);
  box-shadow: 0 4px 14px rgba(0, 0, 0, 0.12);
  cursor: pointer;
  text-align: left;
}
.om-hero__video_label {
  display: block;
  font-size: calc(13 * var(--u));
  font-weight: 600;
  line-height: 1.3;
  letter-spacing: -0.03em;
  white-space: nowrap;
}
.om-hero__video_play {
  order: -1;
  display: flex;
  width: calc(28 * var(--u));
  aspect-ratio: 26 / 19;
  flex: 0 0 auto;
  align-items: center;
  justify-content: center;
  background: none;
}
.om-hero__video_play img {
  width: 100%;
}
.om-hero__scroll {
  position: absolute;
  bottom: calc(var(--bar) + 12 * var(--u) + var(--om-util));
  left: 50%;
  display: flex;
  flex-direction: column-reverse;
  align-items: center;
  gap: calc(4 * var(--u));
  font-size: calc(10 * var(--u));
  font-weight: 600;
  line-height: 1;
  color: var(--white);
  transform: translateX(-50%);
}
.om-hero__scroll_line {
  position: relative;
  display: block;
  width: 1px;
  height: calc(45 * var(--u));
  overflow: hidden;
  background: rgba(255, 255, 255, 0.32);
}
.om-hero__scroll_line::after {
  position: absolute;
  inset: 0;
  background: currentColor;
  content: "";
  transform: scaleY(0);
  transform-origin: 50% 0;
  animation: om-hero-scroll-line 2s cubic-bezier(0.77, 0, 0.175, 1) infinite;
}
.om .om-hero__scroll_label {
  font-family: var(--base);
  letter-spacing: 0.04em;
  animation: om-hero-scroll-label 2s ease-in-out infinite;
}
@keyframes om-hero-scroll-line {
  0% { transform: scaleY(0); transform-origin: 50% 0; }
  45% { transform: scaleY(1); transform-origin: 50% 0; }
  55% { transform: scaleY(1); transform-origin: 50% 100%; }
  100% { transform: scaleY(0); transform-origin: 50% 100%; }
}
@keyframes om-hero-scroll-label {
  0%, 100% { opacity: 0.52; }
  50% { opacity: 1; }
}
.om-hero__quick {
  position: absolute;
  right: var(--pm);
  top: calc(var(--om-hd) + 20 * var(--u));
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
}
.om-hero__quick_item {
  position: relative;
  display: block;
  width: calc(92 * var(--u));
  aspect-ratio: 1;
  overflow: hidden;
  border-radius: 50%;
  isolation: isolate;
}
.om-hero__quick_orbit,
.om-hero__quick_content {
  position: absolute;
  inset: 0;
  width: 100%;
  aspect-ratio: 1;
}
.om-hero__quick_orbit {
  z-index: 2;
  padding: calc(4 * var(--u));
  animation: om-spin 24s linear infinite;
}
.om-hero__quick_content {
  z-index: 3;
}
.om-hero__quick_item-policy {
  background: var(--secondary);
  pointer-events: none; /* 공식처럼 링크가 아닌 표시 */
}
.om-hero__quick_item-regist {
  display: none;
  background: var(--primary);
}
.om-hero__quick_register {
  position: absolute;
  z-index: 3;
  inset: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(3 * var(--u));
  color: var(--white);
  text-align: center;
}
.om-hero__quick_register svg {
  width: calc(28 * var(--u));
  height: calc(28 * var(--u));
}
.om-hero__quick_register b {
  font-size: calc(14 * var(--u));
  font-weight: 700;
  letter-spacing: -0.03em;
}
.om-hero__quick_register small {
  font-size: calc(11 * var(--u));
  letter-spacing: 0.08em;
}
/* 아크원이란? (히어로의 두 번째 상태) */
.om-hero__definition_scene {
  position: relative;
  z-index: 5;
  box-sizing: border-box;
  width: 100%;
  min-height: var(--vh);
  padding: calc(500 * var(--u)) var(--gutter) calc(80 * var(--u) + env(safe-area-inset-bottom, 0px));
  pointer-events: none;
}
.om-hero__transition {
  position: absolute;
  z-index: 4;
  top: calc(310 * var(--u));
  right: 0;
  width: calc(250 * var(--u));
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility 0s linear var(--dur);
  transform: translateY(24px);
}
.om-hero__transition img {
  width: 100%;
  height: auto;
  max-width: none;
}
.om-hero__definition {
  position: relative;
  z-index: 5;
  width: calc(190 * var(--u));
  color: var(--label-strong);
  opacity: 0;
  visibility: hidden;
  transition: opacity var(--dur) var(--ease), transform var(--dur) var(--ease), visibility 0s linear var(--dur);
  transform: translateY(24px);
}
.om-hero__definition_icon {
  display: block;
  width: calc(64 * var(--u));
  aspect-ratio: 1;
  margin-bottom: calc(24 * var(--u));
}
.om-hero__definition_icon img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.om-hero__definition_title {
  font-size: calc(18 * var(--u));
  font-weight: 600;
  line-height: 1.3333;
  letter-spacing: -0.04em;
}
.om-hero__definition_keyword {
  display: block;
  margin-top: calc(8 * var(--u));
  font-size: calc(20 * var(--u));
  font-weight: 400;
  line-height: 1.05;
}
.om-hero__definition_keyword b {
  font-weight: 800;
}
.om-hero__definition_text {
  margin-top: calc(18 * var(--u));
  font-size: calc(14 * var(--u));
  line-height: 1.4286;
  letter-spacing: -0.03em;
}
/* 두 번째 상태: 영상이 사라지고 흰 면 위에 어두운 표제, 설명과 엠블럼이 나타난다 */
.om-hero[data-step="hero-definition"] {
  color: var(--label-strong);
}
.om-hero[data-step="hero-definition"] .om-hero__background {
  opacity: 0;
}
.om-hero[data-step="hero-definition"] .om-hero__surface,
.om-hero[data-step="hero-definition"] .om-hero__definition,
.om-hero[data-step="hero-definition"] .om-hero__transition {
  opacity: 1;
  visibility: visible;
  transform: none;
  transition-delay: 0s;
}
.om-hero[data-step="hero-definition"] .om-hero__ui {
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity var(--dur) var(--ease), visibility 0s linear var(--dur);
}
.om-hero[data-step="hero-definition"] .om-hero__open {
  background: #5a6770;
}

/* ── 3·4 사업개요 ──────────────────────────────────────────────────────────── */
.om-overview {
  --panel-h: calc(880 * var(--u));
  position: relative;
  color: var(--white);
  background: var(--label-strong);
}
.om-overview__stage {
  position: relative;
  min-height: calc(0.92 * var(--vh) + var(--panel-h));
}
.om-overview__background {
  position: sticky;
  top: 0;
  z-index: 0;
  width: 100%;
  height: var(--vh);
  overflow: hidden;
  background: var(--label-strong);
}
.om-overview__background img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
}
.om-overview__dim {
  position: absolute;
  inset: 0;
  background: rgba(4, 13, 27, 0.52);
}
.om-overview__content {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.om-overview__copy {
  position: absolute;
  top: calc(0.3 * var(--vh) + 130 * var(--u));
  left: calc(20 * var(--u));
  width: calc(350 * var(--u));
}
.om-overview__copy_text {
  font-size: calc(18 * var(--u));
  font-weight: 400;
  line-height: 1.3889;
  letter-spacing: -0.04em;
}
.om-overview__copy_title {
  margin-top: calc(36 * var(--u));
  font-size: calc(28 * var(--u));
  font-weight: 700;
  line-height: 1.2857;
  letter-spacing: -0.045em;
}
.om-overview__copy_brand {
  margin-top: calc(92 * var(--u));
  font-size: calc(60 * var(--u));
  font-weight: 400;
  line-height: 0.9;
  letter-spacing: 0.035em;
}
.om-overview__panel {
  position: absolute;
  z-index: 3;
  top: calc(0.92 * var(--vh));
  right: 0;
  display: flex;
  width: 100%;
  min-height: var(--panel-h);
  flex-direction: column;
  padding: calc(138 * var(--u)) calc(20 * var(--u)) calc(100 * var(--u));
  background: rgba(0, 0, 0, 0.2);
  -webkit-backdrop-filter: blur(15px);
  backdrop-filter: blur(15px);
}
.om-overview__panel_heading {
  font-size: calc(28 * var(--u));
  font-weight: 700;
  line-height: 1.2857;
  letter-spacing: -0.04em;
}
.om-overview__panel_heading small {
  font-size: 0.75em;
  font-weight: 500;
}
.om-overview__panel_text {
  margin-top: calc(22 * var(--u));
  font-size: calc(13 * var(--u));
  font-weight: 400;
  line-height: 1.5385;
  letter-spacing: -0.03em;
}
.om-overview__metrics {
  width: calc(300 * var(--u));
  margin: auto 0 0 auto;
}
.om-overview__metric {
  display: flex;
  min-height: calc(80 * var(--u));
  align-items: center;
  border-bottom: 1px solid rgba(255, 255, 255, 0.72);
}
.om-overview__metric_label {
  font-size: calc(14 * var(--u));
  font-weight: 400;
  line-height: 1.2857;
  letter-spacing: -0.035em;
  white-space: nowrap;
}
.om-overview__metric_value_wrap {
  display: flex;
  align-items: baseline;
  justify-content: flex-end;
  margin-left: auto;
  white-space: nowrap;
}
.om-overview__metric_prefix,
.om-overview__metric_unit {
  color: rgba(255, 255, 255, 0.72);
  font-size: calc(12 * var(--u));
  font-weight: 400;
  line-height: 1;
}
.om-overview__metric_prefix {
  margin-right: calc(10 * var(--u));
}
.om-overview__metric_value {
  font-size: calc(48 * var(--u));
  font-weight: 500;
  line-height: 1;
  letter-spacing: -0.045em;
  font-variant-numeric: tabular-nums;
}
.om-overview__metric_unit {
  width: calc(32 * var(--u));
  min-width: calc(32 * var(--u));
  margin-left: calc(8 * var(--u));
}

/* ── 5·6 입지 ──────────────────────────────────────────────────────────────── */
.om-location {
  position: relative;
  overflow: hidden;
  color: var(--white);
  background: #5a6770;
}
.om-location__inner {
  position: relative;
  display: grid;
  grid-template-rows: repeat(2, minmax(0, 1fr));
  grid-template-columns: minmax(0, 1fr);
  height: var(--vh);
  min-height: 620px;
}
.om-location__area {
  position: relative;
  min-width: 0;
  min-height: 0;
  overflow: hidden;
}
.om-location__area-visual {
  background: #000;
}
.om-location__visual_image {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: contain;
  animation: om-spin 45s linear infinite;
}
.om-location__title_mask {
  position: absolute;
  z-index: 4;
  inset: 0;
  overflow: hidden;
  pointer-events: none;
}
.om-location__title {
  position: absolute;
  width: max-content;
  font-size: calc(76 * var(--u));
  font-weight: 300;
  line-height: 0.82;
  letter-spacing: 0.12em;
  white-space: nowrap;
  transition: transform calc(var(--dur) * 1.2) var(--ease) 0.28s;
}
.om-location__area-visual .om-location__title {
  bottom: 0;
  left: 46vw;
  color: var(--white);
}
.om-location__area-info .om-location__title {
  top: 0;
  left: -60vw;
  color: #000;
}
.om-location__content {
  position: absolute;
  z-index: 2;
  inset: 0;
}
.om-location__copy {
  position: absolute;
  z-index: 3;
  top: 26%;
  left: var(--pm);
}
.om-location__eyebrow {
  font-size: calc(24 * var(--u));
  font-weight: 300;
  line-height: 1;
  letter-spacing: 0.04em;
}
.om-location__description {
  margin-top: calc(24 * var(--u));
  font-size: calc(11 * var(--u));
  line-height: 1.6;
}
.om-location__link {
  display: inline-flex;
  align-items: center;
  gap: calc(8 * var(--u));
  margin-top: calc(24 * var(--u));
  padding-bottom: 2px;
  border-bottom: 1px solid currentColor;
  font-size: calc(16 * var(--u));
}
.om-location__map {
  position: absolute;
  z-index: 1;
  inset: 0;
}
.om-location__map_image,
.om-location__bubble,
.om-location__bubble img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-location__bubble {
  z-index: 2;
  display: block;
  transform-origin: 73% 49%;
  animation: om-location-float 2.8s ease-in-out infinite alternate;
}
.om-location__tagline {
  position: absolute;
  z-index: 5;
  top: calc(28 * var(--u));
  left: var(--pm);
  right: var(--pm);
  display: flex;
  align-items: center;
  justify-content: space-between;
  font-size: calc(13 * var(--u));
  font-weight: 300;
  letter-spacing: 0;
  white-space: nowrap;
}
.om-location__tagline_space {
  flex: 0 0 1.5em;
}
@keyframes om-location-float {
  from { translate: 0 0; }
  to { translate: 0 -1%; }
}

/* ── 7·8 히스토리 ──────────────────────────────────────────────────────────── */
.om-history {
  position: relative;
  color: var(--label-strong);
  background: #fff;
}
.om-history__timeline {
  position: relative;
  height: calc(var(--vh) + 1500px); /* 세로 스크롤 거리만큼 연표가 옆으로 움직인다 */
}
.om-history__viewport {
  position: sticky;
  top: 0;
  height: var(--vh);
  min-height: 620px;
  overflow: hidden;
  background: #fff;
}
.om-history__track {
  position: relative;
  display: grid;
  grid-template-rows: minmax(0, 1fr);
  grid-template-columns: repeat(7, calc(258 * var(--u)));
  width: max-content;
  min-width: 100%;
  height: 100%;
  padding-left: calc(30 * var(--u));
  padding-right: calc(52 * var(--u));
  will-change: transform;
}
.om-history__bg {
  position: absolute;
  z-index: 0;
  max-width: none;
  pointer-events: none;
}
.om-history__bg-start {
  bottom: 0;
  left: 0;
  width: calc(220 * var(--u));
}
.om-history__bg-end {
  top: 0;
  left: 100vw;
  width: calc(320 * var(--u));
}
.om-history__intro {
  position: relative;
  z-index: 1;
  grid-row: 1;
  grid-column: 1;
  align-self: end;
  width: calc(250 * var(--u));
  padding: 0 calc(28 * var(--u)) calc(56 * var(--u)) calc(42 * var(--u));
}
.om-history__intro_dot {
  display: block;
  width: 5px;
  height: 5px;
  margin-bottom: calc(26 * var(--u));
  border-radius: 50%;
  background: #666;
}
.om-history__intro_eyebrow {
  font-size: calc(14 * var(--u));
  font-weight: 400;
  line-height: 1;
}
.om-history__intro_title {
  margin-top: calc(12 * var(--u));
  font-size: calc(32 * var(--u));
  font-weight: 700;
  line-height: 1.25;
}
.om-history__events {
  position: relative;
  z-index: 1;
  display: grid;
  grid-row: 1;
  grid-column: 2 / span 6;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  align-items: start;
  height: 100%;
}
.om-history__event {
  position: relative;
  left: calc(-8 * var(--u));
  display: flex;
  width: calc(214 * var(--u));
  height: 100%;
  flex-direction: column;
  margin-right: calc(44 * var(--u));
  padding: var(--om-hd) calc(25 * var(--u));
}
.om-history__event_item {
  position: relative;
  width: calc(214 * var(--u));
  margin-left: calc(-25 * var(--u));
}
.om-history__event-2026 .om-history__event_item { margin-top: calc(12 * var(--u)); }
.om-history__event-2028 .om-history__event_item { margin-top: calc(52 * var(--u)); }
.om-history__event-2029 .om-history__event_item { margin-top: calc(92 * var(--u)); }
.om-history__event-2030 .om-history__event_item { margin-top: calc(132 * var(--u)); }
.om-history__event-2031 .om-history__event_item { margin-top: calc(172 * var(--u)); }
.om-history__event-ark_one .om-history__event_item { margin-top: calc(212 * var(--u)); }
.om .om-history__event_year {
  position: relative;
  z-index: 2;
  display: block;
  margin-bottom: calc(8 * var(--u));
  font-family: var(--base);
  font-size: calc(16 * var(--u));
  font-weight: 200;
  line-height: 1;
  letter-spacing: 0;
  color: var(--label-strong);
}
.om-history__event_year-tbd {
  font-weight: 500;
  letter-spacing: -0.02em;
}
.om-history__event_figure {
  position: relative;
  isolation: isolate;
}
.om-history__event_bg {
  position: absolute;
  z-index: 0;
  top: -6.5%;
  right: -6.5%;
  width: 100%;
  aspect-ratio: 1;
  object-fit: fill;
  pointer-events: none;
}
.om-history__event_image {
  position: relative;
  z-index: 1;
  width: 100%;
  aspect-ratio: 1;
  object-fit: cover;
}
.om-history__event_caption {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 3px;
  margin-top: calc(10 * var(--u));
  padding-left: calc(7 * var(--u));
  border-left: 1px solid #b9afa0;
  font-size: calc(13 * var(--u));
  font-weight: 500;
  line-height: 1.5;
  letter-spacing: -0.02em;
}
.om-history__event_caption small {
  font-size: 0.8em;
  font-weight: 400;
}
.om-history__climax {
  position: absolute;
  z-index: 2;
  top: calc(600 * var(--u));
  left: calc(-12 * var(--u));
  width: calc(150 * var(--u));
}
.om-history__promotion {
  position: relative;
  min-height: max(760px, var(--vh));
  padding: calc(43 * var(--u)) calc(30 * var(--u)) calc(96 * var(--u));
  overflow: hidden;
  background: #fff;
}
.om-history__promotion_brand {
  position: relative;
  z-index: 3;
  padding-left: calc(6 * var(--u));
}
.om-history__promotion_title {
  font-size: calc(39 * var(--u));
  font-weight: 400;
  line-height: 1.17;
}
.om-history__promotion_title > span {
  display: block;
}
.om-history__promotion_name {
  display: none;
  font-size: calc(24 * var(--u));
  font-weight: 700;
}
.om-history__promotion_logo {
  position: relative;
  z-index: 3;
  width: calc(28 * var(--u));
  margin-top: calc(8 * var(--u));
}
.om-history__promotion_collage {
  position: relative;
  width: min(100%, calc(330 * var(--u)));
  height: calc(400 * var(--u));
  margin: calc(37 * var(--u)) auto 0;
}
.om-history__promotion_image {
  position: absolute;
  object-fit: cover;
}
.om-history__promotion_image-ark_one { z-index: 3; top: 0; left: 16%; width: 68%; height: 83%; }
.om-history__promotion_image-01 { z-index: 2; bottom: calc(20 * var(--u)); left: 0; width: 35%; height: 32%; }
.om-history__promotion_image-02 { z-index: 1; top: 10%; right: 0; width: 29%; height: 40%; }
.om-history__promotion_link {
  position: relative;
  z-index: 3;
  display: flex;
  width: calc(100% + 8 * var(--u));
  align-items: center;
  justify-content: space-between;
  margin-top: calc(30 * var(--u));
  padding-bottom: calc(18 * var(--u));
  border-bottom: 1px solid currentColor;
}
.om-history__promotion_link_copy {
  display: grid;
  gap: calc(5 * var(--u));
}
.om-history__promotion_link_copy small {
  font-size: calc(19 * var(--u));
  font-weight: 700;
}
.om-history__promotion_link_copy strong {
  font-size: calc(30 * var(--u));
  font-weight: 700;
}
.om-history__promotion_link_icon {
  display: grid;
  width: calc(50 * var(--u));
  aspect-ratio: 1;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 50%;
}
.om-history__promotion_link_icon img {
  width: calc(8 * var(--u));
}
.om-history__marquee {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: calc(99 * var(--u));
  overflow: hidden;
  border-top: 1px solid #b9afa0;
  pointer-events: none;
}
.om-history__marquee_track {
  display: flex;
  width: max-content;
  height: 100%;
  align-items: flex-end;
  padding-bottom: calc(14 * var(--u));
  animation: om-marquee 18s linear infinite;
}
.om-history__marquee_track span {
  flex: none;
  padding-right: calc(34 * var(--u));
  font-size: calc(38 * var(--u));
  font-weight: 300;
  line-height: 1;
  white-space: nowrap;
}
@keyframes om-marquee {
  to { transform: translateX(-50%); }
}

/* ── 9·10·11 프리미엄 ──────────────────────────────────────────────────────── */
.om-premium {
  --p-intro: calc(780 * var(--u));
  --p-panel: calc(390 * var(--u));
  --p-life: calc(867 * var(--u));
  --p-res: calc(1250 * var(--u));
  position: relative;
  overflow: clip;
  isolation: isolate;
  color: var(--label-strong);
  background: #fff;
}
.om-premium__stage {
  position: relative;
}
.om-premium__panel,
.om-premium__detail {
  position: relative;
}
.om-premium__panel {
  overflow: hidden;
}
.om-premium__intro_image,
.om-premium__intro_texture,
.om-premium__detail_background img,
.om-premium__media img,
.om-premium__media video,
.om-premium__residence_image,
.om-premium__video video,
.om-premium__video_echo img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-premium__panel-intro {
  height: var(--p-intro);
  color: var(--white);
  background: #827065;
}
.om-premium__intro_split {
  position: absolute;
  inset: 0;
}
.om-premium__intro_media {
  position: absolute;
  z-index: 2;
  top: 0;
  right: 0;
  left: 0;
  height: var(--p-panel);
  overflow: hidden;
  background: #6f6259;
}
.om-premium__intro_image {
  position: absolute;
  inset: 0;
  object-position: center;
}
.om-premium__intro_image-opening {
  display: none;
}
.om-premium__intro_carousel {
  position: absolute;
  inset: 0;
  z-index: 2;
  overflow: hidden;
}
.om-premium__intro_carousel .om-premium__intro_image {
  opacity: 0;
  visibility: hidden;
  transition: opacity 0.9s var(--ease), visibility 0s linear 0.9s;
}
.om-premium__intro_carousel .om-premium__intro_image.is-current {
  opacity: 1;
  visibility: visible;
  transition-delay: 0s;
}
.om-premium__intro_texture {
  position: absolute;
  z-index: 1;
  top: var(--p-panel);
  right: 0;
  left: 0;
  height: var(--p-panel);
  object-position: center;
}
.om-premium__intro_title {
  display: none;
}
.om-premium__intro_copy {
  position: absolute;
  z-index: 4;
  top: calc(565 * var(--u));
  right: 0;
  left: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--white);
  text-align: center;
}
.om-premium__intro_icon {
  width: calc(20 * var(--u));
  height: auto;
  margin-bottom: calc(10 * var(--u));
}
.om-premium__intro_copy p {
  font-size: calc(18 * var(--u));
  font-weight: 400;
  line-height: 1.25;
  letter-spacing: 0.06em;
}
.om-premium__intro_copy p > span,
.om-premium__lifestyle_title > span,
.om-premium__lifestyle_description > span,
.om-premium__residence_title > span,
.om-premium__residence_description > span {
  display: block;
}
.om-premium__notice {
  display: none;
}
.om-premium__detail {
  overflow: hidden;
  background: #fff;
}
.om-premium__detail_background {
  position: absolute;
  inset: 0;
  z-index: 0;
  overflow: hidden;
}
.om-premium__detail_background img {
  object-position: center;
}
.om-premium__panel-lifestyle {
  z-index: 1;
  height: var(--p-life);
  padding: calc(54 * var(--u)) calc(29 * var(--u)) 0;
}
.om-premium__lifestyle_copy {
  position: relative;
  z-index: 2;
  color: var(--label-strong);
}
.om-premium__lifestyle_title {
  font-size: calc(30 * var(--u));
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: -0.03em;
}
.om-premium__lifestyle_description {
  display: flex;
  flex-direction: column;
  margin-top: calc(40 * var(--u));
  font-size: calc(11 * var(--u));
  font-weight: 400;
  line-height: 1.32;
  color: rgba(0, 0, 0, 0.7);
}
.om-premium__lifestyle_description span:nth-child(3) {
  margin-top: calc(20 * var(--u));
}
.om-premium__lifestyle_collage {
  position: absolute;
  inset: 0;
  z-index: 2;
}
.om-premium__decoration {
  position: absolute;
  display: block;
  border-radius: 50%;
}
.om-premium__decoration-circle_top {
  z-index: 2;
  top: calc(343 * var(--u));
  left: calc(176 * var(--u));
  width: calc(88 * var(--u));
  aspect-ratio: 1;
  background: linear-gradient(135deg, rgba(119, 107, 94, 0.82), rgba(185, 179, 171, 0.48));
}
.om-premium__decoration-circle_bottom {
  z-index: 2;
  top: calc(648 * var(--u));
  left: calc(151 * var(--u));
  width: calc(98 * var(--u));
  aspect-ratio: 1;
  background: linear-gradient(135deg, rgba(119, 107, 94, 0.84), rgba(185, 179, 171, 0.5));
}
.om-premium__decoration_stripe {
  display: none;
  border-radius: 0;
}
.om-premium__media {
  position: absolute;
  overflow: hidden;
}
.om-premium__media-main {
  z-index: 3;
  top: calc(435 * var(--u));
  left: calc(29 * var(--u));
  width: calc(207 * var(--u));
  height: calc(282 * var(--u));
}
.om-premium__media-street {
  z-index: 5;
  top: calc(673 * var(--u));
  left: calc(208 * var(--u));
  width: calc(120 * var(--u));
  height: calc(152 * var(--u));
}
.om-premium__media-terrace {
  z-index: 4;
  top: calc(315 * var(--u));
  left: calc(222 * var(--u));
  width: calc(106 * var(--u));
  height: calc(150 * var(--u));
}
.om-premium__media figcaption,
.om-premium__video_caption {
  position: absolute;
  z-index: 2;
  left: calc(5 * var(--u));
  bottom: calc(5 * var(--u));
  font-size: calc(8 * var(--u));
  font-weight: 400;
  line-height: 1;
  color: var(--white);
  text-shadow: 0 1px 3px rgba(0, 0, 0, 0.35);
  white-space: nowrap;
}
.om-premium__panel-residence {
  z-index: 1;
  height: var(--p-res);
  padding: 0 0 calc(40 * var(--u));
}
.om-premium__residence_visual {
  position: relative;
  width: 100%;
  height: var(--p-panel);
  overflow: hidden;
}
.om-premium__residence_image {
  position: absolute;
  inset: 0;
}
.om-premium__residence_blur {
  position: absolute;
  inset: 0;
  background: rgba(39, 28, 21, 0.28);
  -webkit-backdrop-filter: blur(9px);
  backdrop-filter: blur(9px);
  pointer-events: none;
}
.om-premium__residence_copy {
  position: absolute;
  inset: 0;
  color: rgba(255, 255, 255, 0.88);
}
.om-premium__residence_title,
.om-premium__residence_description {
  position: absolute;
  width: max-content;
}
.om-premium__residence_title {
  top: 62.8%;
  left: calc(29 * var(--u));
  font-size: calc(22 * var(--u));
  font-weight: 400;
  line-height: 1.4;
  letter-spacing: -0.04em;
}
.om-premium__residence_description {
  top: 52.3%;
  left: calc(29 * var(--u));
  font-size: calc(11 * var(--u));
  font-weight: 300;
  line-height: 1.45;
}
.om-premium__video {
  position: relative;
  overflow: hidden;
  background: #e7e3df;
}
.om-premium__video-center {
  z-index: 2;
  width: calc(320 * var(--u));
  height: calc(484 * var(--u));
  margin: calc(40 * var(--u)) 0 0 calc(20 * var(--u));
}
.om-premium__video_reel {
  position: relative;
  z-index: 3;
  width: calc(236 * var(--u));
  height: calc(340 * var(--u));
  margin: calc(-44 * var(--u)) calc(20 * var(--u)) 0 auto;
}
.om-premium__video-side {
  width: 100%;
  height: 100%;
}
.om-premium__video_echo {
  display: none;
  overflow: hidden;
}

/* ── 12·13·14·15 브랜드 ─────────────────────────────────────────────────────── */
.om-brand {
  position: relative;
  color: #272a28;
  background: #e9f0e6;
}
.om-brand__panel {
  position: relative;
  overflow: hidden;
}
.om-brand__panel_background {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
}
.om-brand__panel-intro {
  height: var(--vh);
  min-height: calc(560 * var(--u));
}
.om-brand__intro {
  position: absolute;
  z-index: 1;
  top: 50%;
  left: 50%;
  width: 100%;
  text-align: center;
  transform: translate3d(-50%, -50%, 0);
}
.om-brand__intro_title {
  font-size: calc(24 * var(--u));
  font-weight: 400;
  line-height: 1.2;
  letter-spacing: 0;
  white-space: nowrap;
}
.om-brand__intro_copy {
  margin-top: calc(28 * var(--u));
  font-size: calc(14 * var(--u));
  line-height: 1.6;
  letter-spacing: -0.03em;
}
.om-brand__panel-story {
  min-height: calc(730 * var(--u));
}
.om-brand__story_visual {
  position: absolute;
  z-index: 1;
  top: 0;
  left: 0;
  width: 50%;
  height: calc(474 * var(--u));
  overflow: visible;
}
.om-brand__story_visual > img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.om-brand__story_video {
  position: absolute;
  z-index: 1;
  top: calc(135 * var(--u));
  left: calc(116 * var(--u));
  width: calc(159 * var(--u));
  height: calc(268 * var(--u));
  object-fit: cover;
  pointer-events: none;
}
.om-brand__story_visual > figcaption {
  position: absolute;
  z-index: 2;
  right: calc(9 * var(--u));
  bottom: calc(8 * var(--u));
  color: #fff;
  font-size: calc(10 * var(--u));
  line-height: 1.2;
}
.om-brand__story_copy {
  position: absolute;
  z-index: 1;
  top: calc(50 * var(--u));
  right: calc(26 * var(--u));
  display: flex;
  flex-direction: row-reverse;
  gap: calc(10 * var(--u));
  font-family: var(--eul);
  font-size: calc(21 * var(--u));
  font-weight: 400;
  line-height: 1.35;
  letter-spacing: 0.12em;
}
.om-brand__story_copy > span {
  writing-mode: vertical-rl;
  text-orientation: upright;
  white-space: nowrap;
}
.om-brand__story_description {
  position: absolute;
  z-index: 1;
  top: calc(555 * var(--u));
  left: 25%;
  width: 75%;
  padding: calc(17 * var(--u)) calc(20 * var(--u)) 0 0;
  border-top: 1px solid rgba(30, 45, 38, 0.24);
  font-size: calc(13 * var(--u));
  line-height: 1.55;
  letter-spacing: -0.04em;
}
.om-brand__story_footer {
  position: absolute;
  z-index: 1;
  bottom: calc(25 * var(--u));
  left: 50%;
  display: flex;
  align-items: center;
  gap: calc(20 * var(--u));
  font-size: calc(10 * var(--u));
  letter-spacing: 0.04em;
  white-space: nowrap;
  transform: translateX(-50%);
}
.om-brand__story_footer > img {
  width: calc(30 * var(--u));
  height: auto;
}
.om-brand__gallery_scroll {
  position: relative;
  width: 100%;
}
.om-brand__gallery_content {
  position: relative;
  overflow: hidden;
}
.om-brand__gallery_header {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 100%;
  min-height: calc(480 * var(--u));
  padding: calc(95 * var(--u)) calc(12 * var(--u)) 0;
  text-align: center;
}
.om-brand__gallery_emblem {
  width: calc(32 * var(--u));
  height: auto;
}
.om-brand__gallery_brand {
  margin-top: calc(30 * var(--u));
  font-size: calc(27 * var(--u));
  line-height: 1.2;
  letter-spacing: 0.04em;
}
.om-brand__gallery_eyebrow {
  width: 100%;
  margin-top: calc(28 * var(--u));
  font-size: calc(24 * var(--u));
  line-height: 1.2;
  letter-spacing: 0;
  white-space: nowrap;
}
.om-brand__gallery_title {
  margin-top: calc(35 * var(--u));
  font-size: calc(22 * var(--u));
  font-weight: 500;
  line-height: 1.35;
  letter-spacing: -0.03em;
}
.om-brand__gallery_description {
  margin-top: calc(12 * var(--u));
  font-size: calc(12 * var(--u));
  line-height: 1.5;
  letter-spacing: -0.04em;
}
.om-brand__gallery_visual {
  position: relative;
  z-index: 1;
  padding: calc(160 * var(--u)) calc(22 * var(--u)) calc(4 * var(--u));
  border-radius: 50% 50% 0 0 / calc(960 / 1920 * 100vw) calc(960 / 1920 * 100vw) 0 0;
  color: #fff;
  background: #075056;
  text-align: center;
}
.om-brand__gallery_arc {
  position: absolute;
  top: calc(210 / 1920 * 100vw);
  left: 50%;
  width: calc(1500 / 1920 * 100vw);
  height: auto;
  overflow: visible;
  pointer-events: none;
  transform: translateX(-50%);
}
.om-brand__gallery_arc text {
  fill: #fff;
  font-family: var(--en);
  font-size: 110px;
  font-weight: 400;
  letter-spacing: 0.13em;
}
.om-brand__gallery_cards {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(90 * var(--u));
  width: 100%;
}
.om-brand__gallery_card {
  display: flex;
  width: 100%;
  max-width: calc(330 * var(--u));
  flex-direction: column;
  align-items: center;
  min-width: 0;
}
.om-brand__gallery_image {
  width: calc(190 * var(--u));
  aspect-ratio: 1;
  border-radius: 50%;
  object-fit: cover;
}
.om-brand__gallery_card_title {
  margin-top: calc(36 * var(--u));
  font-size: calc(18 * var(--u));
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: -0.04em;
}
.om-brand__gallery_card_description {
  max-width: 100%;
  margin-top: calc(36 * var(--u));
  font-size: calc(13 * var(--u));
  line-height: 1.8;
  letter-spacing: -0.04em;
  word-break: keep-all;
}
.om-brand__gallery_dot {
  width: 5px;
  height: 5px;
  margin-top: calc(24 * var(--u));
  border-radius: 50%;
  background: #fff;
}
.om-brand__gallery_footer {
  display: flex;
  justify-content: center;
  gap: calc(18 * var(--u));
  margin-top: calc(90 * var(--u));
  font-size: calc(14 * var(--u));
  line-height: 1.4;
  letter-spacing: 0.04em;
  white-space: nowrap;
}
.om-brand__gallery_wordmark {
  display: block;
  width: 100%;
  height: auto;
  margin: calc(35 * var(--u)) auto 0;
  mix-blend-mode: multiply;
}

/* ── 16 오시는 길 ──────────────────────────────────────────────────────────── */
.om-contact {
  position: relative;
  overflow: hidden;
  color: var(--white);
  background: var(--primary);
}
.om-contact__background,
.om-contact__background img {
  position: absolute;
  inset: 0;
}
.om-contact__background {
  overflow: hidden;
  background:
    radial-gradient(circle at 66% 22%, rgba(112, 143, 131, 0.36), transparent 38%),
    linear-gradient(145deg, #195d58, #071914 88%);
}
.om-contact__background img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: cover;
  object-position: center;
  animation: om-contact-camera 12s ease-in-out infinite alternate both;
}
.om-contact__background_dim {
  position: absolute;
  inset: 0;
}
.om-contact__inner {
  position: relative;
  z-index: 1;
  width: 100%;
  padding: calc(164 * var(--u)) calc(20 * var(--u)) calc(216 * var(--u));
}
.om-contact__title {
  font-size: calc(28 * var(--u));
  font-weight: 400;
  line-height: 1.2143;
  letter-spacing: 0.02em;
  text-align: center;
}
.om-contact__maps {
  display: grid;
  width: calc(350 * var(--u));
  max-width: 100%;
  grid-template-columns: minmax(0, 1fr);
  gap: calc(100 * var(--u));
  margin: calc(96 * var(--u)) auto 0;
}
.om-contact__map_group {
  min-width: 0;
}
.om-contact__map {
  position: relative;
  width: 100%;
  aspect-ratio: 970 / 686;
  overflow: hidden;
}
.om-contact__map img {
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
}
.om-contact__location_card {
  display: flex;
  width: 100%;
  min-height: calc(158 * var(--u));
  flex-direction: column;
  justify-content: center;
  margin-top: calc(30 * var(--u));
  padding: calc(20 * var(--u)) calc(30 * var(--u));
  border-radius: calc(15 * var(--u));
  background: rgba(217, 217, 217, 0.5);
  -webkit-backdrop-filter: blur(12px);
  backdrop-filter: blur(12px);
  color: var(--white);
}
.om-contact__map_group:nth-child(2) .om-contact__location_card {
  min-height: calc(138 * var(--u));
}
.om-contact__location {
  position: relative;
  display: block;
}
.om-contact__location + .om-contact__location {
  margin-top: calc(14 * var(--u));
}
.om-contact__location_content h3 {
  font-size: calc(20 * var(--u));
  font-weight: 700;
  line-height: 1.35;
}
.om-contact__location_content address {
  margin-top: calc(4 * var(--u));
  font-size: calc(14 * var(--u));
  line-height: 1.4286;
}
.om-contact__location_links {
  display: flex;
  gap: calc(10 * var(--u));
  align-items: center;
  justify-content: flex-end;
  margin-top: calc(16 * var(--u));
}
.om-contact__location_links a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: calc(40 * var(--u));
  height: calc(40 * var(--u));
  border-radius: 50%;
  background: var(--primary);
  transition: background-color 0.2s ease, transform 0.2s ease;
}
.om-contact__location_links a:hover {
  background: var(--primary-strong);
}
.om-contact__location_links img {
  width: auto;
  height: auto;
  max-width: calc(21 * var(--u));
  max-height: calc(24 * var(--u));
  object-fit: contain;
}
@keyframes om-contact-camera {
  0% { transform: translate3d(2.4%, -1.6%, 0) scale(1.08); }
  100% { transform: translate3d(-2.8%, 1.7%, 0) scale(1.2); }
}

/* ── 홍보영상 창 ──────────────────────────────────────────────────────────── */
.om-modal {
  position: fixed;
  inset: 0;
  z-index: 2000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 24px;
  background: rgba(0, 0, 0, 0.7);
}
.om-modal__frame {
  position: relative;
  width: min(960px, 100%);
  aspect-ratio: 16 / 9;
  background: #000;
}
.om-modal__frame iframe {
  width: 100%;
  height: 100%;
  border: 0;
}
.om-modal__close {
  position: absolute;
  top: -44px;
  right: 0;
  width: 40px;
  height: 40px;
  border: 0;
  background: none;
  color: #fff;
  font-size: 32px;
  line-height: 1;
}

/* ══ PC (1025px 이상): 공식의 PC 값. 장면 전환은 .om--stage 에서만 ═══════════ */
@media (min-width: 1025px) {
  .om {
    --u: calc(100vw / 1920);
    --pm: calc(100 * var(--u) + 6px);
  }
  .om-pc-only {
    display: inline;
  }
  .om-m-only {
    display: none;
  }
  .om-intro {
    --i-scale: 0.8;
    --i-line: calc(52 * var(--u));
    --i-kicker-gap: calc(22 * var(--u));
    --i-title-gap: calc(24 * var(--u));
  }
  .om-intro__loading {
    gap: calc(16 * var(--u));
  }
  .om-intro__loading_indicator {
    width: calc(32 * var(--u));
  }
  .om-intro__loading_label {
    font-size: calc(11 * var(--u));
  }
  .om-intro__video {
    object-position: center;
  }
  .om-intro__copy {
    padding: 0 var(--pm);
  }
  .om-intro__phrase,
  .om-intro__kicker {
    font-size: calc(30 * var(--u));
  }
  .om-intro__kicker {
    margin-bottom: calc(17 * var(--u));
  }
  .om-intro__title {
    font-size: calc(42 * var(--u));
  }
  .om-intro__brand {
    font-size: calc(56 * var(--u));
    letter-spacing: 0.035em;
  }
  .om-intro__skip {
    bottom: 12.2%;
    font-size: calc(16 * var(--u));
  }

  /* 구간 표시 */
  .om--stage .om-nav {
    position: fixed;
    z-index: 24;
    top: 50%;
    right: calc(var(--pm) / 2);
    display: block;
    transform: translateY(-50%);
  }
  .om-nav ol {
    display: flex;
    flex-direction: column;
    gap: calc(21 * var(--u));
    align-items: center;
    margin: 0;
    padding: 0;
    list-style: none;
  }
  .om-nav li {
    position: relative;
    width: calc(18 * var(--u));
    height: calc(18 * var(--u));
  }
  .om-nav button {
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(44 * var(--u));
    height: calc(39 * var(--u));
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
    transform: translate(-50%, -50%);
  }
  .om-nav button::before {
    position: absolute;
    top: 50%;
    left: 50%;
    width: calc(16 * var(--u));
    height: 2px;
    border-radius: 999px;
    background: rgba(67, 67, 67, 0.58);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.24);
    content: "";
    transform: translate(-50%, -50%);
    transition: width 0.3s ease, height 0.3s ease, background-color 0.3s ease;
  }
  .om-nav button.is-active::before {
    width: 3px;
    height: calc(18 * var(--u));
    background: var(--primary);
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.4);
  }
  .om-nav button:not(.is-active):hover::before {
    width: calc(20 * var(--u));
    background: var(--primary);
  }

  /* ── 히어로 ── */
  .om--stage .om-hero {
    height: calc(var(--vh) - var(--om-util));
    overflow: clip;
    isolation: isolate;
  }
  .om--stage .om-hero__stage,
  .om--stage .om-hero__viewport {
    position: absolute;
    inset: 0;
    width: auto;
    height: auto;
    overflow: hidden;
  }
  .om-hero__dim {
    background: linear-gradient(200deg, rgba(0, 0, 0, 0) 60%, rgba(0, 0, 0, 0.7));
  }
  .om--stage .om-hero__copy {
    top: calc((100% - 980 * var(--u)) / 2 + 150 * var(--u));
    left: clamp(72px, 6.25vw, 120px);
    width: 660px;
    transform: scale(var(--om-scale, 1));
    transform-origin: 0 0;
  }
  .om--stage .om-hero__title {
    margin-top: 50px;
    font-size: 72px;
    line-height: 1.2;
  }
  .om--stage .om-hero__h1 {
    margin-top: 20px;
    line-height: 1.2;
  }
  .om--stage .om-hero__ko {
    font-size: 28px;
  }
  .om--stage .om-hero__role {
    margin-top: 6px;
    font-size: 15px;
  }
  .om--stage .om-hero__open {
    width: calc(182 * var(--u)); /* 공식 측정값(1920 기준 182). 역할 줄 높이(약 26px)만큼 위 여백을 줄여 공식 y에 맞춘다 */
    height: clamp(38px, 2.6042vw, 50px);
    margin-top: calc(113 * var(--u) - 26px);
    padding: 0 8px;
    border-width: calc(1 * var(--u));
    box-shadow: inset 0 0 0 calc(3 * var(--u)) rgba(255, 255, 255, 0.18);
    font-size: calc(20 * var(--u));
  }
  .om--stage .om-hero[data-step="hero-final"] .om-hero__title,
  .om--stage .om-hero[data-step="hero-final"] .om-hero__h1 {
    text-shadow: 0 2px 10px rgba(21, 40, 70, 0.47);
  }
  .om--stage .om-hero__video_cta {
    right: var(--pm);
    left: auto;
    bottom: calc(50 * var(--u));
    width: calc(343 * var(--u));
    height: calc(254 * var(--u));
  }
  .om.om--stage .om-s .om-hero__video_trigger {
    flex-direction: column;
    justify-content: flex-start;
    gap: 0;
    padding: calc(13 * var(--u)) calc(19 * var(--u)) calc(20 * var(--u));
    border-radius: calc(15 * var(--u));
    color: var(--white);
    background: rgba(0, 0, 0, 0.4);
    box-shadow: 0 8px 30px rgba(0, 0, 0, 0.18);
    text-align: center;
    transition: background-color 0.3s ease, box-shadow 0.3s ease, transform 0.3s ease;
  }
  .om.om--stage .om-s .om-hero__video_trigger:hover {
    background: rgba(0, 0, 0, 0.58);
    box-shadow: 0 12px 38px rgba(0, 0, 0, 0.24);
    transform: translateY(-4px);
  }
  .om--stage .om-hero__video_label {
    font-size: calc(22 * var(--u));
    line-height: 1.4;
  }
  .om--stage .om-hero__video_play {
    order: 0;
    width: calc(282 * var(--u));
    height: calc(160 * var(--u));
    aspect-ratio: auto;
    margin-top: calc(16 * var(--u));
    border-radius: calc(18 * var(--u));
    background: url("https://img.youtube.com/vi/OPf_5C5WaJY/hqdefault.jpg") no-repeat center / 105% auto;
  }
  .om--stage .om-hero__video_play img {
    width: calc(70 * var(--u));
  }
  .om--stage .om-hero__scroll {
    bottom: clamp(28px, calc(4.63 / 100 * var(--vh)), 50px);
    flex-direction: column;
    gap: clamp(8px, calc(1.1111 / 100 * var(--vh)), 12px);
    font-size: clamp(10px, 0.625vw, 12px);
  }
  .om--stage .om-hero__scroll_line {
    height: clamp(64px, calc(9.2593 / 100 * var(--vh)), 100px);
  }
  .om--stage .om-hero__scroll_label {
    writing-mode: vertical-rl;
  }
  .om--stage .om-hero__quick {
    top: calc(130 * var(--u) - 4px); /* 공식: 헤더 90u + 40u. 운영 주체 표시 줄 아래에서 재므로 4px 당긴다 */
    gap: calc(20 * var(--u));
  }
  .om--stage .om-hero__quick_item {
    width: calc(140 * var(--u));
  }
  .om--stage .om-hero__quick_item-regist {
    display: block;
  }
  .om--stage .om-hero__quick_orbit {
    animation-play-state: paused;
  }
  .om--stage .om-hero.is-active .om-hero__quick_orbit {
    animation-play-state: running;
  }
  .om--stage .om-hero__definition_scene {
    position: static;
    min-height: 0;
    padding: 0;
  }
  .om--stage .om-hero__transition {
    top: auto;
    right: 0;
    bottom: 0;
    width: calc(714 * var(--u));
  }
  .om--stage .om-hero__definition {
    position: absolute;
    z-index: 5;
    bottom: calc(var(--om-hd) + 100px);
    left: calc(50% + var(--pm));
    width: auto;
  }
  .om--stage .om-hero__definition_icon {
    width: calc(60 * var(--u));
    margin-bottom: calc(16 * var(--u));
  }
  .om--stage .om-hero__definition_title {
    font-size: calc(18 * var(--u));
    line-height: 1.35;
  }
  .om--stage .om-hero__definition_keyword {
    margin-top: calc(10 * var(--u));
    font-size: calc(16 * var(--u));
    line-height: 1.3;
  }
  .om--stage .om-hero__definition_text {
    margin-top: calc(16 * var(--u));
    font-size: calc(14 * var(--u));
    line-height: 1.4;
  }

  /* ── 사업개요 ── */
  .om--stage .om-overview {
    height: var(--vh);
    overflow: clip;
    isolation: isolate;
  }
  .om--stage .om-overview__stage {
    position: absolute;
    inset: 0;
    min-height: 0;
  }
  .om--stage .om-overview__background {
    position: absolute;
    inset: 0;
    height: auto;
  }
  .om--stage .om-overview__dim {
    background: rgba(0, 0, 0, 0);
  }
  .om--stage .om-overview__copy {
    top: auto;
    bottom: calc(200 * var(--u));
    left: calc(160 * var(--u));
    width: calc(760 * var(--u));
  }
  .om--stage .om-overview__copy_text {
    font-size: calc(18 * var(--u));
    line-height: 1.8;
  }
  .om--stage .om-overview__copy_title {
    margin-top: calc(18 * var(--u));
    font-size: calc(30 * var(--u));
    line-height: 1.2;
  }
  .om--stage .om-overview__copy_brand {
    margin-top: calc(66 * var(--u));
    font-size: calc(130 * var(--u));
    line-height: 1;
  }
  .om--stage .om-overview__panel {
    top: 0;
    width: 50%;
    height: 100%;
    min-height: 0;
    padding: calc(var(--om-hd) + 40 * var(--u)) calc(100 * var(--u)) calc(62 * var(--u)) calc(60 * var(--u));
  }
  .om--stage .om-overview__panel_heading {
    width: min(100%, 760px);
    margin-top: auto;
    font-size: calc(40 * var(--u));
    line-height: 1.3;
  }
  .om--stage .om-overview__panel_heading small {
    font-size: calc(26 * var(--u));
  }
  .om--stage .om-overview__panel_text {
    width: min(100%, 760px);
    margin-top: calc(40 * var(--u));
    font-size: calc(16 * var(--u));
    line-height: 1.8;
  }
  .om--stage .om-overview__metrics {
    width: auto;
    min-width: calc(520 * var(--u));
  }
  .om--stage .om-overview__metric {
    height: calc(130 * var(--u));
    min-height: calc(130 * var(--u));
    border-bottom-width: 2px;
  }
  .om--stage .om-overview__metric_label {
    padding-right: calc(32 * var(--u));
    font-size: calc(22 * var(--u));
    line-height: 1.4;
  }
  .om--stage .om-overview__metric_prefix,
  .om--stage .om-overview__metric_unit {
    font-size: calc(20 * var(--u));
  }
  .om--stage .om-overview__metric_prefix {
    margin-right: calc(20 * var(--u));
  }
  .om--stage .om-overview__metric_value {
    font-size: calc(70 * var(--u));
  }
  .om--stage .om-overview__metric_unit {
    width: calc(52 * var(--u));
    min-width: calc(52 * var(--u));
    margin-left: calc(18 * var(--u));
  }
  .om--stage .om-overview__copy_text,
  .om--stage .om-overview__copy_title,
  .om--stage .om-overview__copy_brand,
  .om--stage .om-overview__panel,
  .om--stage .om-overview__metric {
    opacity: 0;
    visibility: hidden;
    transform: translateY(28px);
    transition:
      opacity calc(var(--dur) * 0.62) var(--ease),
      transform calc(var(--dur) * 0.76) var(--ease),
      visibility 0s linear calc(var(--dur) * 0.76);
  }
  .om--stage .om-overview__panel {
    transform: translateX(10%);
  }
  .om--stage .om-overview[data-step="overview-mask"] .om-overview__copy_text,
  .om--stage .om-overview[data-step="overview-mask"] .om-overview__copy_title,
  .om--stage .om-overview[data-step="overview-mask"] .om-overview__copy_brand,
  .om--stage .om-overview[data-step="overview-content"] .om-overview__copy_text,
  .om--stage .om-overview[data-step="overview-content"] .om-overview__copy_title,
  .om--stage .om-overview[data-step="overview-content"] .om-overview__copy_brand,
  .om--stage .om-overview[data-step="overview-content"] .om-overview__panel,
  .om--stage .om-overview[data-step="overview-content"] .om-overview__metric {
    opacity: 1;
    visibility: visible;
    transform: none;
    transition-delay: 0s;
  }
  .om--stage .om-overview[data-step="overview-content"] .om-overview__panel { transition-delay: 0.12s; }
  .om--stage .om-overview[data-step="overview-content"] .om-overview__metric:nth-child(1) { transition-delay: 0.02s; }
  .om--stage .om-overview[data-step="overview-content"] .om-overview__metric:nth-child(2) { transition-delay: 0.08s; }
  .om--stage .om-overview[data-step="overview-content"] .om-overview__metric:nth-child(3) { transition-delay: 0.14s; }
  .om--stage .om-overview[data-step="overview-content"] .om-overview__metric:nth-child(4) { transition-delay: 0.2s; }

  /* ── 입지 ── */
  .om--stage .om-location {
    height: var(--vh);
  }
  .om--stage .om-location__inner {
    grid-template-rows: none;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    height: 100%;
    min-height: 0;
  }
  .om--stage .om-location__title {
    top: 50%;
    width: 100vw;
    font-size: calc(220 * var(--u));
    letter-spacing: 0.3em;
    text-align: center;
    transform: translateY(-50%);
  }
  .om--stage .om-location__area-visual .om-location__title {
    bottom: auto;
    left: 0;
  }
  .om--stage .om-location__area-info .om-location__title {
    top: 50%;
    left: -100%;
  }
  .om--stage .om-location[data-step="location-02"] .om-location__area-visual .om-location__title {
    transform: translateY(calc(-50% - var(--vh) / 2));
  }
  .om--stage .om-location[data-step="location-02"] .om-location__area-info .om-location__title {
    transform: translateY(calc(-50% + var(--vh) / 2));
  }
  .om--stage .om-location__content {
    opacity: 0;
    visibility: hidden;
  }
  .om--stage .om-location__copy {
    top: 23.5%;
    left: 10.5%;
  }
  .om--stage .om-location__eyebrow {
    font-size: calc(40 * var(--u));
  }
  .om--stage .om-location__description {
    margin-top: calc(100 * var(--u));
    font-size: calc(16 * var(--u));
  }
  .om--stage .om-location__link {
    gap: calc(14 * var(--u));
    margin-top: calc(40 * var(--u));
    padding-bottom: 3px;
    font-size: calc(15 * var(--u));
  }
  .om--stage .om-location__tagline {
    top: auto;
    bottom: 6%;
    left: 10%;
    right: 10%;
    font-size: calc(30 * var(--u));
  }
  .om--stage .om-location__tagline {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity calc(var(--dur) * 0.7) var(--ease) 0.4s, transform calc(var(--dur) * 0.9) var(--ease) 0.4s;
  }
  .om--stage .om-location.is-active .om-location__tagline,
  .om--stage .om-location[data-step="location-02"] .om-location__tagline {
    opacity: 1;
    transform: none;
  }
  .om--stage .om-location__eyebrow,
  .om--stage .om-location__description,
  .om--stage .om-location__link,
  .om--stage .om-location__map {
    opacity: 0;
    transform: translateY(24px);
    transition: opacity calc(var(--dur) * 0.7) var(--ease), transform calc(var(--dur) * 0.9) var(--ease);
  }
  .om--stage .om-location__bubble {
    opacity: 0;
    animation: none;
    transform: translateY(16px) scale(0.96);
    transition: opacity calc(var(--dur) * 0.55) var(--ease) 1.25s, transform calc(var(--dur) * 0.75) var(--ease) 1.25s;
  }
  .om--stage .om-location[data-step="location-02"] .om-location__content {
    opacity: 1;
    visibility: visible;
  }
  .om--stage .om-location[data-step="location-02"] .om-location__eyebrow,
  .om--stage .om-location[data-step="location-02"] .om-location__description,
  .om--stage .om-location[data-step="location-02"] .om-location__link,
  .om--stage .om-location[data-step="location-02"] .om-location__map {
    opacity: 1;
    transform: none;
  }
  .om--stage .om-location[data-step="location-02"] .om-location__eyebrow { transition-delay: 0.55s; }
  .om--stage .om-location[data-step="location-02"] .om-location__description { transition-delay: 0.7s; }
  .om--stage .om-location[data-step="location-02"] .om-location__link { transition-delay: 0.82s; }
  .om--stage .om-location[data-step="location-02"] .om-location__map { transition-delay: 0.78s; }
  .om--stage .om-location[data-step="location-02"] .om-location__bubble {
    opacity: 1;
    transform: none;
    animation: om-location-float 2.8s ease-in-out 1.65s infinite alternate;
  }

  /* ── 히스토리 ── */
  .om--stage .om-history {
    height: var(--vh);
    overflow: hidden;
  }
  .om--stage .om-history__timeline {
    position: absolute;
    z-index: 1;
    inset: 0;
    height: auto;
  }
  .om--stage .om-history__viewport {
    position: relative;
    height: 100%;
    min-height: 0;
  }
  .om--stage .om-history__track {
    grid-template-columns: repeat(7, 9%);
    width: 200vw;
    min-width: 0;
    padding: 0;
    transform: translate3d(0, 0, 0);
    transition: transform calc(var(--dur) * 1.4) var(--ease);
  }
  .om--stage .om-history[data-step="history-02"] .om-history__track {
    transform: translate3d(-100vw, 0, 0);
  }
  .om--stage .om-history__bg-start {
    width: calc(422 * var(--u));
  }
  .om--stage .om-history__bg-end {
    top: calc(140 / 980 * var(--vh));
    left: calc(100vw + 225 * var(--u));
    width: calc(715 * var(--u));
  }
  .om--stage .om-history__intro {
    top: calc(218 / 980 * var(--vh));
    align-self: start;
    width: 100%;
    padding: 0 0 0 calc(202 * var(--u));
  }
  .om--stage .om-history__intro_dot {
    width: calc(10 * var(--u));
    height: calc(10 * var(--u));
    margin-bottom: calc(30 * var(--u));
  }
  .om--stage .om-history__intro_eyebrow,
  .om--stage .om-history__intro_title {
    margin-top: 0;
    font-size: calc(34 * var(--u));
    line-height: 1;
    white-space: nowrap;
  }
  .om--stage .om-history__intro_title {
    margin-top: 0.4em;
  }
  .om--stage .om-history__intro > * {
    opacity: 0;
    transition: opacity calc(var(--dur) * 0.6) var(--ease);
  }
  .om--stage .om-history.is-active .om-history__intro > * {
    opacity: 1;
  }
  .om--stage .om-history.is-active .om-history__intro > :nth-child(2) { transition-delay: 0.12s; }
  .om--stage .om-history.is-active .om-history__intro > :nth-child(3) { transition-delay: 0.24s; }
  .om--stage .om-history__event {
    left: auto;
    width: 100%;
    margin-right: 0;
    align-self: start;
    opacity: 0;
    transform: translateY(10px);
    transition: opacity calc(var(--dur) * 0.6) var(--ease), transform calc(var(--dur) * 0.9) var(--ease);
  }
  .om--stage .om-history.is-active .om-history__event,
  .om--stage .om-history[data-step="history-02"] .om-history__event {
    opacity: 1;
    transform: none;
  }
  .om--stage .om-history.is-active .om-history__event:nth-child(1) { transition-delay: 0.42s; }
  .om--stage .om-history.is-active .om-history__event:nth-child(2) { transition-delay: 0.54s; }
  .om--stage .om-history.is-active .om-history__event:nth-child(3) { transition-delay: 0.66s; }
  .om--stage .om-history.is-active .om-history__event:nth-child(4) { transition-delay: 0.78s; }
  .om--stage .om-history.is-active .om-history__event:nth-child(5) { transition-delay: 0.9s; }
  .om--stage .om-history.is-active .om-history__event:nth-child(6) { transition-delay: 1.02s; }
  .om--stage .om-history__event_item {
    width: calc(280 * var(--u));
  }
  .om--stage .om-history__event-2026 .om-history__event_item { margin: calc(542 / 980 * var(--vh) - var(--om-hd)) 0 0 calc(-170 * var(--u)); }
  .om--stage .om-history__event-2028 .om-history__event_item { margin: calc(450 / 980 * var(--vh) - var(--om-hd)) 0 0 calc(-126 * var(--u)); }
  .om--stage .om-history__event-2029 .om-history__event_item { margin: calc(360 / 980 * var(--vh) - var(--om-hd)) 0 0 calc(-83 * var(--u)); }
  .om--stage .om-history__event-2030 .om-history__event_item { margin: calc(268 / 980 * var(--vh) - var(--om-hd)) 0 0 calc(-39 * var(--u)); }
  .om--stage .om-history__event-2031 .om-history__event_item { margin: calc(178 / 980 * var(--vh) - var(--om-hd)) 0 0 calc(4 * var(--u)); }
  .om--stage .om-history__event-ark_one .om-history__event_item { margin: calc(86 / 980 * var(--vh) - var(--om-hd)) 0 0 calc(47 * var(--u)); }
  .om--stage .om-history__event_year {
    font-size: calc(30 * var(--u));
  }
  .om--stage .om-history__event_year-tbd {
    font-size: calc(22 * var(--u));
  }
  .om--stage .om-history__event_caption {
    gap: 4px;
    min-height: calc(45 * var(--u));
    margin-top: calc(24 * var(--u));
    padding-left: calc(14 * var(--u));
    font-size: calc(16 * var(--u));
  }
  .om--stage .om-history__climax {
    top: calc(507 / 980 * var(--vh));
    left: 11%;
    width: calc(225 * var(--u));
  }
  .om--stage .om-history__promotion {
    position: absolute;
    z-index: 4;
    inset: 0;
    min-height: 0;
    padding: 0;
    background: transparent;
    visibility: hidden;
    pointer-events: none;
    transform: translate3d(100vw, 0, 0);
    transition: visibility 0s linear calc(var(--dur) * 1.4), transform calc(var(--dur) * 1.4) var(--ease);
  }
  .om--stage .om-history[data-step="history-02"] .om-history__promotion {
    visibility: visible;
    pointer-events: auto;
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
  }
  .om--stage .om-history__promotion_brand {
    position: absolute;
    top: 13%;
    left: 29%;
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    align-items: center;
    width: calc(500 * var(--u));
    padding: 0;
    text-align: center;
  }
  .om--stage .om-history__promotion_title {
    grid-column: 1 / -1;
    margin-bottom: calc(40 * var(--u));
    font-size: calc(60 * var(--u));
    line-height: 1.2;
    text-align: left;
  }
  .om--stage .om-history__promotion_title > span:last-child {
    padding-right: calc(64 * var(--u));
    text-align: right;
  }
  .om--stage .om-history__promotion_name {
    display: block;
    grid-row: 2;
    grid-column: 2;
    justify-self: start;
    margin: calc(28 * var(--u)) 0 0 auto;
  }
  .om--stage .om-history__promotion_logo {
    position: absolute;
    bottom: 30%;
    left: 29%;
    width: calc(46 * var(--u));
    margin: 0;
  }
  .om--stage .om-history__promotion_collage {
    position: absolute;
    top: 6.2%;
    right: 4.5%;
    width: 50%;
    height: 78%;
    margin: 0;
  }
  .om--stage .om-history__promotion_image-ark_one { top: 8%; left: 30%; width: 54%; height: 96%; }
  .om--stage .om-history__promotion_image-01 { top: 73%; bottom: auto; left: 14%; width: 25%; height: 36%; }
  .om--stage .om-history__promotion_image-02 { top: 15%; right: 5%; width: 11%; height: 52%; }
  .om--stage .om-history__promotion_link {
    position: absolute;
    bottom: 13%;
    left: 29%;
    width: calc(400 * var(--u));
    margin: 0;
    padding-bottom: calc(15 * var(--u));
  }
  .om--stage .om-history__promotion_link_copy {
    gap: calc(6 * var(--u));
  }
  .om--stage .om-history__promotion_link_icon {
    width: calc(44 * var(--u));
  }
  .om--stage .om-history__promotion_link_icon img {
    width: calc(7 * var(--u));
  }
  .om--stage .om-history__marquee {
    display: none;
  }
  .om--stage .om-history__promotion_title,
  .om--stage .om-history__promotion_name,
  .om--stage .om-history__promotion_logo,
  .om--stage .om-history__promotion_link,
  .om--stage .om-history__promotion_image {
    opacity: 0;
    transform: translateY(22px);
    transition: opacity calc(var(--dur) * 0.6) var(--ease), transform calc(var(--dur) * 0.9) var(--ease);
  }
  .om--stage .om-history__promotion_image-01 { transform: translateY(60px); }
  .om--stage .om-history__promotion_image-02 { transform: translateY(-60px); }
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_title,
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_name,
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_logo,
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_link,
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_image {
    opacity: 1;
    transform: none;
  }
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_title { transition-delay: 0.32s; }
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_logo,
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_image-01 { transition-delay: 0.45s; }
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_name,
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_link { transition-delay: 0.58s; }
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_image-02 { transition-delay: 0.6s; }
  .om--stage .om-history[data-step="history-02"] .om-history__promotion_image-ark_one { transition-delay: 0.74s; }

  /* ── 프리미엄 ── */
  .om--stage .om-premium {
    --off: calc((var(--vh) - 980 * var(--u)) / 2);
    height: var(--vh);
    overflow: hidden;
  }
  .om--stage .om-premium__stage,
  .om--stage .om-premium__panel,
  .om--stage .om-premium__detail {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    min-height: 0;
    padding: 0;
  }
  .om--stage .om-premium__panel {
    pointer-events: none;
  }
  .om--stage .om-premium__panel-intro {
    z-index: 1;
    height: 100%;
    transform: translate3d(0, 0, 0);
    transition: opacity calc(var(--dur) * 0.9) ease-out, transform calc(var(--dur) * 1.2) cubic-bezier(0.77, 0, 0.175, 1);
  }
  .om--stage .om-premium__intro_media {
    z-index: 1;
    top: 0;
    right: auto;
    bottom: 0;
    left: 0;
    width: 50%;
    height: auto;
  }
  .om--stage .om-premium__intro_image-opening {
    z-index: 6;
    display: block;
    clip-path: inset(0);
    transition: clip-path calc(var(--dur) * 0.9) var(--ease) 2.2s;
  }
  .om--stage .om-premium.is-active[data-step="premium-01"] .om-premium__intro_image-opening,
  .om--stage .om-premium[data-step="premium-02"] .om-premium__intro_image-opening,
  .om--stage .om-premium[data-step="premium-03"] .om-premium__intro_image-opening {
    clip-path: inset(0 0 0 100%);
  }
  .om--stage .om-premium__intro_texture {
    top: 0;
    right: 0;
    left: auto;
    width: 50%;
    height: 100%;
  }
  .om--stage .om-premium__intro_title {
    position: absolute;
    z-index: 8;
    top: 50%;
    left: 50%;
    display: flex;
    width: 100%;
    align-items: center;
    justify-content: center;
    opacity: 0;
    transform: translate3d(-50%, -51%, 0);
    font-size: calc(60 * var(--u));
    font-weight: 400;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
  }
  .om--stage .om-premium.is-active[data-step="premium-01"] .om-premium__intro_title {
    visibility: visible;
    animation: om-premium-title calc(var(--dur) * 2.2) cubic-bezier(0.77, 0, 0.175, 1) both;
  }
  .om--stage .om-premium__intro_copy {
    position: absolute;
    z-index: 8;
    top: calc(var(--off) + 363 * var(--u));
    right: auto;
    left: 75%;
    display: flex;
    visibility: hidden;
    opacity: 0;
    transform: translate3d(-50%, 30px, 0);
    transition: opacity calc(var(--dur) * 0.6) var(--ease) 2.3s, transform calc(var(--dur) * 0.9) var(--ease) 2.3s, visibility 0s linear 2.3s;
  }
  .om--stage .om-premium__intro_icon {
    width: calc(44 * var(--u));
    min-width: 30px;
    margin-bottom: calc(25 * var(--u));
  }
  .om--stage .om-premium__intro_copy p {
    font-size: clamp(38px, 2.9167vw, 56px);
    line-height: 1.28;
    letter-spacing: 0.06em;
  }
  .om--stage .om-premium.is-active[data-step="premium-01"] .om-premium__intro_copy {
    visibility: visible;
    opacity: 1;
    transform: translate3d(-50%, 0, 0);
  }
  .om--stage .om-premium__notice {
    position: absolute;
    z-index: 8;
    left: calc(30 * var(--u));
    bottom: calc(32 * var(--u));
    display: block;
    opacity: 0;
    font-size: calc(13 * var(--u));
    font-weight: 300;
    line-height: 1;
    transition: opacity calc(var(--dur) * 0.3) var(--ease) 2.4s;
  }
  .om--stage .om-premium.is-active[data-step="premium-01"] .om-premium__notice {
    opacity: 1;
  }
  .om--stage .om-premium__detail {
    z-index: 2;
    visibility: hidden;
    overflow: hidden;
    background: #fff;
    transform: translate3d(100%, 0, 0);
    transition: visibility 0s linear calc(var(--dur) * 1.2), transform calc(var(--dur) * 1.2) var(--ease);
  }
  .om--stage .om-premium__detail_background {
    transform: translate3d(7%, 0, 0) scale(1.06);
    transform-origin: center;
    transition: transform calc(var(--dur) * 1.2) var(--ease);
  }
  .om--stage .om-premium__detail_background img {
    animation: om-premium-camera 14s ease-in-out infinite alternate both paused;
  }
  .om--stage .om-premium[data-step="premium-02"] .om-premium__detail,
  .om--stage .om-premium[data-step="premium-03"] .om-premium__detail {
    visibility: visible;
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
  }
  .om--stage .om-premium[data-step="premium-02"] .om-premium__detail_background,
  .om--stage .om-premium[data-step="premium-03"] .om-premium__detail_background {
    transform: none;
  }
  .om--stage .om-premium.is-active[data-step="premium-02"] .om-premium__detail_background img,
  .om--stage .om-premium.is-active[data-step="premium-03"] .om-premium__detail_background img {
    animation-play-state: running;
  }
  .om--stage .om-premium[data-step="premium-02"] .om-premium__panel-intro,
  .om--stage .om-premium[data-step="premium-03"] .om-premium__panel-intro {
    opacity: 0.65;
    transform: translate3d(-12%, 0, 0);
  }
  .om--stage .om-premium__panel-lifestyle {
    z-index: 2;
    height: 100%;
  }
  .om--stage .om-premium__lifestyle_copy {
    position: absolute;
    z-index: 4;
    top: calc(var(--off) + 426 * var(--u));
    left: calc(103 * var(--u));
  }
  .om--stage .om-premium__lifestyle_title {
    font-size: calc(40 * var(--u));
    font-weight: 500;
    line-height: 1.4;
  }
  .om--stage .om-premium__lifestyle_description {
    margin-top: calc(80 * var(--u));
    font-size: calc(18 * var(--u));
    line-height: 1.3;
  }
  .om--stage .om-premium__lifestyle_description span:nth-child(3) {
    margin-top: calc(30 * var(--u));
  }
  .om--stage .om-premium__lifestyle_title,
  .om--stage .om-premium__lifestyle_description,
  .om--stage .om-premium__media,
  .om--stage .om-premium__decoration {
    opacity: 0;
    transition: opacity calc(var(--dur) * 0.6) var(--ease), transform calc(var(--dur) * 0.9) var(--ease);
  }
  .om--stage .om-premium__lifestyle_title { transform: translate3d(0, 36px, 0); }
  .om--stage .om-premium__lifestyle_description { transform: translate3d(0, 28px, 0); }
  .om--stage .om-premium__media-main {
    z-index: 3;
    top: calc(var(--off) + 141 * var(--u));
    left: calc(1179 * var(--u));
    width: calc(440 * var(--u));
    height: calc(600 * var(--u));
    transform: translate3d(0, 12px, 0);
  }
  .om--stage .om-premium__media-street {
    z-index: 4;
    top: calc(var(--off) + 509 * var(--u));
    left: calc(951 * var(--u));
    width: calc(260 * var(--u));
    height: calc(330 * var(--u));
    transform: translate3d(-64px, 52px, 0);
  }
  .om--stage .om-premium__media-terrace {
    z-index: 5;
    top: calc(var(--off) + 175 * var(--u));
    left: calc(1587 * var(--u));
    width: calc(234 * var(--u));
    height: calc(330 * var(--u));
    transform: translate3d(64px, -46px, 0);
  }
  .om--stage .om-premium__decoration {
    transform: scale(0.72);
  }
  .om--stage .om-premium__decoration-circle_top {
    top: calc(var(--off) + 82 * var(--u));
    left: calc(1527 * var(--u));
    width: calc(185 * var(--u));
    background: linear-gradient(135deg, rgba(119, 107, 94, 0.84), rgba(185, 179, 171, 0.5));
  }
  .om--stage .om-premium__decoration-circle_bottom {
    top: calc(var(--off) + 639 * var(--u));
    left: calc(1048 * var(--u));
    width: calc(253 * var(--u));
    background: linear-gradient(135deg, rgba(119, 107, 94, 0.86), rgba(185, 179, 171, 0.52));
  }
  .om--stage .om-premium__decoration_stripe {
    z-index: 1;
    top: calc(var(--off) + 589 * var(--u));
    left: calc(1414 * var(--u));
    display: block;
    width: calc(312 * var(--u));
    height: calc(311 * var(--u));
  }
  .om--stage .om-premium__media figcaption,
  .om--stage .om-premium__video_caption {
    right: calc(10 * var(--u));
    bottom: calc(9 * var(--u));
    left: auto;
    font-size: calc(11 * var(--u));
  }
  .om--stage .om-premium[data-step="premium-02"] .om-premium__lifestyle_title,
  .om--stage .om-premium[data-step="premium-02"] .om-premium__lifestyle_description,
  .om--stage .om-premium[data-step="premium-02"] .om-premium__media,
  .om--stage .om-premium[data-step="premium-02"] .om-premium__decoration {
    opacity: 1;
    transform: none;
  }
  .om--stage .om-premium[data-step="premium-02"] .om-premium__lifestyle_title { transition-delay: 0.55s; }
  .om--stage .om-premium[data-step="premium-02"] .om-premium__lifestyle_description { transition-delay: 0.68s; }
  .om--stage .om-premium[data-step="premium-02"] .om-premium__decoration-circle_bottom { transition-delay: 0.78s; }
  .om--stage .om-premium[data-step="premium-02"] .om-premium__decoration-circle_top,
  .om--stage .om-premium[data-step="premium-02"] .om-premium__media-main { transition-delay: 0.9s; }
  .om--stage .om-premium[data-step="premium-02"] .om-premium__decoration_stripe { transition-delay: 1.02s; }
  .om--stage .om-premium[data-step="premium-02"] .om-premium__media-street,
  .om--stage .om-premium[data-step="premium-02"] .om-premium__media-terrace { transition-delay: 0.3s; }
  .om--stage .om-premium__panel-residence {
    z-index: 3;
    height: 100%;
  }
  .om--stage .om-premium__residence_visual {
    position: absolute;
    z-index: 2;
    top: 0;
    bottom: 0;
    left: 0;
    width: 50%;
    height: auto;
    clip-path: inset(0 100% 0 0);
    transition: clip-path calc(var(--dur) * 1.2) var(--ease);
  }
  .om--stage .om-premium__residence_blur {
    width: 50%;
    opacity: 0;
    background: rgba(39, 28, 21, 0.22);
    -webkit-backdrop-filter: blur(13px);
    backdrop-filter: blur(13px);
    clip-path: inset(0 100% 0 0);
    transition: opacity calc(var(--dur) * 0.6) var(--ease), clip-path calc(var(--dur) * 0.9) var(--ease);
  }
  .om--stage .om-premium__residence_copy {
    color: rgba(255, 255, 255, 0.84);
  }
  .om--stage .om-premium__residence_title,
  .om--stage .om-premium__residence_description,
  .om--stage .om-premium__video-center,
  .om--stage .om-premium__video_reel {
    opacity: 0;
    visibility: hidden;
    transition: opacity calc(var(--dur) * 0.6) var(--ease), transform calc(var(--dur) * 0.9) var(--ease), visibility 0s linear calc(var(--dur) * 0.9);
  }
  .om--stage .om-premium__residence_title {
    top: 70.1%;
    left: 16.3542%;
    font-size: clamp(26px, 2.0833vw, 40px);
    line-height: 1.38;
    transform: translate3d(0, 26px, 0);
  }
  .om--stage .om-premium__residence_description {
    top: 59.9%;
    left: 16.3542%;
    font-size: clamp(14px, 1.0417vw, 20px);
    line-height: 1.45;
    letter-spacing: -0.03em;
    transform: translate3d(0, 22px, 0);
  }
  .om--stage .om-premium__video-center {
    position: absolute;
    z-index: 5;
    top: calc(var(--off) + 155 * var(--u));
    left: calc(750 * var(--u));
    width: calc(420 * var(--u));
    height: calc(635 * var(--u));
    margin: 0;
    transform: translate3d(0, 38px, 0);
  }
  .om--stage .om-premium__video_reel {
    position: absolute;
    z-index: 4;
    top: calc(var(--off) + 560 * var(--u));
    left: calc(1329 * var(--u));
    width: calc(492 * var(--u));
    height: calc(340 * var(--u));
    margin: 0;
    transform: translate3d(34px, 0, 0);
  }
  .om--stage .om-premium__video-side {
    position: absolute;
    inset: 0 auto 0 0;
    width: calc(236 / 492 * 100%);
  }
  .om--stage .om-premium__video_echo {
    position: absolute;
    inset: 0 0 0 auto;
    display: block;
    width: calc(236 / 492 * 100%);
  }
  .om--stage .om-premium[data-step="premium-03"] .om-premium__residence_visual {
    clip-path: inset(0);
    transition-delay: 0.04s;
  }
  .om--stage .om-premium[data-step="premium-03"] .om-premium__residence_blur {
    opacity: 1;
    clip-path: inset(0);
    transition-delay: 0.5s;
  }
  .om--stage .om-premium[data-step="premium-03"] .om-premium__residence_title,
  .om--stage .om-premium[data-step="premium-03"] .om-premium__residence_description,
  .om--stage .om-premium[data-step="premium-03"] .om-premium__video-center,
  .om--stage .om-premium[data-step="premium-03"] .om-premium__video_reel {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .om--stage .om-premium[data-step="premium-03"] .om-premium__residence_title { transition-delay: 0.78s, 0.78s, 0s; }
  .om--stage .om-premium[data-step="premium-03"] .om-premium__residence_description { transition-delay: 0.9s, 0.9s, 0s; }
  .om--stage .om-premium[data-step="premium-03"] .om-premium__video-center { transition-delay: 1.02s, 1.02s, 0s; }
  .om--stage .om-premium[data-step="premium-03"] .om-premium__video_reel { transition-delay: 1.16s, 1.16s, 0s; }

  /* ── 브랜드 ── */
  .om--stage .om-brand {
    height: var(--vh);
    overflow: hidden;
    isolation: isolate;
  }
  .om--stage .om-brand__stage {
    position: relative;
    height: 100%;
    overflow: hidden;
  }
  .om--stage .om-brand__panel {
    position: absolute;
    inset: 0;
    height: auto;
    min-height: 0;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: visibility 0s linear var(--dur), opacity var(--dur) var(--ease);
  }
  .om--stage .om-brand__panel-intro { z-index: 1; }
  .om--stage .om-brand__panel-story { z-index: 2; }
  .om--stage .om-brand__panel-gallery { z-index: 3; }
  .om--stage .om-brand[data-step="brand-01"] .om-brand__panel-intro,
  .om--stage .om-brand[data-step="brand-02"] .om-brand__panel-story,
  .om--stage .om-brand[data-step="brand-03"] .om-brand__panel-story,
  .om--stage .om-brand[data-step="brand-03"] .om-brand__panel-gallery {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition-delay: 0s;
  }
  .om--stage .om-brand__intro_title {
    font-size: calc(48 * var(--u));
    letter-spacing: 1em;
    opacity: 0;
    transition: opacity calc(var(--dur) * 0.8) var(--ease), letter-spacing var(--dur) var(--ease);
  }
  .om--stage .om-brand__intro_copy {
    margin-top: calc(58 * var(--u));
    font-size: calc(20 * var(--u));
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity calc(var(--dur) * 0.8) var(--ease), transform calc(var(--dur) * 0.8) var(--ease);
  }
  .om--stage .om-brand.is-active[data-step="brand-01"] .om-brand__intro_title {
    opacity: 1;
    letter-spacing: 0.4em;
    transition-delay: 0.1s;
  }
  .om--stage .om-brand.is-active[data-step="brand-01"] .om-brand__intro_copy {
    opacity: 1;
    transform: none;
    transition-delay: 0.58s;
  }
  .om--stage .om-brand__panel-story > .om-brand__panel_background {
    object-position: center top;
  }
  .om--stage .om-brand__story_visual {
    width: calc(640 * var(--u));
    height: 100%;
    overflow: hidden;
    clip-path: inset(100% 0 0 0);
    transition: clip-path var(--dur) var(--ease);
  }
  .om--stage .om-brand[data-step="brand-02"] .om-brand__story_visual,
  .om--stage .om-brand[data-step="brand-03"] .om-brand__story_visual {
    clip-path: inset(0);
    transition-delay: 0.12s;
  }
  .om--stage .om-brand__story_video {
    top: 22%;
    left: calc(138 * var(--u));
    width: calc(360 * var(--u));
    height: 56%;
  }
  .om--stage .om-brand__story_visual > figcaption {
    right: calc(12 * var(--u));
    bottom: calc(10 * var(--u));
    font-size: calc(12 * var(--u));
  }
  .om--stage .om-brand__story_copy {
    top: 20%;
    right: calc(145 * var(--u));
    gap: calc(18 * var(--u));
    font-size: calc(26 * var(--u));
  }
  .om--stage .om-brand__story_description {
    top: 67.8%;
    right: calc(132 * var(--u));
    left: auto;
    width: calc(355 * var(--u));
    padding: calc(38 * var(--u)) 0 0;
    font-size: calc(16 * var(--u));
  }
  .om--stage .om-brand__story_footer {
    top: 80%;
    bottom: auto;
    left: calc(840 * var(--u));
    gap: calc(42 * var(--u));
    font-size: calc(14 * var(--u));
    transform: none;
  }
  .om--stage .om-brand__story_footer > img {
    width: calc(48 * var(--u));
  }
  .om--stage .om-brand__story_footer::after {
    position: absolute;
    top: calc(100% + 63 * var(--u));
    left: 50%;
    width: 1px;
    height: calc(110 * var(--u));
    background: rgba(30, 45, 38, 0.22);
    content: "";
  }
  .om--stage .om-brand__story_copy,
  .om--stage .om-brand__story_description,
  .om--stage .om-brand__story_footer {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity calc(var(--dur) * 0.8) var(--ease), transform calc(var(--dur) * 0.8) var(--ease);
  }
  .om--stage .om-brand.is-active[data-step="brand-02"] .om-brand__story_copy,
  .om--stage .om-brand.is-active[data-step="brand-02"] .om-brand__story_description,
  .om--stage .om-brand.is-active[data-step="brand-02"] .om-brand__story_footer,
  .om--stage .om-brand[data-step="brand-03"] .om-brand__story_copy,
  .om--stage .om-brand[data-step="brand-03"] .om-brand__story_description,
  .om--stage .om-brand[data-step="brand-03"] .om-brand__story_footer {
    opacity: 1;
    transform: none;
  }
  .om--stage .om-brand.is-active[data-step="brand-02"] .om-brand__story_copy { transition-delay: 0.38s; }
  .om--stage .om-brand.is-active[data-step="brand-02"] .om-brand__story_description { transition-delay: 0.63s; }
  .om--stage .om-brand.is-active[data-step="brand-02"] .om-brand__story_footer { transition-delay: 0.86s; }
  .om--stage .om-brand__panel-gallery {
    opacity: 1;
    transform: translate3d(0, 100%, 0);
    transition: visibility 0s linear var(--dur), transform var(--dur) var(--ease);
  }
  .om--stage .om-brand[data-step="brand-03"] .om-brand__panel-gallery {
    transform: translate3d(0, 0, 0);
    transition-delay: 0s;
  }
  .om--stage .om-brand__gallery_scroll {
    height: 100%;
    overflow: auto;
    overscroll-behavior: contain;
    scrollbar-width: none;
  }
  .om--stage .om-brand__gallery_scroll::-webkit-scrollbar {
    display: none;
  }
  .om--stage .om-brand__gallery_content {
    min-height: calc(2203 * var(--u));
  }
  .om--stage .om-brand__gallery_header {
    min-height: calc(670 * var(--u));
    padding: calc(140 * var(--u)) 5% 0;
  }
  .om--stage .om-brand__gallery_emblem {
    width: calc(50 * var(--u));
  }
  .om--stage .om-brand__gallery_brand {
    margin-top: calc(73 * var(--u));
    font-size: calc(34 * var(--u));
  }
  .om--stage .om-brand__gallery_eyebrow {
    margin-top: calc(49 * var(--u));
    font-size: calc(56 * var(--u));
    letter-spacing: 0.14em;
  }
  .om--stage .om-brand__gallery_title {
    margin-top: calc(30 * var(--u));
    font-size: calc(34 * var(--u));
  }
  .om--stage .om-brand__gallery_description {
    margin-top: calc(18 * var(--u));
    font-size: calc(17 * var(--u));
  }
  .om--stage .om-brand__gallery_header > * {
    opacity: 0;
    transform: translate3d(0, 24px, 0);
    transition: opacity calc(var(--dur) * 0.8) var(--ease), transform calc(var(--dur) * 0.8) var(--ease);
  }
  .om--stage .om-brand.is-active[data-step="brand-03"] .om-brand__gallery_header > * {
    opacity: 1;
    transform: none;
  }
  .om--stage .om-brand.is-active[data-step="brand-03"] .om-brand__gallery_header > :nth-child(1) { transition-delay: 0.45s; }
  .om--stage .om-brand.is-active[data-step="brand-03"] .om-brand__gallery_header > :nth-child(2) { transition-delay: 0.61s; }
  .om--stage .om-brand.is-active[data-step="brand-03"] .om-brand__gallery_header > :nth-child(3) { transition-delay: 0.77s; }
  .om--stage .om-brand.is-active[data-step="brand-03"] .om-brand__gallery_header > :nth-child(4) { transition-delay: 0.93s; }
  .om--stage .om-brand.is-active[data-step="brand-03"] .om-brand__gallery_header > :nth-child(5) { transition-delay: 1.09s; }
  .om--stage .om-brand__gallery_visual {
    min-height: calc(1533 * var(--u));
    padding: calc(327 * var(--u)) 0 0;
    border-radius: 50% 50% 0 0 / calc(960 * var(--u)) calc(960 * var(--u)) 0 0;
  }
  .om--stage .om-brand__gallery_arc {
    top: calc(110 * var(--u));
    width: calc(1700 * var(--u));
    opacity: 0;
    transition: opacity calc(var(--dur) * 1.2) var(--ease);
  }
  .om--stage .om-brand.is-active[data-step="brand-03"] .om-brand__gallery_arc {
    opacity: 1;
    transition-delay: 0.85s;
  }
  .om--stage .om-brand__gallery_arc text {
    font-size: 82px;
  }
  .om--stage .om-brand__gallery_cards {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: calc(122 * var(--u));
    width: 79%;
    margin: 0 auto;
  }
  .om--stage .om-brand__gallery_card {
    max-width: none;
  }
  .om--stage .om-brand__gallery_card-left,
  .om--stage .om-brand__gallery_card-right {
    padding-top: calc(209 * var(--u));
  }
  .om--stage .om-brand__gallery_image {
    width: calc(280 * var(--u));
  }
  .om--stage .om-brand__gallery_card_title {
    margin-top: calc(26 * var(--u));
    font-size: calc(22 * var(--u));
  }
  .om--stage .om-brand__gallery_card_description {
    max-width: calc(340 * var(--u));
    margin-top: calc(22 * var(--u));
    font-size: calc(16 * var(--u));
    line-height: 1.85;
  }
  .om--stage .om-brand__gallery_dot {
    width: calc(6 * var(--u));
    height: calc(6 * var(--u));
  }
  .om--stage .om-brand__gallery_footer {
    gap: calc(48 * var(--u));
    margin-top: calc(102 * var(--u));
    font-size: calc(24 * var(--u));
  }
  .om--stage .om-brand__gallery_wordmark {
    width: calc(1050 * var(--u));
    max-width: 85%;
    margin-top: calc(30 * var(--u));
  }

  /* ── 오시는 길 ── */
  .om--stage .om-contact {
    height: var(--vh);
  }
  .om--stage .om-contact__background img {
    animation: none;
  }
  .om--stage .om-contact__inner {
    display: flex;
    height: 100%;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    padding: calc(120 * var(--u)) 0 calc(80 * var(--u));
  }
  .om--stage .om-contact__title {
    font-size: calc(40 * var(--u));
    line-height: 1;
  }
  .om--stage .om-contact__maps {
    width: calc(1050 * var(--u));
    grid-template-columns: repeat(2, calc(485 * var(--u)));
    gap: calc(80 * var(--u));
    margin-top: calc(83 * var(--u));
  }
  .om--stage .om-contact__map {
    width: calc(485 * var(--u));
  }
  .om--stage .om-contact__location_card {
    width: calc(472 * var(--u));
    height: calc(218 * var(--u));
    min-height: 0;
    margin-top: calc(54 * var(--u));
    padding: calc(28 * var(--u)) calc(27 * var(--u));
    border-radius: calc(16 * var(--u));
    background: rgba(255, 255, 255, 0.4);
  }
  .om--stage .om-contact__map_group:first-child .om-contact__location_card {
    margin-left: calc(12 * var(--u));
    padding-left: calc(40 * var(--u));
  }
  .om--stage .om-contact__location {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: calc(18 * var(--u));
    align-items: center;
  }
  .om--stage .om-contact__location + .om-contact__location {
    margin-top: calc(30 * var(--u));
  }
  .om--stage .om-contact__location_content h3 {
    font-size: calc(22 * var(--u));
    line-height: 1.3636;
  }
  .om--stage .om-contact__location_content address {
    margin-top: calc(6 * var(--u));
    font-size: calc(16 * var(--u));
    line-height: 1.4375;
  }
  .om--stage .om-contact__location_links {
    margin-top: 0;
    justify-content: flex-start;
  }
  .om--stage .om-contact__title,
  .om--stage .om-contact__map_group {
    opacity: 0;
    transform: translateY(48px);
    transition: opacity calc(var(--dur) * 0.6) var(--ease), transform calc(var(--dur) * 0.9) var(--ease);
  }
  .om--stage .om-contact.is-active .om-contact__title,
  .om--stage .om-contact.is-active .om-contact__map_group,
  .om--stage .om-contact[data-step="contact-01"]:not(.is-active) .om-contact__title,
  .om--stage .om-contact[data-step="contact-01"]:not(.is-active) .om-contact__map_group {
    opacity: 1;
    transform: none;
  }
  .om--stage .om-contact.is-active .om-contact__map_group:nth-child(1) { transition-delay: 0.1s; }
  .om--stage .om-contact.is-active .om-contact__map_group:nth-child(2) { transition-delay: 0.18s; }
}

@media (min-width: 1025px) and (max-width: 1280px) {
  .om {
    --pm: 56px;
  }
}

/* 낮은 PC 화면: 공식처럼 수치 줄과 오시는 길을 줄인다 */
@media (min-width: 1025px) and (max-height: 820px) {
  .om--stage .om-overview__copy_title { margin-top: calc(24 * var(--u)); }
  .om--stage .om-overview__copy_brand { margin-top: calc(32 * var(--u)); }
  .om--stage .om-overview__panel_text { margin-top: calc(24 * var(--u)); }
  .om--stage .om-overview__metric {
    height: calc(72 * var(--u));
    min-height: calc(72 * var(--u));
  }
  .om--stage .om-contact__inner {
    transform: scale(0.84);
    transform-origin: 50% 50%;
  }
  .om--stage .om-contact__maps { margin-top: calc(44 * var(--u)); }
}
@media (min-width: 1025px) and (max-height: 680px) {
  .om--stage .om-overview__copy_title,
  .om--stage .om-overview__copy_brand { margin-top: calc(18 * var(--u)); }
  .om--stage .om-overview__panel {
    padding-right: calc(46 * var(--u));
    padding-left: calc(46 * var(--u));
  }
  .om--stage .om-overview__panel_heading { font-size: calc(34 * var(--u)); line-height: 1.2941; }
  .om--stage .om-overview__panel_text { margin-top: calc(16 * var(--u)); font-size: calc(13 * var(--u)); line-height: 1.3846; }
  .om--stage .om-overview__metric { height: calc(58 * var(--u)); min-height: calc(58 * var(--u)); }
  .om--stage .om-contact__inner { transform: scale(0.72); }
  .om--stage .om-contact__maps { margin-top: calc(28 * var(--u)); }
}
@keyframes om-premium-title {
  0% { opacity: 0; letter-spacing: 0em; transform: translate3d(-50%, -52%, 0); }
  75% { opacity: 1; letter-spacing: 1.1em; transform: translate3d(-50%, -50%, 0); }
  100% { opacity: 0; letter-spacing: 1.1em; transform: translate3d(-50%, -50%, 0); }
}
@keyframes om-premium-camera {
  0% { transform: translate3d(-1.6%, -1%, 0) scale(1.06); }
  100% { transform: translate3d(1.8%, 1.2%, 0) scale(1.12); }
}

/* ── 「동작 줄이기」: 장면 전환·단계별 등장·영상 자동 재생을 끈다(정지 이미지와 일반 스크롤) ── */
@media (prefers-reduced-motion: reduce) {
  .om *,
  .om *::before,
  .om *::after {
    animation: none !important;
    transition: none !important;
  }
  .om-intro {
    display: none !important;
  }
  .om-hero__video {
    opacity: 0 !important;
  }
  .om-hero__viewport {
    position: relative;
  }
  .om-hero__definition_scene {
    background: #fff;
  }
  .om-hero__definition,
  .om-hero__transition {
    opacity: 1;
    visibility: visible;
    transform: none;
  }
  .om-hero__scroll_line::after {
    transform: scaleY(1);
  }
  .om-overview__background {
    position: absolute;
    inset: 0;
    height: auto;
  }
  .om-history__timeline {
    height: auto;
  }
  .om-history__viewport {
    position: relative;
    height: auto;
    min-height: 0;
    padding-bottom: calc(40 * var(--u));
  }
  .om-history__track {
    display: block;
    width: auto;
    min-width: 0;
    height: auto;
    padding: calc(60 * var(--u)) var(--pm) 0;
    transform: none !important;
  }
  .om-history__intro {
    width: auto;
    padding: 0 0 calc(32 * var(--u));
  }
  .om-history__events {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(32 * var(--u)) calc(20 * var(--u));
    height: auto;
  }
  .om-history__event,
  .om-history__event_item {
    left: 0;
    width: 100%;
    margin: 0 !important;
    padding: 0;
  }
  .om-history__climax {
    position: static;
    width: calc(120 * var(--u));
    margin-bottom: calc(8 * var(--u));
  }
  .om-history__marquee_track span + span {
    display: none;
  }
}

/* ── 본인 사이트: h1 의 역할 줄(.om-hero__role)이 없으므로 그 높이만큼 OPEN 표시를 내려 공식·기준과 같은 자리에 둔다
   (휴대폰: 역할 줄 = 위 여백 4px + 12u × 1.3333 ≈ 4px + 16u, PC: 약 26px. 기준 스타일의 margin-top 값은 그대로 둔다) ── */
.om .om-hero__open {
  transform: translateY(calc(4px + 16 * var(--u)));
}
@media (min-width: 1025px) {
  .om.om--stage .om-hero__open {
    transform: translateY(26px);
  }
}

/* ── 휴대폰·일반 스크롤(om--flow): 첫 화면이 고정된 채 비어 있는 구간을 줄인다 (2026-10-05 PM 검수: 「스크롤이 안 내려간다」) ──
   기준은 「아크원이란?」 장면의 위 여백이 500u 라서 첫 화면을 넘긴 뒤 약 1.3화면을 더 쓸어 올려야 다음 내용이 나왔다.
   엠블럼은 바로, 설명은 반 화면 안에 이어지고 사업개요도 그만큼 먼저 온다. PC 장면 전환(om--stage)은 그대로. */
.om--flow .om-hero__definition_scene {
  min-height: 0;
  padding-top: calc(260 * var(--u));
}
.om--flow .om-hero__transition {
  top: calc(30 * var(--u));
}
