@charset "UTF-8";
/* 2026-07-31 수정 #0731-9 : 인터랙션 정책 — press(:active) 틴트 폐지·hover 틴트를 hover 가능 기기로 한정 */
/* 2026-07-31 수정 #0731-9 : 인터랙션 정책 — press(:active) 틴트 폐지·hover 틴트를 hover 가능 기기로 한정 */
/* 2026-07-31 수정 #0731-10 : focus-ring — 포커스 링 노출 조건 개편(포인터 기기 게이트·인풋 예외·래퍼 위임) */
/* 2026-07-31 수정 #0731-11 : overlay__body-inner — 모달 본문 가로 스크롤 우측 끝 여백 보정 */
/* 2026-07-31 수정 #0731-59 시작 : benefit — 프로모션·상세 여백·간격·굵기 조정 */
.benefit-promo {
  margin-top: var(--gap-2);
  display: block;
  width: 100%;
  aspect-ratio: 296/250;
  object-fit: cover;
  border-radius: var(--rounded-xl);
}

.benefit-detail__title {
  margin-top: var(--gap-5);
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.benefit-detail__product {
  margin-top: var(--gap-8);
}

.benefit-detail__image {
  position: relative;
  border-radius: var(--rounded-xl);
  overflow: hidden;
}

.benefit-detail__img {
  display: block;
  width: 100%;
  aspect-ratio: 320/202;
  object-fit: cover;
}

/* 2026-07-31 수정 #0731-58 : benefit-detail__badge 공통 Badge(blue inverse) 로 전환 */
.benefit-detail__badge {
  position: absolute;
  top: var(--p-3);
  left: var(--p-3);
}

.benefit-detail__info {
  margin-top: var(--gap-4);
}

.benefit-detail__name {
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}

.benefit-detail__features {
  margin-top: var(--gap-1-5);
  display: flex;
  flex-direction: column;
  gap: var(--gap-1);
}
.benefit-detail__features li {
  position: relative;
  padding-left: 12px;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  color: var(--label-muted);
  line-height: 1.5;
}
.benefit-detail__features li::before {
  content: "·";
  position: absolute;
  left: 3px;
}

.benefit-detail__product .divider {
  margin-top: var(--gap-6);
}

.benefit-detail__price {
  margin-top: var(--gap-6);
}

.benefit-detail__price-list {
  margin: 0;
  display: flex;
  flex-direction: column;
  gap: var(--gap-1);
}

.benefit-detail__price-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--gap-2);
}
.benefit-detail__price-row dt {
  flex-shrink: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
}
.benefit-detail__price-row dd {
  margin: 0;
  display: flex;
  align-items: baseline;
  gap: var(--gap-2);
}

/* #0731-59 끝 */
.benefit-detail__was {
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  text-decoration: line-through;
}

.benefit-detail__now {
  display: inline-flex;
  align-items: baseline;
  gap: 2px;
  font-size: 20px;
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}

.benefit-detail__unit {
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
}

.benefit-detail__price-row--accent dt,
.benefit-detail__price-row--accent .benefit-detail__now {
  color: var(--brand-blue-normal);
}

.benefit-detail__note {
  margin-top: var(--gap-4);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: var(--p-3);
  border-radius: var(--rounded-lg);
  background: var(--fill-alpha-black-soft);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  text-align: center;
}

.address-search__heading {
  margin-top: var(--gap-5);
  font-size: var(--font-size-title-xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}
@media (min-width: 768px) {
  .address-search__heading {
    font-size: var(--font-size-component-3xlarge);
  }
}

.address-search__search {
  position: sticky;
  padding-top: var(--gap-5);
  padding-bottom: var(--gap-3);
  top: 0;
  z-index: 1;
  background: var(--background-normal);
}
.address-search__search input::placeholder {
  font-weight: 400;
}
@media (min-width: 768px) {
  .address-search__search {
    padding-bottom: var(--gap-4);
  }
}

.address-search__tips {
  margin-top: var(--gap-5);
}
@media (min-width: 768px) {
  .address-search__tips {
    padding-bottom: var(--p-5);
  }
}

.address-search__tips-title {
  font-size: var(--font-size-title-small);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}

.address-search__tips-desc {
  margin-top: var(--p-1);
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
}

.address-search__tip-list {
  margin-top: var(--gap-8);
}

.address-search__tip + .address-search__tip {
  margin-top: var(--p-3);
}
.address-search__tip dt {
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-muted);
}
.address-search__tip dd {
  margin-top: var(--gap-0-5);
  font-weight: normal;
  font-size: var(--font-size-body-medium);
  color: var(--label-soft);
}

.address-search__results {
  margin-top: var(--gap-5);
}
@media (min-width: 768px) {
  .address-search__results {
    margin-top: var(--gap-4);
  }
}

.address-search__item + .address-search__item {
  margin-top: var(--p-5);
  border-top: 1px solid var(--border-line-normal);
  padding-top: var(--p-5);
}

.address-search__result {
  padding: 0;
  border: 0;
  background: none;
  font: inherit;
  color: inherit;
  cursor: pointer;
  position: relative;
  display: block;
  width: 100%;
  text-align: left;
}
.address-search__result:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.address-search__zipcode {
  display: block;
  font-weight: normal;
  font-size: var(--font-size-body-small);
  color: var(--label-muted);
}

.address-search__row {
  display: flex;
  align-items: flex-start;
  gap: var(--p-2);
  margin-top: var(--p-2);
}
.address-search__row .badge {
  margin-top: 2.5px;
  width: 41px;
  height: 20px;
  line-height: 20px;
  justify-content: center;
  flex-shrink: 0;
}

.address-search__road,
.address-search__jibun {
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
}

.address-search__road {
  color: var(--label-normal);
}

.address-search__jibun {
  color: var(--label-soft);
}

.address-search__more {
  display: flex;
  justify-content: center;
  margin-top: var(--p-5);
  border-top: 1px solid var(--border-line-normal);
  padding-top: var(--p-8);
  padding-bottom: var(--p-3);
}

.address-search__fields .selected-input {
  margin-top: var(--gap-5);
}
.address-search__fields > * + * {
  margin-top: var(--p-2);
}

.address-search__units {
  display: flex;
  gap: var(--p-2);
}
.address-search__units > * {
  flex: 1;
  min-width: 0;
}

.remote-form__fields + .divider {
  margin-top: var(--gap-8);
}

.move-form__agree {
  margin-top: var(--gap-8);
  padding: var(--p-4) var(--p-5);
}

.move-form__notes {
  margin-top: var(--gap-8);
  margin-inline: var(--p-5);
  padding-bottom: var(--p-18);
}

.agreement-modal__title + .move-terms__lead {
  margin-top: var(--gap-2);
}

.move-terms__lead {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.move-terms__box {
  margin-top: var(--gap-4);
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}

.move-terms__box-item + .move-terms__box-item {
  margin-top: var(--gap-4);
  padding-top: var(--gap-4);
  border-top: 1px solid var(--border-line-normal);
}

.move-terms__box-title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  line-height: 1.6;
}

.move-terms__box-desc {
  margin: var(--gap-0-5) 0 0;
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}

.move-terms__box + .move-terms-table {
  margin-top: var(--gap-4);
}

.move-terms-table + .move-terms__note {
  margin-top: var(--gap-2);
  margin-bottom: var(--gap-14);
}

.move-terms__note {
  margin: 0;
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}

.move-done .result__body {
  padding-top: var(--p-20);
}

.move-scheduled__box {
  display: flex;
  flex-direction: column;
  gap: var(--gap-4);
}

.move-scheduled__memo-label {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.move-scheduled__memo-value {
  margin: var(--gap-2) 0 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  line-height: 1.6;
}

.move-service__body {
  flex: 1 0 auto;
  padding: var(--p-3) var(--p-5) 0;
}

.move-service .remote-service__address-title {
  font-weight: var(--font-weight-medium);
}

.move-service__head {
  margin-top: var(--gap-8);
}

.move-service__services {
  margin-top: var(--gap-8);
}

.move-service .remote-service__card-name {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
}

.move-service .remote-service__card-row + .remote-service__card-row {
  margin-top: var(--gap-4);
  padding-top: var(--gap-4);
  border-top: 1px solid var(--border-line-normal);
}

.move-service__note {
  position: relative;
  margin: var(--gap-3) 0 0;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}

.move-service__note::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}

