/* Production module: final V2 interpretation, with the photo as the content background. */
html body #printing.printing-section {
  background: linear-gradient(180deg, #e7f0f5 0%, #f4f8fb 48%, #e8f1f6 100%) !important;
}

html body #printing .section-heading {
  margin-bottom: clamp(30px, 3.8vw, 48px) !important;
}

html body #printing .print-compare {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  min-height: clamp(520px, 38vw, 590px) !important;
  overflow: hidden !important;
  background: #061725 !important;
  border-radius: 10px 10px 0 0 !important;
  box-shadow:
    inset 0 -4px 0 #24c6b0,
    0 34px 86px rgba(8, 33, 54, .24) !important;
}

html body #printing .print-panel {
  position: relative !important;
  min-height: clamp(520px, 38vw, 590px) !important;
  display: flex !important;
  flex-direction: column !important;
  justify-content: flex-end !important;
  padding: clamp(34px, 4vw, 58px) clamp(32px, 4.2vw, 58px) clamp(42px, 4.5vw, 58px) !important;
  overflow: hidden !important;
  color: #fff !important;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  isolation: isolate !important;
}

html body #printing .print-panel + .versus + .print-panel::before {
  content: "" !important;
  position: absolute !important;
  inset-block: 0 !important;
  left: 0 !important;
  z-index: 7 !important;
  width: 1px !important;
  background: rgba(255, 255, 255, .16) !important;
  pointer-events: none !important;
}

html body #printing .print-media,
html body #printing .print-media-video {
  position: absolute !important;
  inset: 0 !important;
  z-index: 0 !important;
  width: 100% !important;
  height: 100% !important;
  min-height: 0 !important;
  margin: 0 !important;
  overflow: hidden !important;
  background: #061725 !important;
  border: 0 !important;
}

html body #printing .print-media img,
html body #printing .print-media video,
html body #printing .print-hover-video {
  position: absolute !important;
  inset: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: center !important;
}

html body #printing .print-media img {
  z-index: 1 !important;
  opacity: 1 !important;
  filter: saturate(.9) contrast(1.05) brightness(.9) !important;
  transform: scale(1.015) !important;
  transition: transform 760ms cubic-bezier(.22, .8, .25, 1), filter 280ms ease !important;
}

html body #printing .print-hover-video {
  z-index: 2 !important;
  opacity: 0 !important;
  pointer-events: none !important;
  transition: opacity 180ms ease-out !important;
}

html body #printing .print-media-video.is-video-playing .print-hover-video {
  opacity: 1 !important;
}

html body #printing .print-media::before {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 4 !important;
  display: block !important;
  pointer-events: none !important;
  background:
    linear-gradient(180deg, rgba(3, 17, 28, .58) 0%, rgba(3, 17, 28, .16) 32%, rgba(3, 17, 28, .36) 57%, rgba(3, 17, 28, .93) 100%),
    linear-gradient(90deg, rgba(3, 17, 28, .72) 0%, rgba(3, 17, 28, .34) 38%, rgba(3, 17, 28, .18) 100%) !important;
}

html body #printing .print-panel-gravure .print-media::before {
  background:
    linear-gradient(180deg, rgba(3, 17, 28, .46) 0%, rgba(3, 17, 28, .12) 32%, rgba(3, 17, 28, .34) 57%, rgba(3, 17, 28, .88) 100%),
    linear-gradient(90deg, rgba(3, 17, 28, .46) 0%, rgba(3, 17, 28, .18) 42%, rgba(3, 17, 28, .46) 100%) !important;
}

html body #printing .print-media::after {
  content: "" !important;
  position: absolute !important;
  right: clamp(32px, 4.2vw, 58px) !important;
  bottom: clamp(112px, 8vw, 136px) !important;
  left: clamp(32px, 4.2vw, 58px) !important;
  z-index: 5 !important;
  height: 1px !important;
  display: block !important;
  pointer-events: none !important;
  background: rgba(255, 255, 255, .2) !important;
}

html body #printing .print-media figcaption {
  display: none !important;
}

html body #printing .print-panel-header,
html body #printing .print-panel dl,
html body #printing .print-feature-tags,
html body #printing .versus {
  pointer-events: none !important;
}

html body #printing .print-panel-header {
  position: relative !important;
  z-index: 6 !important;
  width: min(100%, 28rem) !important;
  max-width: calc(100% - 24px) !important;
  padding: 0 !important;
  color: #fff !important;
}

html body #printing .print-panel-header span {
  display: block !important;
  margin-bottom: 12px !important;
  color: #47d7bf !important;
  font-size: clamp(.88rem, .92vw, .98rem) !important;
  font-weight: 900 !important;
  line-height: 1.2 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
}

html body #printing .print-panel-header h3 {
  margin: 0 0 10px !important;
  color: #fff !important;
  font-size: clamp(2.75rem, 3.7vw, 4.2rem) !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  white-space: nowrap !important;
}

