html,
body {
  max-width: 100%;
  overflow-x: hidden;
  overflow-x: clip;
}

/* Interaction only: no visual/layout changes. */
img:not(.design-image) {
  -webkit-user-drag: auto;
  user-select: auto;
}
.design-image {
  -webkit-user-drag: none !important;
  -webkit-user-select: none;
  user-select: none;
}
.embedded-drag-target {
  -webkit-user-drag: element !important;
}

/* Keep the approved CTA areas clickable above the transparent drag targets. */
.cta-hotspots-top {
  z-index: 10001 !important;
}

/* Keep the fixed PC section navigation clickable above image drag targets. */
.quick-nav {
  z-index: 10002 !important;
  pointer-events: auto !important;
}

/* Keep every CTA and section control behind the request form while it is open. */
._backdrop_t837q_1 {
  z-index: 20000 !important;
}

.pc-footer-logo-link {
  z-index: 10001;
  cursor: pointer;
  width: 10.6%;
  height: .62%;
  display: block;
  position: absolute;
  top: 98.72%;
  left: 25.3%;
}

/* Live replacement for the small text baked into the first PC design slice. */
.pc-benefit-strip-live {
  z-index: 7;
  color: #393a3d;
  background: #f5f6f7;
  grid-template-columns: repeat(3, 1fr);
  align-items: stretch;
  width: 57.4%;
  height: .64%;
  line-height: normal;
  display: grid;
  position: absolute;
  top: 7.18%;
  left: 21.3%;
}

.pc-benefit-strip-live > div {
  text-align: center;
  border-left: 1px solid #aaa;
  place-content: center;
  padding: 0 3%;
  display: grid;
}

.pc-benefit-strip-live > div:last-child {
  border-right: 1px solid #aaa;
}

.pc-benefit-strip-live small {
  letter-spacing: .03em;
  font-size: clamp(8px, .82vw, 16px);
  line-height: 1.35;
}

.pc-benefit-strip-live strong {
  letter-spacing: .02em;
  margin-top: .12em;
  font-size: clamp(11px, 1.18vw, 23px);
  font-weight: 400;
  line-height: 1.35;
}

@media (width <= 780px) {
  .pc-benefit-strip-live {
    display: none;
  }
}

/* One additional PC conversion point after the hotel carousel. */
.pc-additional-cta {
  z-index: 10001;
  width: 39.75%;
  height: .38%;
  justify-content: center;
  display: flex;
  position: absolute;
  top: 96.17%;
  left: 30.1%;
}

.pc-additional-cta button {
  width: 48.4%;
  color: #fff;
  cursor: pointer;
  letter-spacing: .08em;
  border: 0;
  font-family: "Noto Serif JP", "Yu Mincho", "Hiragino Mincho ProN", serif;
  font-size: clamp(10px, .84vw, 16px);
  transition: filter .22s, box-shadow .22s;
  background: #687387;
}

.pc-additional-cta button:hover,
.pc-additional-cta button:focus-visible {
  filter: brightness(1.08);
  outline: none;
  box-shadow: 0 7px 20px #27211824;
}

@media (width <= 780px) {
  .mobile-demand-copy p {
    line-height: 2;
  }

  .pc-additional-cta {
    display: none;
  }

  .mobile-footer {
    background: #626b7c;
  }

  .pc-footer-logo-link {
    display: none;
  }

  .mobile-footer-logo-link {
    line-height: 0;
    display: block;
  }

  .mobile-footer-logo-link .mobile-footer-logo {
    display: block;
  }

  .mobile-cta-row.is-single-request {
    justify-items: center;
  }

  .mobile-cta-row.is-single-request button {
    width: 100%;
    background: #647084;
    border-color: #647084;
  }
}

/* The former 15,309px master image is rendered as seamless section images. */
.design-image-slices {
  width: 100%;
  height: auto;
  line-height: 0;
  display: block;
}

.design-slice-image {
  width: 100%;
  height: auto;
  display: block;
  -webkit-user-drag: element !important;
  -webkit-user-select: auto;
  user-select: auto;
}