.move-service__body .notes {
  margin-top: var(--p-18);
  padding-bottom: var(--p-18);
}

.move-review__body {
  flex: 1 0 auto;
  padding: var(--p-5) var(--p-5) var(--p-18);
}

.move-review__summary {
  margin-top: var(--gap-8);
}

.move-review__heading {
  font-size: var(--font-size-title-medium);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}

.move-review__card {
  margin-top: var(--gap-4);
  padding: var(--p-4) var(--p-5);
  border: 1px solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}

.move-review__guides {
  margin-top: var(--gap-8);
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.move-review__guide {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--gap-3);
  width: 100%;
  padding: var(--p-4) var(--p-5);
  border: 0;
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
  text-align: left;
  cursor: pointer;
}
.move-review__guide::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .move-review__guide:hover::before {
    opacity: 0.0375;
  }
}
.move-review__guide:active::before {
  opacity: 0.09;
}
.move-review__guide:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.move-review__guide-text {
  flex: 1 1 auto;
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: var(--gap-0-5);
}

.move-review__guide-title {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  line-height: 1.6;
}

.move-review__guide-desc {
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}

.move-review__guide-arrow {
  flex-shrink: 0;
  color: var(--label-muted);
}

.move-select__body {
  flex: 1 0 auto;
  padding: var(--p-5) var(--p-5) var(--p-12);
}

.move-select__section {
  margin-top: var(--gap-8);
}

.move-select__section-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-2);
}

.move-select__section-title {
  margin: 0;
  font-size: var(--font-size-component-xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.move-select__section-hint {
  flex-shrink: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
}

.move-select__band {
  width: auto;
  margin-top: var(--gap-8);
  margin-inline: calc(-1 * var(--p-5));
}

.move-target {
  margin-top: var(--gap-4);
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.move-target__box {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--gap-3);
  min-height: 68px;
  padding: var(--p-4);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  cursor: pointer;
}
.move-target__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .move-target__box:hover::before {
    opacity: 0.0375;
  }
}
.move-target__box:active::before {
  opacity: 0.09;
}
.move-target__box:has(.move-target__input:checked) {
  border-color: var(--border-box-ultra);
}
.move-target__box:has(.move-target__input:checked) .move-target__name {
  font-weight: var(--font-weight-semibold);
}
.move-target__box:has(.move-target__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.move-target__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.move-target__icon {
  flex-shrink: 0;
}

.move-target__name {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
}

.move-type {
  margin-top: var(--gap-4);
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.move-type__card {
  padding: var(--p-5) var(--p-5) var(--p-2);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}
.move-type__card:has(.move-type__radio:checked) {
  border-color: var(--border-box-ultra);
}

.move-type__head {
  display: flex;
  flex-direction: column;
  gap: var(--gap-3);
  cursor: pointer;
}

.move-type__row {
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.move-type__icon {
  flex-shrink: 0;
}

.move-type__radio {
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  margin: 0;
  -webkit-appearance: none;
  appearance: none;
  border: var(--stroke-1) solid var(--border-box-strong);
  border-radius: var(--rounded-full);
  background: var(--fill-normal);
  cursor: pointer;
  transition: background-color var(--transition-base), border-color var(--transition-base);
}
.move-type__radio:checked {
  border-color: var(--border-box-ultra);
  border-width: 5px;
}
@media (hover: hover) {
  .move-type__radio:hover:not(:checked) {
    border-color: var(--border-box-heavy);
  }
}
.move-type__radio:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.move-type__text {
  display: flex;
  flex-direction: column;
  gap: var(--gap-0-5);
}

.move-type__title {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  line-height: 1.6;
}

.move-type__sub {
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}

.move-type__detail {
  display: flex;
  flex-direction: column;
  margin: var(--gap-4) 0 0;
}

.move-type__detail-list {
  order: 1;
  padding: var(--p-3);
  list-style: none;
  border-radius: var(--rounded-lg);
  background: var(--fill-strong);
}
.move-type__detail-list li {
  position: relative;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-xsmall);
  color: var(--label-soft);
  line-height: 1.6;
}
.move-type__detail-list li + li {
  margin-top: var(--gap-1);
}
.move-type__detail-list li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}

.move-type__more {
  order: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap-0-5);
  padding-block: var(--p-3);
  list-style: none;
  cursor: pointer;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
}
.move-type__more::-webkit-details-marker {
  display: none;
}
.move-type__more:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.move-type__more-open {
  display: none;
}

.move-type__detail[open] > .move-type__more .move-type__more-closed {
  display: none;
}

.move-type__detail[open] > .move-type__more .move-type__more-open {
  display: inline;
}

.move-type__more-icon {
  color: var(--label-soft);
  transition: transform var(--transition-base);
}

.move-type__detail[open] > .move-type__more .move-type__more-icon {
  transform: rotate(180deg);
}

.move-visit__body {
  flex: 1 0 auto;
}

.move-visit__group {
  margin-top: var(--gap-8);
  padding-inline: var(--p-5);
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
}

.move-visit__toggle {
  margin-top: var(--gap-2);
  padding: var(--p-4) var(--p-5);
}

.move-visit__desired {
  margin-top: var(--gap-2);
  padding-inline: var(--p-5);
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
}

.move-visit__desired[hidden] {
  display: none;
}

.move-visit__body .notes {
  margin-top: var(--gap-8);
  margin-inline: var(--p-5);
  padding-bottom: var(--p-18);
}

.visit-slot {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap-2);
}