html body #printing .print-panel-header p {
  width: min(100%, 24em) !important;
  max-width: 24em !important;
  margin: 0 !important;
  color: rgba(255, 255, 255, .82) !important;
  font-size: clamp(.98rem, 1.02vw, 1.12rem) !important;
  font-weight: 650 !important;
  line-height: 1.5 !important;
  letter-spacing: 0 !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
}

html body #printing .print-panel dl {
  position: absolute !important;
  top: clamp(38px, 4.2vw, 58px) !important;
  left: clamp(32px, 4.2vw, 58px) !important;
  z-index: 6 !important;
  display: block !important;
  width: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  color: #fff !important;
  border: 0 !important;
  overflow: visible !important;
  background: transparent !important;
}

html body #printing .print-panel dl > div {
  display: none !important;
}

html body #printing .print-panel dl > div:first-child {
  display: flex !important;
  flex-direction: column !important;
  padding: 0 0 0 20px !important;
  border: 0 !important;
  border-left: 3px solid #24c6b0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

html body #printing .print-panel dl > div:first-child dt {
  order: 2 !important;
  margin: 3px 0 0 !important;
  color: rgba(255, 255, 255, .74) !important;
  font-size: .88rem !important;
  font-weight: 850 !important;
  line-height: 1.2 !important;
}

html body #printing .print-panel dl > div:first-child dd {
  order: 1 !important;
  margin: 0 !important;
  color: #fff !important;
  font-size: clamp(3rem, 4.8vw, 5.4rem) !important;
  font-weight: 900 !important;
  line-height: .9 !important;
  letter-spacing: 0 !important;
}

html body #printing .print-feature-tags {
  position: relative !important;
  z-index: 6 !important;
  width: min(100%, 520px) !important;
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px 28px !important;
  margin: clamp(28px, 3vw, 36px) 0 0 !important;
  padding: 24px 0 0 !important;
  color: #fff !important;
  border-top: 1px solid rgba(255, 255, 255, .22) !important;
  list-style: none !important;
}

body.home.front-page #printing.printing-section .print-compare .print-panel ul.print-feature-tags > li {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
  min-height: auto !important;
  padding: 0 !important;
  color: rgba(255, 255, 255, .9) !important;
  font-size: clamp(.94rem, .98vw, 1.04rem) !important;
  font-weight: 850 !important;
  line-height: 1.32 !important;
  background: transparent !important;
  background-color: transparent !important;
  background-image: none !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  white-space: normal !important;
}

html body #printing .print-feature-tags li::before {
  content: "\2713" !important;
  flex: 0 0 auto !important;
  color: #39d7bd !important;
  font-size: 1.05em !important;
  font-weight: 950 !important;
}

@media (hover: hover) {
  html body #printing .print-panel:hover .print-media img,
  html body #printing .print-panel:focus-within .print-media img {
    filter: saturate(.96) contrast(1.08) brightness(.95) !important;
    transform: scale(1.045) !important;
  }
}

@media (max-width: 980px) {
  html body #printing .print-compare {
    grid-template-columns: minmax(0, 1fr) !important;
    min-height: 500px !important;
  }

  html body #printing .print-panel {
    grid-column: 1 !important;
    min-height: 500px !important;
    padding: 32px 24px 34px !important;
  }

  html body #printing .print-panel-header {
    width: min(100%, 24rem) !important;
    max-width: none !important;
  }

  html body #printing .print-panel-header h3 {
    font-size: clamp(2.3rem, 12vw, 3.3rem) !important;
  }

  html body #printing .print-panel dl {
    top: 30px !important;
    left: 24px !important;
  }

  html body #printing .print-panel dl > div:first-child {
    padding-left: 14px !important;
  }

  html body #printing .print-panel dl > div:first-child dd {
    font-size: clamp(2.75rem, 14vw, 4.2rem) !important;
  }

  html body #printing .print-media::after {
    right: 24px !important;
    bottom: 122px !important;
    left: 24px !important;
  }

  html body #printing .print-feature-tags {
    width: 100% !important;
    grid-template-columns: 1fr !important;
    gap: 11px !important;
    margin-top: 22px !important;
    padding-top: 18px !important;
  }
}

/* Production module corrections: readable text mask, centered VS, hide copy while video plays. */
html body #printing .print-panel::after {
  content: "" !important;
  position: absolute !important;
  right: 0 !important;
  bottom: 0 !important;
  left: 0 !important;
  z-index: 5 !important;
  height: 46% !important;
  display: block !important;
  pointer-events: none !important;
  background:
    radial-gradient(560px 280px at 18% 78%, rgba(2, 12, 22, .82), rgba(2, 12, 22, 0) 70%),
    linear-gradient(180deg, rgba(2, 12, 22, 0) 0%, rgba(2, 12, 22, .72) 52%, rgba(2, 12, 22, .94) 100%) !important;
}