.visit-slot__box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 var(--p-3);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  color: var(--label-normal);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  text-align: center;
  cursor: pointer;
}
.visit-slot__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .visit-slot__box:hover::before {
    opacity: 0.0375;
  }
}
.visit-slot__box:active::before {
  opacity: 0.09;
}
.visit-slot__box:has(.visit-slot__input:checked) {
  border-color: var(--border-box-ultra);
  font-weight: var(--font-weight-bold);
}
.visit-slot__box:has(.visit-slot__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
.visit-slot__box:has(.visit-slot__input:disabled) {
  border-color: transparent;
  background: var(--fill-disabled);
  color: var(--label-disabled);
  font-weight: var(--font-weight-medium);
  cursor: default;
}
.visit-slot__box:has(.visit-slot__input:disabled)::before {
  display: none;
}

.visit-slot__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.upgrade-intro .remote-intro__desc {
  line-height: 1.6;
}

.upgrade-address__desc {
  margin-top: var(--gap-2);
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
}

.upgrade-address__section {
  margin-top: var(--gap-8);
  padding: 0 var(--p-5) var(--p-8);
}

.address-choice {
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.address-choice__box {
  position: relative;
  display: block;
  padding: var(--p-4) var(--p-5);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  cursor: pointer;
}
.address-choice__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .address-choice__box:hover::before {
    opacity: 0.0375;
  }
}
.address-choice__box:active::before {
  opacity: 0.09;
}
.address-choice__box:has(.address-choice__input:checked) {
  border-color: var(--border-box-ultra);
}
.address-choice__box:has(.address-choice__input:checked) .address-choice__addr {
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}
.address-choice__box:has(.address-choice__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.address-choice__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.address-choice__addr {
  display: block;
  overflow: hidden;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.address-choice__date {
  display: block;
  margin-top: var(--gap-0-5);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
}

.upgrade-notes {
  margin-top: var(--gap-3);
}

.upgrade-scope {
  padding: var(--p-3) var(--p-5);
}

.upgrade-scope__box {
  display: flex;
  align-items: center;
  gap: var(--gap-3);
  min-height: 67px;
  padding: var(--p-3) var(--p-3) var(--p-3) var(--p-4);
  border: 1px solid var(--brand-blue-normal);
  border-radius: var(--rounded-lg);
  background: var(--brand-blue-weak);
}

.upgrade-scope__addr {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upgrade-scope__change {
  flex-shrink: 0;
  padding: 0 var(--p-1);
  border-radius: var(--rounded-md);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--brand-blue-normal);
  text-decoration: none;
}
.upgrade-scope__change:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
@media (hover: hover) {
  .upgrade-scope__change:hover {
    text-decoration: underline;
  }
}
.upgrade-scope__change:active {
  text-decoration: underline;
}

.upgrade-section {
  margin-top: var(--gap-8);
  padding-inline: var(--p-5);
}

.upgrade-section__title {
  font-size: var(--font-size-title-medium);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}

.upgrade-section__head {
  display: flex;
  align-items: center;
  gap: var(--gap-2);
}
.upgrade-section__head .upgrade-section__title {
  flex: 1 1 auto;
  min-width: 0;
}

.upgrade-section__count {
  flex-shrink: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
}
.upgrade-section__count strong {
  margin-inline-end: var(--gap-1);
  font-weight: var(--font-weight-semibold);
  color: var(--brand-blue-normal);
}

.upgrade-current {
  margin-top: var(--gap-4);
  padding: 0 var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}
.upgrade-current li {
  padding-block: var(--p-4);
}
.upgrade-current li + li {
  border-top: var(--stroke-1) solid var(--border-line-muted);
}

.upgrade-current__name {
  display: block;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
}

.upgrade-current__date {
  display: block;
  margin-top: var(--gap-0-5);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
}

.upgrade-select__band {
  margin-top: var(--gap-8);
}

.plan-choice {
  margin-top: var(--gap-4);
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.plan-choice__box {
  position: relative;
  display: block;
  padding: var(--p-4) var(--p-5);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  cursor: pointer;
}
.plan-choice__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .plan-choice__box:hover::before {
    opacity: 0.0375;
  }
}
.plan-choice__box:active::before {
  opacity: 0.09;
}
.plan-choice__box:has(.plan-choice__input:checked) {
  border-color: var(--border-box-ultra);
}
.plan-choice__box:has(.plan-choice__input:checked) .plan-choice__name {
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}
.plan-choice__box:has(.plan-choice__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

/* 2026-09-01 수정 #0901-8 : plan-choice 셋톱 모델 카드 — 자세히 버튼·(공통) 셋톱박스 상세 팝업(settop-detail) 추가 */
.plan-choice__box--detail {
  display: flex;
  align-items: center;
  gap: var(--gap-1);
  padding-right: var(--p-4);
}
.plan-choice__box--detail:has(.plan-choice__detail:hover)::before, .plan-choice__box--detail:has(.plan-choice__detail:active)::before {
  opacity: 0;
}

.plan-choice__body {
  flex: 1;
  min-width: 0;
  cursor: pointer;
}
.plan-choice__body::after {
  content: "";
  position: absolute;
  inset: 0;
}

.plan-choice__detail {
  position: relative;
  flex: none;
}

.plan-choice__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.plan-choice__name {
  display: block;
  overflow: hidden;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.plan-choice__sub {
  display: block;
  margin-top: var(--gap-0-5);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
}

.plan-choice__price {
  display: block;
  margin-top: var(--gap-1);
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}

.plan-choice__unit {
  margin-inline-start: var(--gap-0-5);
  font-size: var(--font-size-component-2xsmall);
  vertical-align: 2px;
}

.plan-choice__badge {
  position: absolute;
  top: -7px;
  right: 7px;
  padding: 1px var(--p-1-5);
  border-radius: var(--rounded-md);
  background: var(--brand-blue-subtle);
  font-size: var(--font-size-component-2xsmall);
  font-weight: var(--font-weight-semibold);
  line-height: 1.6;
  color: var(--brand-blue-normal);
}

.gift-choice {
  margin-top: var(--gap-4);
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.gift-choice__box {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--gap-3);
  padding: var(--p-4);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  cursor: pointer;
}
.gift-choice__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .gift-choice__box:hover::before {
    opacity: 0.0375;
  }
}
.gift-choice__box:active::before {
  opacity: 0.09;
}
.gift-choice__box:has(.gift-choice__input:checked) {
  border-color: var(--border-box-ultra);
}
.gift-choice__box:has(.gift-choice__input:checked) .gift-choice__name {
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}
.gift-choice__box:has(.gift-choice__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.gift-choice__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.gift-choice__thumb {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: var(--rounded-lg);
  object-fit: cover;
}

.gift-choice__name {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.upgrade-select__agree {
  margin-top: var(--gap-8);
  padding-inline: var(--p-5);
}
.upgrade-select__agree .agreement__items .checkbox__label {
  font-weight: var(--font-weight-medium);
}

.upgrade-select__notes {
  margin-top: var(--gap-8);
  margin-inline: var(--p-5);
}

.upgrade-schedule__section {
  margin-top: var(--gap-8);
  padding-inline: var(--p-5);
}

.upgrade-schedule__section--end {
  padding-bottom: var(--p-18);
}

.upgrade-schedule__band {
  margin-top: var(--gap-8);
}

.upgrade-schedule__method-note {
  margin-top: var(--gap-2);
}

.upgrade-schedule__group {
  margin-top: var(--gap-8);
  padding-inline: var(--p-5);
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
}

.upgrade-schedule__toggle {
  margin-top: var(--gap-2);
  padding: var(--p-4) var(--p-5);
}

.upgrade-schedule__desired {
  margin-top: var(--gap-2);
  padding-inline: var(--p-5);
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
}

.upgrade-schedule__desired[hidden] {
  display: none;
}

.install-choice {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap-2);
}

.install-choice__box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 var(--p-3);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  color: var(--label-muted);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  text-align: center;
  cursor: pointer;
}
.install-choice__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .install-choice__box:hover::before {
    opacity: 0.0375;
  }
}
.install-choice__box:active::before {
  opacity: 0.09;
}
.install-choice__box:has(.install-choice__input:checked) {
  border-color: var(--border-box-ultra);
  color: var(--label-normal);
  font-weight: var(--font-weight-bold);
}
.install-choice__box:has(.install-choice__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
.install-choice__box:has(.install-choice__input:disabled) {
  border-color: transparent;
  background: var(--fill-disabled);
  color: var(--label-disabled);
  font-weight: var(--font-weight-medium);
  cursor: default;
}
.install-choice__box:has(.install-choice__input:disabled)::before {
  display: none;
}

.install-choice__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.upgrade-done .result__body {
  padding-top: var(--p-20);
}

.upgrade-done__cards,
.upgrade-done__notes {
  width: 100%;
  text-align: left;
}

.upgrade-done__cards {
  margin-top: var(--gap-8);
}

.upgrade-done__card {
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}

.upgrade-done__card--after {
  border: var(--stroke-1) solid var(--border-line-normal);
  background: var(--fill-normal);
}

.upgrade-done__card-title {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-muted);
}

.upgrade-done__card--after .upgrade-done__card-title {
  color: var(--label-normal);
}

.upgrade-done__card-title + .info-cell {
  margin-top: var(--gap-2);
}

.upgrade-done__arrow {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  height: var(--gap-2);
}

.upgrade-done__arrow-circle {
  display: flex;
  flex-shrink: 0;
  align-items: center;
  justify-content: center;
  width: 32px;
  height: 32px;
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-full);
  background: var(--fill-normal);
  color: var(--label-normal);
}

.upgrade-unavail .result__body {
  padding-top: var(--p-20);
}

.upgrade-unavail__reason {
  margin-top: var(--gap-8);
  width: 100%;
  padding: var(--p-4) var(--p-5);
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
}

.upgrade-unavail__reason-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-2);
  padding-block: var(--p-1);
}
.upgrade-unavail__reason-row dt {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
}
.upgrade-unavail__reason-row dd {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--brand-red-normal);
}

.upgrade-unavail__reason + .bundle-unavail__hours {
  margin-top: var(--gap-2);
}

.upgrade-terms__intro {
  margin-top: var(--gap-2);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-soft);
}

.upgrade-terms__table {
  margin-top: var(--gap-4);
}

.upgrade-terms__notes {
  margin-top: var(--gap-2);
}

.bundle-info {
  flex: 1 0 auto;
  padding: var(--p-5) 0 var(--p-18);
}

.bundle-info__section {
  padding-inline: var(--p-5);
}

.bundle-info__section + .divider,
.divider + .bundle-info__section {
  margin-top: var(--gap-8);
}

.bundle-info__heading {
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}

.bundle-info__heading + * {
  margin-top: var(--gap-4);
}

.product-choice {
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.product-choice__box {
  position: relative;
  display: block;
  padding: var(--p-4) var(--p-5);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  cursor: pointer;
}
.product-choice__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .product-choice__box:hover::before {
    opacity: 0.0375;
  }
}
.product-choice__box:active::before {
  opacity: 0.09;
}
.product-choice__box:has(.product-choice__input:checked) {
  border-color: var(--border-box-ultra);
}
.product-choice__box:has(.product-choice__input:checked) .product-choice__name {
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}
.product-choice__box:has(.product-choice__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.product-choice__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.product-choice__name {
  display: block;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-muted);
}

.product-choice__addr {
  display: block;
  margin-top: var(--gap-0-5);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
}

.product-choice__date {
  display: block;
  margin-top: var(--gap-1);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
}

.line-choice {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap-2);
}

.line-choice__box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 var(--p-3);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  color: var(--label-muted);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  text-align: center;
  cursor: pointer;
}
.line-choice__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .line-choice__box:hover::before {
    opacity: 0.0375;
  }
}
.line-choice__box:active::before {
  opacity: 0.09;
}
.line-choice__box:has(.line-choice__input:checked) {
  border-color: var(--border-box-ultra);
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}
.line-choice__box:has(.line-choice__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.line-choice__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.bundle-info__summary {
  padding: var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}

.bundle-info__notes {
  margin-top: var(--gap-3);
  display: flex;
  flex-direction: column;
  gap: var(--gap-1);
}
.bundle-info__notes li {
  position: relative;
  padding-left: 12px;
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  line-height: 1.6;
  color: var(--label-soft);
}
.bundle-info__notes li::before {
  content: "·";
  position: absolute;
  left: 3px;
}

.bundle-info .agreement__items .checkbox__label {
  font-weight: var(--font-weight-medium);
}

.bundle-consult {
  margin-top: var(--gap-8);
  padding-inline: var(--p-5);
}

.bundle-consult__box {
  display: flex;
  flex-direction: column;
  gap: var(--gap-4);
  padding: var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}

.bundle-consult__item dt {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
}
.bundle-consult__item dd {
  margin: var(--gap-1) 0 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
}

.bundle-consult__agree {
  margin-top: var(--gap-4);
}

.bundle-done .result__body,
.bundle-unavail .result__body,
.bundle-complete .result__body {
  padding-top: var(--p-20);
}

.bundle-done__banner,
.bundle-done__summary,
.bundle-done .bundle-info__notes {
  width: 100%;
}

.bundle-done__summary,
.bundle-done .bundle-info__notes {
  text-align: left;
}

.bundle-done__banner {
  margin-top: var(--gap-8);
  padding: var(--p-4) var(--p-5);
  border: 1px solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--state-error-soft);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-soft);
}

.bundle-done__summary {
  margin-top: var(--gap-8);
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}

.bundle-unavail .bundle-info__notes {
  width: 100%;
  text-align: left;
}

.bundle-unavail__reason {
  margin-top: var(--gap-8);
  width: 100%;
  padding: var(--p-4) var(--p-5);
  border: 1px solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
}

.bundle-unavail__reason-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-2);
  padding-block: var(--p-1);
}
.bundle-unavail__reason-row dt {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
}
.bundle-unavail__reason-row dd {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--brand-red-normal);
  text-align: right;
}

.bundle-unavail__reason + .bundle-unavail__hours {
  margin-top: var(--gap-2);
}

.bundle-terms-table--wide .data-table td {
  width: 200px;
  min-width: 200px;
}

.bundle-terms-table strong {
  font-weight: var(--font-weight-medium);
}

.ownership-body {
  flex: 1 0 auto;
  padding: var(--p-5) 0 var(--p-18);
}

.ownership-body--gutter {
  padding-inline: var(--p-5);
}

.ownership-guide,
.ownership-docs,
.ownership-sign,
.ownership-pay-select {
  padding-top: var(--gap-5);
}

.ownership-guide__section + .ownership-guide__section,
.ownership-guide .divider,
.ownership-guide .divider + .ownership-guide__section,
.ownership-guide .ownership-guide__table {
  margin-top: var(--gap-4);
}

.ownership-guide__title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-guide__title + * {
  margin-top: var(--gap-1);
}

.ownership-guide__title + .ownership-guide__group {
  margin-top: var(--gap-2);
}

.ownership-guide__group + .ownership-guide__group {
  margin-top: var(--gap-1);
}

.ownership-guide__group-title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-guide__group-title + .ownership-guide__list {
  margin-top: var(--gap-0-5);
}

.ownership-guide__steps,
.ownership-guide__list {
  margin: 0;
  padding: 0;
}
.ownership-guide__steps li,
.ownership-guide__list li {
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}
.ownership-guide__steps li + li,
.ownership-guide__list li + li {
  margin-top: var(--gap-0-5);
}

.ownership-guide__steps {
  list-style: decimal inside;
}

.ownership-guide__list li {
  position: relative;
  padding-left: var(--gap-3);
}
.ownership-guide__list li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}

.ownership-apply__head {
  padding-inline: var(--p-5);
}

.ownership-apply__title {
  margin: 0;
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.ownership-apply__section {
  padding-inline: var(--p-5);
}

.ownership-apply__head + .ownership-apply__section,
.ownership-apply__section + .divider,
.ownership-apply .divider + .ownership-apply__section {
  margin-top: var(--gap-8);
}

.ownership-apply__heading {
  margin: 0;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}

.ownership-apply__heading + * {
  margin-top: var(--gap-4);
}

.ownership-apply__heading-row {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: var(--gap-2);
}

.ownership-apply__heading-row + * {
  margin-top: var(--gap-4);
}

.ownership-apply__heading-note {
  flex-shrink: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
  margin-top: 0;
}

.ownership-choice {
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.ownership-choice__box {
  position: relative;
  display: block;
  padding: var(--p-4) var(--p-5);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  cursor: pointer;
}
.ownership-choice__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .ownership-choice__box:hover::before {
    opacity: 0.0375;
  }
}
.ownership-choice__box:active::before {
  opacity: 0.09;
}
.ownership-choice__box:has(.ownership-choice__input:checked) {
  border-color: var(--border-box-ultra);
}
.ownership-choice__box:has(.ownership-choice__input:checked) .ownership-choice__name {
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}
.ownership-choice__box:has(.ownership-choice__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.ownership-choice__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.ownership-choice__name {
  display: block;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-muted);
}

.ownership-choice__desc {
  display: block;
  margin-top: var(--gap-0-5);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
}

.ownership-apply__notes {
  margin-top: var(--gap-8);
  margin-inline: var(--p-5);
}

.ownership-docs__lead {
  margin: 0;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-regular);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-docs .divider,
.ownership-docs__section,
.ownership-docs .ownership-docs__table {
  margin-top: var(--gap-4);
}

.ownership-docs__title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-docs__title + * {
  margin-top: var(--gap-2);
}

.ownership-docs__sub {
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
  margin-top: var(--gap-0-5);
}

.ownership-docs__notes {
  margin: var(--gap-2) 0 0;
  padding: 0;
  list-style: none;
}
.ownership-docs__notes li {
  position: relative;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}
.ownership-docs__notes li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}