html body #printing .print-panel-gravure::after {
  background:
    radial-gradient(560px 280px at 22% 78%, rgba(2, 12, 22, .78), rgba(2, 12, 22, 0) 70%),
    linear-gradient(180deg, rgba(2, 12, 22, 0) 0%, rgba(2, 12, 22, .68) 52%, rgba(2, 12, 22, .9) 100%) !important;
}

html body #printing .versus {
  grid-column: 1 / -1 !important;
  grid-row: 1 !important;
  position: absolute !important;
  top: 50% !important;
  left: 50% !important;
  z-index: 20 !important;
  width: 62px !important;
  height: 62px !important;
  display: grid !important;
  place-items: center !important;
  color: #fff !important;
  font-size: 1.04rem !important;
  font-weight: 900 !important;
  transform: translate(-50%, -50%) !important;
  background: #0b75f0 !important;
  border: 6px solid rgba(255, 255, 255, .92) !important;
  border-radius: 50% !important;
  box-shadow: 0 18px 38px rgba(1, 21, 38, .34) !important;
}

@media (max-width: 980px) {
  html body #printing .versus {
    display: none !important;
  }
}

html body #printing .print-media-video ~ .print-panel-header,
html body #printing .print-media-video ~ dl,
html body #printing .print-media-video ~ .print-feature-tags {
  transition: opacity 180ms ease, transform 180ms ease !important;
}

html body #printing .print-media-video.is-video-playing ~ .print-panel-header,
html body #printing .print-media-video.is-video-playing ~ dl,
html body #printing .print-media-video.is-video-playing ~ .print-feature-tags {
  opacity: 0 !important;
  transform: translateY(8px) !important;
}

html body #printing .recommendation-label {
  min-width: max-content !important;
  padding: 0 !important;
  color: #10263b !important;
  font-size: clamp(1rem, 1.15vw, 1.18rem) !important;
  font-weight: 900 !important;
  line-height: 1.35 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
}

/* Final mask cleanup: rectangular overlays only, no oval/radial blobs. */
.hero-stage::after,
.home .hero-stage::after,
.front-page .hero-stage::after,
body.home.front-page .hero-stage::after,
body.pdl-static-theme-preview .hero-stage::after,
body:has(.hero) .hero-stage::after {
  content: none !important;
  display: none !important;
  background: none !important;
  border-radius: 0 !important;
  filter: none !important;
}

.hero::before,
.home .hero::before,
.front-page .hero::before,
body.home.front-page .hero::before,
body.pdl-static-theme-preview .hero::before,
body:has(.hero) .hero::before {
  background:
    linear-gradient(90deg, rgba(3, 16, 28, .96) 0%, rgba(5, 24, 39, .84) 35%, rgba(7, 32, 50, .5) 66%, rgba(7, 31, 48, .72) 100%),
    linear-gradient(180deg, rgba(5, 23, 38, .1) 0%, rgba(6, 28, 45, .36) 50%, rgba(8, 42, 66, .88) 78%, #0d4264 100%),
    url("../../images/factory-real/workshop-wide.webp") center / cover no-repeat !important;
}

.hero::after,
.home .hero::after,
.front-page .hero::after,
body.home.front-page .hero::after,
body.pdl-static-theme-preview .hero::after,
body:has(.hero) .hero::after {
  right: 0 !important;
  bottom: -120px !important;
  left: 0 !important;
  z-index: 1 !important;
  height: clamp(430px, 42vw, 620px) !important;
  border-radius: 0 !important;
  background: linear-gradient(180deg, rgba(7, 31, 48, 0) 0%, rgba(9, 42, 64, .26) 24%, rgba(10, 50, 76, .78) 55%, rgba(13, 66, 100, .98) 76%, #eaf5fa 100%) !important;
}

html body #printing .print-media::before,
html body #printing .print-media::after {
  content: none !important;
  display: none !important;
  background: none !important;
}

html body #printing .print-panel::after {
  content: "" !important;
  position: absolute !important;
  inset: 0 !important;
  z-index: 5 !important;
  display: block !important;
  opacity: 1 !important;
  pointer-events: none !important;
  border-radius: 0 !important;
  filter: none !important;
  width: 100% !important;
  height: 100% !important;
  background: linear-gradient(
    180deg,
    rgba(3, 17, 28, .34) 0%,
    rgba(3, 17, 28, .16) 30%,
    rgba(3, 17, 28, .38) 52%,
    rgba(3, 17, 28, .82) 72%,
    rgba(3, 17, 28, .97) 100%
  ) !important;
  transition: opacity 180ms ease !important;
}

html body #printing .print-panel-gravure::after {
  background: linear-gradient(
    180deg,
    rgba(3, 17, 28, .28) 0%,
    rgba(3, 17, 28, .12) 30%,
    rgba(3, 17, 28, .34) 52%,
    rgba(3, 17, 28, .78) 72%,
    rgba(3, 17, 28, .95) 100%
  ) !important;
}

html body #printing .print-panel:has(.print-media-video.is-video-playing)::after {
  opacity: 0 !important;
}