.ownership-owner__title {
  margin: 0;
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.ownership-owner__desc {
  margin: var(--gap-2) 0 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}

.ownership-owner__form {
  margin-top: var(--gap-8);
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
}

.ownership-owner__relation {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap-2);
}

.ownership-owner__relation-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 var(--p-3);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  color: var(--label-muted);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  text-align: center;
  cursor: pointer;
}
.ownership-owner__relation-box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .ownership-owner__relation-box:hover::before {
    opacity: 0.0375;
  }
}
.ownership-owner__relation-box:active::before {
  opacity: 0.09;
}
.ownership-owner__relation-box:has(.ownership-owner__relation-input:checked) {
  border-color: var(--border-box-ultra);
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}
.ownership-owner__relation-box:has(.ownership-owner__relation-input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.ownership-owner__relation-input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.ownership-accept__title {
  margin: 0;
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.ownership-accept__desc {
  margin: var(--gap-2) 0 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.ownership-accept__section {
  margin-top: var(--gap-8);
}

.ownership-terms-table td {
  text-align: left;
}

.ownership-terms-table--wide .data-table td {
  width: 200px;
  min-width: 200px;
}

.ownership-terms-table td[rowspan]:last-child {
  box-shadow: calc(-1 * var(--stroke-1)) 0 0 var(--border-line-normal);
}

.ownership-terms-table :is(th, td):has(+ td[rowspan]:last-child) {
  border-right: 0;
}

.ownership-terms__lead {
  margin-top: var(--gap-2);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.ownership-terms__group + .ownership-terms__group {
  margin-top: var(--gap-4);
}

.ownership-terms__group-title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-terms__group-title + * {
  margin-top: var(--gap-2);
}

.ownership-terms__lines {
  margin: 0;
  padding: 0;
  list-style: none;
}

.ownership-terms__cell-bullets {
  margin: 0;
  padding: 0;
  list-style: none;
}
.ownership-terms__cell-bullets li {
  position: relative;
  padding-left: var(--gap-3);
}
.ownership-terms__cell-bullets li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}
.ownership-terms__cell-bullets li + li {
  margin-top: var(--gap-1);
}

.ownership-terms__notes {
  margin: var(--gap-2) 0 0;
  padding: 0;
  list-style: none;
}
.ownership-terms__notes li {
  position: relative;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}
.ownership-terms__notes li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}
.ownership-terms__notes li + li {
  margin-top: var(--gap-1);
}

.ownership-terms__body {
  margin: 0;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-regular);
  color: var(--label-normal);
  line-height: 1.6;
}
.ownership-terms__body strong {
  font-weight: var(--font-weight-semibold);
}

.ownership-terms__body--strong {
  font-weight: var(--font-weight-semibold);
}

.ownership-terms-table .data-table .ownership-terms__cell-strong {
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}

.ownership-terms__note-box {
  margin-top: var(--gap-8);
  padding: var(--p-3);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}
.ownership-terms__note-box .ownership-terms__notes {
  margin-top: 0;
}

.ownership-terms__lead + * {
  margin-top: var(--gap-4);
}

.ownership-terms__body + .ownership-terms__body {
  margin-top: var(--gap-2);
}

.ownership-terms-table + .ownership-terms__body {
  margin-top: var(--gap-4);
}

.ownership-terms__agree {
  margin-top: var(--gap-8);
}

.ownership-terms__detail-title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-terms__detail-title + * {
  margin-top: var(--gap-1);
}

.ownership-terms__detail-bullets {
  margin: 0;
  padding: 0;
  list-style: none;
  margin-top: var(--gap-1);
}
.ownership-terms__detail-bullets li {
  position: relative;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}
.ownership-terms__detail-bullets li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}
.ownership-terms__detail-bullets li + li {
  margin-top: var(--gap-1);
}
.ownership-terms__detail-bullets .ownership-terms__detail-item--strong {
  font-weight: var(--font-weight-semibold);
}

.ownership-terms__agree + .ownership-terms-table {
  margin-top: var(--gap-8);
}

.ownership-confirm__title {
  margin: 0;
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.ownership-confirm__head + .ownership-confirm__section,
.ownership-confirm__section + .ownership-confirm__section {
  margin-top: var(--gap-8);
}

.ownership-confirm__heading {
  margin: 0;
  font-size: var(--font-size-component-xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.ownership-confirm__heading + * {
  margin-top: var(--gap-4);
}

.ownership-confirm__card {
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
}

.ownership-confirm__card--services {
  background: var(--fill-strong);
}
.ownership-confirm__card--services .list-cell + .divider,
.ownership-confirm__card--services .divider + .list-cell {
  margin-top: var(--gap-4);
}
.ownership-confirm__card--services .list-cell__title {
  font-size: var(--font-size-component-medium);
}

.ownership-confirm__card--owner {
  border: var(--stroke-1) solid var(--border-line-normal);
  background: var(--fill-normal);
}
.ownership-confirm__card--owner .info-cell__value {
  color: var(--label-normal);
}

.ownership-payment__head {
  padding-inline: var(--p-5);
}

.ownership-payment__title {
  margin: 0;
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.ownership-payment__section {
  padding-inline: var(--p-5);
}

.ownership-payment__head + .ownership-payment__section,
.ownership-payment__section + .divider,
.ownership-payment .divider + .ownership-payment__section {
  margin-top: var(--gap-8);
}

.ownership-payment__heading {
  margin: 0;
  font-size: var(--font-size-component-xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.ownership-payment__heading + * {
  margin-top: var(--gap-4);
}

.ownership-payment [data-method-form] {
  display: none;
  margin-top: var(--gap-5);
}

.ownership-payment:has(input[name=ownership-pay-method][value=bank]:checked) [data-method-form=bank],
.ownership-payment:has(input[name=ownership-pay-method][value=card]:checked) [data-method-form=card] {
  display: block;
}

.ownership-payment__fields {
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
}

.ownership-payment__stack {
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.ownership-payment__choice {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap-2);
}

.ownership-payment__choice-box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 15px var(--p-3);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  color: var(--label-muted);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  cursor: pointer;
}
.ownership-payment__choice-box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .ownership-payment__choice-box:hover::before {
    opacity: 0.0375;
  }
}
.ownership-payment__choice-box:active::before {
  opacity: 0.09;
}
.ownership-payment__choice-box:has(.ownership-payment__choice-input:checked) {
  border-color: var(--border-box-ultra);
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}
.ownership-payment__choice-box:has(.ownership-payment__choice-input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.ownership-payment__choice-input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.ownership-payment__letter {
  padding-block: var(--gap-2);
}

.ownership-payment__letter-input {
  display: none;
  margin-top: var(--gap-2);
}

.ownership-payment__letter:has(.radio__input:checked) .ownership-payment__letter-input {
  display: block;
}

.ownership-payment__table td {
  text-align: left;
}

.ownership-payment__sub {
  margin: var(--gap-2) 0 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.ownership-payment [data-source-form],
.ownership-payment [data-source-copy] {
  display: none;
}

.ownership-payment:has(input[name=ownership-pay-source][value=combine]:checked) :is([data-source-form=combine], [data-source-copy=combine]),
.ownership-payment:has(input[name=ownership-pay-source][value=new]:checked) :is([data-source-form=new], [data-source-copy=new]) {
  display: block;
}

.ownership-payment__source-form {
  margin-top: var(--gap-4);
}
.ownership-payment__source-form .info-cell__value {
  color: var(--label-normal);
}

.ownership-payment__tail {
  margin-top: var(--gap-8);
}

.ownership-payment__method {
  padding-block: var(--gap-2);
}

.ownership-payment__method-form {
  display: none;
  margin-left: 22px;
  padding: var(--gap-2) 0 var(--p-4);
}

.ownership-payment__method:has(.radio__input:checked) .ownership-payment__method-form {
  display: block;
}

.ownership-pay-select {
  display: flex;
  flex-direction: column;
  gap: var(--gap-4);
}

.ownership-pay-select__card {
  position: relative;
  padding: var(--p-5) var(--p-5) var(--p-2);
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}
.ownership-pay-select__card:has(.radio__input:checked) {
  border-color: var(--border-line-strong);
}
.ownership-pay-select__card .radio::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 2;
}
@media (hover: hover) {
  .ownership-pay-select__card:hover .radio__input:not(:checked) {
    border-color: var(--border-box-heavy);
  }
}

.ownership-pay-select__title {
  margin: var(--gap-3) 0 0;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-pay-select__title + * {
  margin-top: var(--gap-2);
}

.ownership-pay-select__more {
  position: relative;
  z-index: 2;
  display: flex;
  flex-direction: column;
}

.ownership-pay-select__more-toggle {
  order: 2;
  display: flex;
  justify-content: center;
  padding: var(--p-3) 0;
  list-style: none;
  cursor: pointer;
}
.ownership-pay-select__more-toggle:focus-visible {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}
.ownership-pay-select__more-toggle::-webkit-details-marker {
  display: none;
}

.ownership-pay-select__more-open,
.ownership-pay-select__more-close {
  display: inline-flex;
  align-items: center;
  gap: var(--gap-0-5);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-muted);
  line-height: 1.6;
}

.ownership-pay-select__more-close {
  display: none;
}

.ownership-pay-select__more[open] .ownership-pay-select__more-open {
  display: none;
}

.ownership-pay-select__more[open] .ownership-pay-select__more-close {
  display: inline-flex;
}

.ownership-pay-select__services {
  order: 1;
  margin-top: var(--gap-2);
  padding: var(--p-3) var(--p-4);
  border-radius: var(--rounded-lg);
  background: var(--fill-strong);
}

.ownership-pay-select__services-title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-pay-select__services-title + .ownership-pay-select__service {
  margin-top: var(--gap-1-5);
}

.ownership-pay-select__service {
  margin: 0;
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.ownership-pay-select__service + .ownership-pay-select__service {
  margin-top: var(--gap-1);
}

.ownership-payment__agree-note {
  margin: var(--gap-3) 0 0;
  padding: 0;
  list-style: none;
}
.ownership-payment__agree-note li {
  position: relative;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}
.ownership-payment__agree-note li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}

.ownership-payment__existing-card {
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}
.ownership-payment__existing-card .btn {
  width: 100%;
}

.ownership-payment__existing-title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-payment__existing-title + * {
  margin-top: var(--gap-2);
}

.ownership-sign__lead {
  margin: 0;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-regular);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-sign__card {
  margin-top: var(--gap-4);
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-xl);
  background: var(--fill-strong);
}

.ownership-sign__card .divider,
.ownership-sign__card .ownership-sign__services {
  margin-top: var(--gap-4);
}

.ownership-sign__services-title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-sign__services-title + * {
  margin-top: var(--gap-2);
}

.ownership-sign__method {
  margin-top: var(--gap-8);
}

.ownership-sign__method-title {
  margin: 0;
  font-size: var(--font-size-component-xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.ownership-sign__method-title + * {
  margin-top: var(--gap-4);
}

.ownership-sign__options {
  display: flex;
  flex-direction: column;
}

.ownership-sign__option {
  padding: var(--gap-2) 0;
}

.ownership-done .result__body {
  padding-top: var(--p-20);
}

.ownership-done__boxes {
  margin-top: var(--gap-8);
  width: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
  text-align: left;
}

.ownership-done__box {
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}

.ownership-done__box-title {
  display: flex;
  align-items: center;
  gap: var(--gap-1-5);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  line-height: 1.6;
}

.ownership-done__box-desc {
  margin: var(--gap-0-5) 0 0;
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}

.ownership-history__head {
  padding-inline: var(--p-5);
}

.ownership-history__title {
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.ownership-history__list {
  margin-top: var(--gap-8);
  padding-inline: var(--p-5);
  display: flex;
  flex-direction: column;
  gap: var(--gap-4);
}

.ownership-history__card {
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
  padding: var(--p-5);
  border: 1px solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}

.ownership-history__card-info {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--gap-3);
}
.ownership-history__card-info .list-cell {
  width: 100%;
}

.ownership-history__card-actions {
  display: flex;
  gap: var(--gap-2);
}
.ownership-history__card-actions .btn {
  flex: 1 1 0;
  min-width: 0;
}

.ownership-history__more {
  margin-top: var(--gap-4);
  display: flex;
  justify-content: center;
  padding-block: var(--p-3);
}

.ownership-history__notice {
  margin-top: var(--p-18);
  margin-inline: var(--p-5);
}

.ownership-history__notice-sub {
  margin-top: var(--gap-1);
}

.ownership-history__notice-sublabel {
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-semibold);
  color: var(--label-soft);
  line-height: 1.6;
}

.ownership-history__notice-sublabel + .notes__list {
  margin-top: var(--gap-0-5);
}

.ownership-empty .result__body {
  padding-top: var(--p-20);
}

.ownership-failed .result__body {
  padding-top: var(--p-20);
}

.ownership-failed__reason {
  margin-top: var(--gap-8);
  width: 100%;
  padding: var(--p-4) var(--p-5);
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
  text-align: left;
}

.ownership-failed__reason .divider {
  margin-top: var(--gap-3);
}

.ownership-failed__reason-desc {
  margin: var(--gap-3) 0 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.ownership-sign-error__info {
  margin-top: var(--gap-8);
  width: 100%;
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
  text-align: left;
}

.ownership-failed__reason + .bundle-unavail__hours {
  margin-top: var(--gap-2);
}

.relocation-apply__section {
  margin-top: var(--gap-8);
  padding: 0 var(--p-5);
}

.relocation-memo {
  padding-bottom: var(--p-18);
}

.relocation-apply__band {
  margin-top: var(--gap-8);
}

.relocation-apply__title {
  margin: 0;
  font-size: var(--font-size-title-medium);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.relocation-apply__account {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--gap-3);
  margin: var(--p-3) var(--p-5);
  padding: var(--p-3) var(--p-4);
  border: 1px solid var(--brand-blue-normal);
  border-radius: var(--rounded-lg);
  background: var(--brand-blue-weak);
}

.relocation-apply__account-info {
  min-width: 0;
}

.relocation-apply__account-name {
  margin: 0;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  line-height: 1.4;
}

.relocation-apply__account-addr {
  margin-top: var(--gap-0-5);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.5;
}

.relocation-apply__account-badge {
  flex-shrink: 0;
}

.relocation-address-choice {
  margin-top: var(--gap-4);
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.relocation-address-choice__box {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: var(--gap-0-5);
  padding: var(--p-4);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  cursor: pointer;
}
.relocation-address-choice__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .relocation-address-choice__box:hover::before {
    opacity: 0.0375;
  }
}
.relocation-address-choice__box:active::before {
  opacity: 0.09;
}
.relocation-address-choice__box:has(.relocation-address-choice__input:checked) {
  border-color: var(--border-box-ultra);
}
.relocation-address-choice__box:has(.relocation-address-choice__input:checked) .relocation-address-choice__title {
  font-weight: var(--font-weight-semibold);
}
.relocation-address-choice__box:has(.relocation-address-choice__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.relocation-address-choice__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.relocation-address-choice__title {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  line-height: 1.5;
}

.relocation-address-choice__addr {
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.5;
}

.relocation-apply__fields {
  margin-top: var(--gap-4);
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.schedule__mode {
  margin-top: var(--gap-4);
}

.schedule__fields {
  margin-top: var(--gap-6);
  display: flex;
  flex-direction: column;
  gap: var(--gap-6);
}

.schedule:has(.schedule__mode .segmented-control__input[value=phone]:checked) .schedule__notice--date {
  display: none;
}

.schedule:not(:has(.schedule__mode .segmented-control__input[value=phone]:checked)) .schedule__notice--phone {
  display: none;
}

.schedule:has(.schedule__mode .segmented-control__input[value=phone]:checked) .time-slot__badge {
  display: none;
}

.time-slot {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: var(--gap-2);
}

.time-slot__box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 var(--p-3);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  color: var(--label-muted);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  text-align: center;
  cursor: pointer;
}
.time-slot__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .time-slot__box:hover::before {
    opacity: 0.0375;
  }
}
.time-slot__box:active::before {
  opacity: 0.09;
}
.time-slot__box:has(.time-slot__input:checked) {
  border-color: var(--border-box-ultra);
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}
.time-slot__box:has(.time-slot__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.time-slot__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.time-slot__badge {
  position: absolute;
  top: 0;
  inset-inline-end: var(--gap-3);
  transform: translateY(-50%);
}

.notice-box {
  padding: var(--p-4);
  border-radius: var(--rounded-lg);
  background: var(--fill-strong);
}

.notice-box__title {
  display: flex;
  align-items: center;
  gap: var(--gap-1-5);
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-muted);
  line-height: 1.5;
}

.notice-box__icon {
  flex-shrink: 0;
  color: var(--label-soft);
}

.notice-box__desc {
  margin-top: var(--gap-1);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.5;
}

.relocation-apply__notes {
  margin: var(--gap-8) var(--p-5) 0;
  padding-bottom: var(--p-18);
}

.est-fee {
  display: flex;
  flex-direction: column;
  gap: var(--gap-3);
}

.est-fee__card {
  display: flex;
  flex-direction: column;
  padding: var(--p-5);
  border: 1px solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}

.est-fee__badge {
  align-self: flex-start;
}

.est-fee__label {
  margin: var(--gap-3) 0 0;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.4;
}

.est-fee__value {
  margin: var(--gap-1) 0 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.4;
}

.est-fee__note {
  position: relative;
  margin: 0;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-xsmall);
  color: var(--label-soft);
  line-height: 1.5;
}

.est-fee__note::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}

.relocation-apply__radios {
  margin-top: var(--gap-4);
  display: flex;
  flex-direction: column;
  gap: var(--gap-4);
}

.confirm-summary {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: var(--gap-4);
  padding: var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
}

.confirm-summary .relocation-summary {
  align-self: stretch;
}

.confirm-summary + .notice-box {
  margin-top: var(--gap-3);
}

.confirm-summary + .notice-box.waitlist {
  margin-top: var(--gap-2);
  background-color: var(--brand-blue-weak);
}

.confirm-agree {
  padding-bottom: var(--p-18);
}

.agreement-modal__title + .relocation-terms__lead {
  margin-top: var(--gap-2);
}

.relocation-terms__lead {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.relocation-terms__box {
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
  margin-top: var(--p-4);
}

.relocation-terms__box-title {
  margin: 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  line-height: 1.6;
}

.relocation-terms__box-desc {
  margin: var(--gap-0-5) 0 0;
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}

.relocation-terms__box-desc + .relocation-terms__notes {
  margin-top: var(--gap-2);
}

.relocation-terms__group {
  margin: var(--gap-4) 0 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.4;
}

.relocation-terms__group + .relocation-terms__table {
  margin-top: var(--gap-2);
}

.relocation-terms__table tbody tr:first-child th[scope=col]:not(:first-child) {
  background: var(--background-normal);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
}

.relocation-terms__box + .relocation-terms__notes,
.relocation-terms__table + .relocation-terms__notes {
  margin-top: var(--gap-2);
}

.relocation-terms__notes {
  margin: 0;
  padding: 0;
  list-style: none;
}
.relocation-terms__notes li {
  position: relative;
  padding-left: var(--gap-3);
  font-size: var(--font-size-component-xsmall);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
  line-height: 1.6;
}
.relocation-terms__notes li::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}
.relocation-terms__notes li + li {
  margin-top: var(--gap-1);
}

.relocation-check {
  margin-top: var(--gap-12);
  text-align: left;
}

.relocation-check__title {
  font-size: var(--font-size-component-xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
  line-height: 1.4;
}

.relocation-check__box {
  margin-top: var(--gap-4);
  padding: var(--p-5);
  border: 1px solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}

.relocation-check__list {
  margin: 0;
  padding: 0;
  list-style: none;
}

.relocation-check__item {
  display: flex;
  align-items: center;
  gap: var(--gap-2);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  line-height: 1.6;
}

.relocation-check__item + .relocation-check__item {
  margin-top: var(--gap-3);
  padding-top: var(--gap-3);
  border-top: 1px solid var(--border-line-muted);
}

.relocation-check__item-icon {
  flex-shrink: 0;
}

.relocation-check__hint {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap-1-5);
  margin-top: var(--gap-5);
  padding: var(--p-3);
  border-radius: var(--rounded-md);
  background: var(--fill-strong);
  font-size: var(--font-size-caption-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.relocation-check__hint-icon {
  flex-shrink: 0;
  color: var(--label-soft);
}

.relocation-notes {
  margin-top: var(--gap-12);
  padding-bottom: var(--p-18);
  text-align: left;
}

.relocation-summary {
  margin: 0;
  text-align: left;
}

.info-summary.relocation-summary-wrap {
  padding: var(--gap-5);
}

.relocation-summary__row + .relocation-summary__row {
  margin-top: var(--gap-4);
  padding-top: var(--gap-4);
  border-top: var(--stroke-1) solid var(--border-line-muted);
}

.relocation-summary__label {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.6;
}

.relocation-summary__value {
  margin: var(--gap-1) 0 0;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-normal);
  line-height: 1.6;
}

.verify-birth__step {
  display: flex;
  flex: 1;
  flex-direction: column;
}

.verify-birth__content {
  margin-top: var(--gap-8);
  padding: 0 var(--p-5) var(--p-18);
}

.verify-birth__content .info-summary {
  margin-top: 0;
}

.relocation-manager + .info-summary {
  margin-top: var(--gap-2);
}

.relocation-manager {
  display: flex;
  align-items: center;
  gap: var(--gap-4);
  padding: var(--p-5);
  border: var(--stroke-1) solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
}

.relocation-manager__avatar {
  flex-shrink: 0;
  width: 48px;
  height: 48px;
  border-radius: var(--rounded-full);
  object-fit: cover;
  background: var(--fill-strong);
}

.relocation-manager .list-cell {
  flex: 1;
  min-width: 0;
}

.verify-birth__step .field__helper {
  margin-top: var(--gap-1-5);
  position: relative;
  padding-left: var(--gap-3);
}

.verify-birth__step .field__helper::before {
  content: "·";
  position: absolute;
  left: var(--gap-1);
}

html:has(body.popup-flow) {
  scrollbar-gutter: auto;
}

body.popup-flow {
  position: relative;
  margin-inline: auto;
}

@media (hover: hover) {
  body.popup-flow {
    max-width: 767px;
  }
}
body.popup-flow .header-util,
body.popup-flow .header__pc {
  display: none;
}

body.popup-flow .header__mobile {
  display: flex;
  width: 100%;
}

body.popup-flow .header__inner--mobile {
  padding: 0 var(--p-5) 0;
  margin: 0;
}

body.popup-flow .header__title {
  font-size: var(--font-size-component-xlarge);
  font-weight: var(--font-weight-bold);
}

body.popup-flow #main {
  min-height: 0;
}

.popup-flow__view {
  display: flex;
  flex-direction: column;
  min-height: 100dvh;
}

body.popup-flow:has(> .header) .popup-flow__view {
  min-height: calc(100dvh - 56px);
}

body.popup-flow .button-action {
  position: sticky;
  bottom: 0;
  z-index: 1;
}

.remote-intro__body {
  flex: 1 0 auto;
  padding: calc(var(--p-14) + var(--p-5)) var(--p-5) 0;
  text-align: center;
}

.remote-intro__title {
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}

.remote-intro__desc {
  margin-top: var(--gap-2);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
  color: var(--label-soft);
}

.remote-intro__image {
  margin-top: var(--gap-8);
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  border-radius: var(--rounded-2xl);
  object-fit: cover;
}

.apply-intro {
  background: linear-gradient(180deg, #ece9fb 0%, #fff 400px);
}

.apply-intro__body {
  flex: 1 0 auto;
  padding: 100px var(--p-5) 0;
  text-align: center;
}

.apply-intro__title {
  font-size: var(--font-size-component-3xlarge);
  font-weight: var(--font-weight-bold);
  line-height: 1.4;
  color: var(--label-normal);
}

.apply-intro__desc {
  margin-top: var(--gap-2);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.6;
  color: var(--label-soft);
}

.apply-intro__figure {
  margin-inline: calc(-1 * var(--p-5));
  display: flex;
  justify-content: center;
  overflow: hidden;
}

.apply-intro__image {
  flex: none;
  width: 140.6%;
  max-width: 506px;
  height: auto;
}

.apply-intro .button-action__caption {
  word-break: keep-all;
}

.remote-form__body {
  flex: 1 0 auto;
}

.remote-form__head {
  padding: var(--p-5) var(--p-5) 0;
}

.remote-form__step {
  margin: 0;
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--brand-blue-normal);
}

.remote-form__step + .remote-form__title {
  margin-top: var(--gap-1);
}

/* 2026-07-31 수정 #0731-56 : remote-form__title 폰트 토큰 title-xlarge 반응형으로 교체 */
.remote-form__title {
  font-size: var(--font-size-title-xlarge);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}

.remote-form__desc {
  margin-top: var(--gap-2);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  line-height: 1.5;
  color: var(--label-soft);
}

.remote-form__desc--regular {
  font-weight: var(--font-weight-regular);
}

.remote-form__fields {
  margin-top: var(--gap-8);
  padding: 0 var(--p-5) var(--p-8);
  display: flex;
  flex-direction: column;
  gap: var(--gap-5);
}

.relation-choice {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: var(--gap-2);
}

.relation-choice__box {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0 var(--p-3);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  color: var(--label-muted);
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  text-align: center;
  cursor: pointer;
}
.relation-choice__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .relation-choice__box:hover::before {
    opacity: 0.0375;
  }
}
.relation-choice__box:active::before {
  opacity: 0.09;
}
.relation-choice__box:has(.relation-choice__input:checked) {
  border-color: var(--border-box-ultra);
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}
.relation-choice__box:has(.relation-choice__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.relation-choice__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.settop-modal .modal__title {
  display: block;
  height: auto;
}

.settop-modal__desc {
  margin: 0;
  font-size: var(--font-size-body-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
  line-height: 1.5;
}

.remote-result .result__body {
  padding-top: var(--p-20);
}

.bundle-unavail__hours {
  margin-top: var(--gap-8);
  width: 100%;
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
  text-align: center;
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
}

.bundle-unavail__hours-label {
  color: var(--label-soft);
}

.bundle-unavail__hours-value {
  margin-top: var(--gap-0-5);
  color: var(--label-normal);
}

.info-summary {
  margin-top: var(--gap-8);
  align-self: stretch;
  padding: var(--p-4) var(--p-5);
  border-radius: var(--rounded-2xl);
  background: var(--fill-strong);
  text-align: left;
}

.info-summary--gutter {
  margin-inline: var(--p-5);
}

.remote-service__body {
  flex: 1 0 auto;
  padding: var(--p-3) var(--p-5) var(--p-8);
}

.remote-service__address {
  display: flex;
  align-items: center;
  gap: var(--gap-3);
  min-height: 67px;
  padding: var(--p-3) var(--p-3) var(--p-3) var(--p-4);
  border: 1px solid var(--brand-blue-normal);
  border-radius: var(--rounded-lg);
  background: var(--brand-blue-weak);
}

.remote-service__address-value {
  flex: 1 1 auto;
  min-width: 0;
}

.remote-service__address-body {
  display: flex;
  flex-direction: column;
  gap: var(--gap-0-5);
}

.remote-service__address-title {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
  line-height: 1.6;
}

.remote-service__section {
  margin-top: calc(var(--gap-6) + var(--gap-3));
}

.remote-service__body .notes {
  margin-top: var(--p-18);
}

.remote-service__heading {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}

.remote-service__heading--service {
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-bold);
}

.remote-service__card {
  margin-top: var(--gap-4);
  padding: var(--p-4) var(--p-5);
  border: 1px solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}

.remote-service__card-row {
  display: flex;
  align-items: center;
  gap: var(--gap-4);
}

.remote-service__card-thumb {
  flex-shrink: 0;
  width: 36px;
  height: 36px;
}

.remote-service__card-name {
  flex: 1 1 auto;
  min-width: 0;
  font-size: var(--font-size-component-large);
  font-weight: var(--font-weight-semibold);
  color: var(--label-normal);
}

.remote-service__card-badge {
  flex-shrink: 0;
}

.remote-service__card-note {
  margin-top: var(--gap-4);
}

.remote-service__note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap-1-5);
  margin-top: var(--gap-4);
  padding: var(--p-3);
  border-radius: var(--rounded-md);
  background: var(--fill-alpha-black-soft);
  font-size: var(--font-size-caption-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-muted);
}

.remote-service__note-icon {
  flex-shrink: 0;
  color: var(--label-muted);
}

.device-choice {
  display: flex;
  flex-direction: column;
  gap: var(--gap-2);
}

.device-choice__box {
  position: relative;
  display: flex;
  align-items: center;
  gap: var(--gap-3);
  padding: var(--p-4);
  border: 1px solid var(--border-box-normal);
  border-radius: var(--rounded-xl);
  background: var(--fill-normal);
  cursor: pointer;
}
.device-choice__box::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: var(--fill-hyper);
  opacity: 0;
  pointer-events: none;
  transition: opacity var(--transition-base);
}
@media (hover: hover) {
  .device-choice__box:hover::before {
    opacity: 0.0375;
  }
}
.device-choice__box:active::before {
  opacity: 0.09;
}
.device-choice__box:has(.device-choice__input:checked) {
  border-color: var(--border-box-ultra);
}
.device-choice__box:has(.device-choice__input:checked) .device-choice__name {
  color: var(--label-normal);
  font-weight: var(--font-weight-semibold);
}
.device-choice__box:has(.device-choice__input:focus-visible) {
  outline: var(--stroke-3) solid var(--border-box-heavy);
  outline-offset: 0;
}

.device-choice__input {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: 0;
  opacity: 0;
  pointer-events: none;
}

.device-choice__thumb {
  flex-shrink: 0;
  width: 56px;
  height: 56px;
  border-radius: var(--rounded-lg);
  object-fit: cover;
}

.device-choice__info {
  display: flex;
  flex-direction: column;
  gap: var(--gap-0-5);
  min-width: 0;
}

.device-choice__name {
  font-size: var(--font-size-component-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-muted);
}

.device-choice__date {
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
}

.device-choice__note {
  margin-top: var(--gap-2);
  font-size: var(--font-size-component-small);
  font-weight: var(--font-weight-regular);
  color: var(--label-soft);
}

.apply-summary {
  margin-top: var(--gap-8);
  padding: 0 var(--p-5) var(--p-8);
}

.apply-summary__heading {
  font-size: var(--font-size-title-medium);
  font-weight: var(--font-weight-bold);
  color: var(--label-normal);
}

.apply-summary__card {
  margin-top: var(--gap-4);
  padding: var(--p-5);
  border: 1px solid var(--border-line-normal);
  border-radius: var(--rounded-2xl);
  background: var(--fill-normal);
}

.apply-summary__note {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: var(--gap-1-5);
  margin-top: var(--gap-4);
  padding: var(--p-3);
  border-radius: var(--rounded-md);
  background: var(--fill-strong);
  font-size: var(--font-size-caption-medium);
  font-weight: var(--font-weight-medium);
  color: var(--label-soft);
}

.apply-summary__note-icon {
  flex-shrink: 0;
  color: var(--label-soft);
}

.apply-summary__retry {
  margin-top: var(--gap-2);
  display: flex;
  justify-content: center;
  padding-block: var(--p-3);
}