/* Breakpoints */
/* stylelint-disable scss/percent-placeholder-pattern */
/* Typography */
.pip25-generic-stage__subline, .pip25-generic-stage__disclaimer .text__copy {
  font-family: var(--typo-copy-font);
  font-weight: var(--typo-copy-regular-weight);
  font-size: var(--typo-copy-xs-size);
  letter-spacing: normal;
  line-height: 1.2;
  text-transform: none;
  font-optical-sizing: auto;
}

.pip25-generic-stage__headline {
  font-family: var(--typo-headline-font);
  font-weight: var(--typo-headline-regular-weight);
  font-size: var(--typo-h1-size);
  letter-spacing: normal;
  line-height: 1;
  text-transform: none;
  font-optical-sizing: auto;
}

.pip25-generic-stage__topline {
  font-family: var(--typo-headline-font);
  font-weight: var(--typo-headline-regular-weight);
  font-size: var(--typo-h4-size);
  letter-spacing: normal;
  line-height: 1;
  text-transform: none;
  font-optical-sizing: auto;
}

.pip25-generic-stage__financial {
  font-family: var(--typo-headline-font);
  font-weight: var(--typo-copy-regular-weight);
  font-size: var(--typo-pricing-size);
  letter-spacing: normal;
  line-height: 1.2;
  text-transform: none;
  font-optical-sizing: auto;
}

.pip25-generic-stage__box.dark-font-on-light .pip25-generic-stage__gradient {
  --stage-gradient: linear-gradient(180deg, rgba(0, 0, 0, 0.54) 0%, rgba(0, 0, 0, 0.54) 42%, rgba(0, 0, 0, 0.42) 57%, rgba(0, 255, 47, 0) 100%);
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__box.dark-font-on-light .pip25-generic-stage__gradient {
    --stage-gradient: linear-gradient(90deg, rgba(0, 0, 0, 0.54) 0%, rgba(0, 0, 0, 0.54) 60%, rgba(0, 0, 0, 0.42) 68%, rgba(0, 0, 0, 0) 100%);
  }
}
@media screen and (min-width: 1025px) {
  .pip25-generic-stage__box.dark-font-on-light .pip25-generic-stage__gradient {
    --stage-gradient: linear-gradient(90deg, rgba(0, 0, 0, 0.54) 0%, rgba(0, 0, 0, 0.54) 47%, rgba(0, 0, 0, 0.42) 63%, rgba(0, 0, 0, 0) 100%);
  }
}
@media screen and (min-width: 1441px) {
  .pip25-generic-stage__box.dark-font-on-light .pip25-generic-stage__gradient {
    --stage-gradient: linear-gradient(90deg, rgba(0, 0, 0, 0.54) 0%, rgba(0, 0, 0, 0.54) 45%, rgba(0, 0, 0, 0.42) 57%, rgba(0, 0, 0, 0) 100%);
  }
}
@media screen and (min-width: 1921px) {
  .pip25-generic-stage__box.dark-font-on-light .pip25-generic-stage__gradient {
    --stage-gradient: linear-gradient(90deg, rgba(0, 0, 0, 0.54) 0%, rgba(0, 0, 0, 0.54) 45%, rgba(0, 0, 0, 0.42) 57%, rgba(0, 0, 0, 0) 100%);
  }
}

.pip25-generic-stage__box.light-font-on-dark .pip25-generic-stage__gradient {
  --stage-gradient: linear-gradient(180deg, rgba(255, 255, 255, 0.58) 0%, rgba(255, 255, 255, 0.58) 42%, rgba(255, 255, 255, 0.36) 57%, rgba(0, 255, 47, 0) 100%);
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__box.light-font-on-dark .pip25-generic-stage__gradient {
    --stage-gradient: linear-gradient( 90deg, rgba(255, 255, 255, 0.58) 0%, rgba(255, 255, 255, 0.58) 55%, rgba(255, 255, 255, 0.36) 75%, rgba(255, 255, 255, 0) 100%);
  }
}
@media screen and (min-width: 1025px) {
  .pip25-generic-stage__box.light-font-on-dark .pip25-generic-stage__gradient {
    --stage-gradient: linear-gradient(90deg, rgba(255, 255, 255, 0.58) 0%, rgba(255, 255, 255, 0.58) 47%, rgba(255, 255, 255, 0.36) 63%, rgba(255, 255, 255, 0) 100%);
  }
}
@media screen and (min-width: 1441px) {
  .pip25-generic-stage__box.light-font-on-dark .pip25-generic-stage__gradient {
    --stage-gradient: linear-gradient(90deg, rgba(255, 255, 255, 0.58) 0%, rgba(255, 255, 255, 0.58) 45%, rgba(255, 255, 255, 0.36) 57%, rgba(255, 255, 255, 0) 100%);
  }
}
@media screen and (min-width: 1921px) {
  .pip25-generic-stage__box.light-font-on-dark .pip25-generic-stage__gradient {
    --stage-gradient: linear-gradient(90deg, rgba(255, 255, 255, 0.58) 0%, rgba(255, 255, 255, 0.58) 45%, rgba(255, 255, 255, 0.36) 57%, rgba(255, 255, 255, 0) 100%);
  }
}

.pip25-generic-stage__box {
  position: relative;
  background-color: var(--palette-grey-1);
  width: 100%;
  height: calc(100vh - 303px);
  overflow: hidden;
  color: var(--colors-text-headline);
}
.pip25-generic-stage__box--editMode {
  height: auto;
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__box {
    height: 100%;
  }
}
.pip25-generic-stage__box .tooltip__trigger {
  pointer-events: all;
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__box .tooltip__trigger .icon {
    color: var(--colors-text-copy);
  }
}
.pip25-generic-stage__box.light-font-on-dark .pip25-generic-stage__gradient {
  background: var(--stage-gradient);
  --gradient: stage-classic-dark;
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__box.light-font-on-dark .tooltip__trigger:active .icon, .pip25-generic-stage__box.light-font-on-dark .tooltip__trigger:focus .icon, .pip25-generic-stage__box.light-font-on-dark .tooltip__trigger:hover .icon {
    color: var(--colors-text-copy);
  }
}
.pip25-generic-stage__box.dark-font-on-light {
  --colors-text-headline: rgba(255, 255, 255, 1);
  --colors-text-copy: rgba(255, 255, 255, 1);
  --colors-background-default: rgba(18, 20, 22, 1);
}
.pip25-generic-stage__box.dark-font-on-light .pip25-generic-stage__gradient {
  background: var(--stage-gradient);
  --gradient: stage-classic-light;
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__box.dark-font-on-light .tooltip__trigger:hover .icon {
    background-color: var(--colors-text-copy);
    color: var(--palette-primary-100);
  }
}
.pip25-generic-stage__media {
  position: absolute;
  top: 0;
  z-index: 0;
  margin: 0 auto;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.pip25-generic-stage__media .c-picture--default {
  display: block;
  width: 100%;
  height: 100%;
}
.pip25-generic-stage__media .c-picture--default .picture__image {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.pip25-generic-stage__image {
  height: 100%;
  width: 100%;
}
.pip25-generic-stage__image .dynamic-video {
  height: 100%;
}
.pip25-generic-stage__gradient {
  position: absolute;
  inset: 0;
  background-size: contain;
  z-index: 1;
  pointer-events: none;
}
.pip25-generic-stage__gradient--30 {
  opacity: 0.3;
}
.pip25-generic-stage__gradient--60 {
  opacity: 0.6;
}
.pip25-generic-stage__gradient--100 {
  opacity: 1;
}
.pip25-generic-stage__info {
  --margin: var(--grid-standard-margin);
  --padding-inline: var(--margin);
  --narrow-max-width: var(--grid-narrow-content-max);
  --content-max-width: var(--grid-standard-content-max);
  --content-size: calc((var(--content-max-width) - var(--narrow-max-width)) / 2);
  pointer-events: none;
  z-index: 1;
  position: relative;
  display: grid;
  margin: 0 auto;
  height: 100%;
  grid-template-columns: [full-width-start] minmax(var(--padding-inline), 1fr) [content-start] minmax(0, var(--content-size)) [narrow-start] min(100% - var(--padding-inline) * 2, var(--narrow-max-width)) [narrow-end] minmax(0, var(--content-size)) [content-end] minmax(var(--padding-inline), 1fr) [full-width-end];
}
.pip25-generic-stage__wrapper {
  grid-column: content;
}
.pip25-generic-stage__mobile-info {
  padding-bottom: var(--spacer-4);
  padding-left: 20px;
  padding-right: 20px;
}
.pip25-generic-stage__mobile-wrapper {
  display: flex;
  flex-direction: column;
  gap: var(--spacer-4);
}
.pip25-generic-stage__grid {
  display: grid;
  grid-template: min-content auto min-content min-content/auto min-content;
  grid-template-areas: "topline topline" "headline headline" "badge ." "badge controls";
  gap: var(--spacing-xxs) var(--grid-standard-gutter);
  padding-block: var(--spacing-s) var(--spacing-xs);
  align-items: start;
  height: 100%;
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__grid {
    grid-template: min-content min-content min-content min-content auto/repeat(4, 1fr);
    grid-template-areas: "topline topline badge badge" "headline headline badge badge" "finance finance badge badge" "ctas ctas . ." "discl discl discl controls";
    min-height: 620px;
  }
}
@media screen and (min-width: 1025px) {
  .pip25-generic-stage__grid {
    grid-template-columns: repeat(12, 1fr);
    grid-template-areas: "topline topline topline topline topline topline topline . . badge badge badge" "headline headline headline headline headline headline headline . . badge badge badge" "finance finance finance finance finance finance . . . badge badge badge" "ctas ctas ctas ctas ctas . . . . . . ." "discl discl discl discl discl discl discl discl discl discl discl controls";
  }
}
.pip25-generic-stage__grid--editMode {
  display: grid;
  grid-template: min-content min-content min-content min-content auto/repeat(4, 1fr);
  grid-template-areas: "topline topline badge badge" "headline headline badge badge" "finance finance badge badge" "ctas ctas . ." "discl discl discl controls";
  min-height: 620px;
  gap: var(--spacing-xxs) var(--grid-standard-gutter);
  padding-block: var(--spacing-s) var(--spacing-xs);
  align-items: start;
  height: 100%;
}
.pip25-generic-stage__topline {
  animation: fade-up 1.6s ease forwards;
  grid-area: topline;
  opacity: 0;
  transform: translateY(20px);
  will-change: transform, opacity;
  backface-visibility: hidden;
}
.pip25-generic-stage__topline--small {
  font-size: var(--typo-h5-size);
}
.pip25-generic-stage__headline {
  grid-area: headline;
  animation: fade-down 1.2s ease forwards, mask-reveal 1.2s ease forwards;
  opacity: 0;
  transform: translateY(-20px);
  clip-path: inset(0 0 100% 0);
  will-change: transform, opacity, clip-path;
  backface-visibility: hidden;
}
.pip25-generic-stage__headline > p {
  line-height: inherit;
  font-family: inherit;
  font-size: inherit;
  font-weight: inherit;
}
.pip25-generic-stage__headline--standard {
  font-size: clamp(var(--typo-h1-size), 4cqi, var(--typo-h1-size));
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__headline--standard {
    font-size: clamp(var(--typo-h3-size), 4cqi, 8rem);
  }
}
.pip25-generic-stage__headline--small {
  font-size: clamp(var(--typo-h1-size), 4cqi, var(--typo-h1-size));
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__headline--small {
    font-size: clamp(var(--typo-h3-size), 4cqi, var(--typo-h2-size));
  }
}
.pip25-generic-stage__financial {
  grid-area: finance;
  color: var(--colors-text-copy);
  display: flex;
  flex-direction: column;
  margin-top: var(--spacing-s);
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__financial {
    margin-top: 0;
  }
}
.pip25-generic-stage__price {
  display: flex;
  align-items: center;
}
.pip25-generic-stage__price .tooltip__trigger {
  transform: scale(0.8);
}
@media screen and (min-width: 1025px) {
  .pip25-generic-stage__price .tooltip__trigger {
    transform: unset;
  }
}
.pip25-generic-stage__suprascript {
  font-size: 0.75em;
  vertical-align: super;
  display: inline-block;
  font-weight: normal;
}
.pip25-generic-stage__subline {
  width: clamp(375px, 80%, 100%);
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__subline {
    margin-top: var(--spacer-4);
  }
}
.pip25-generic-stage__subline > p {
  float: left;
}
.pip25-generic-stage__subline .tooltip__trigger {
  float: right;
  transform: scale(0.8) translateY(-100%);
}
.pip25-generic-stage__ctas {
  grid-area: ctas;
  display: flex;
  flex-flow: column nowrap;
  gap: var(--spacer-4);
  align-items: flex-start;
  justify-content: start;
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__ctas {
    margin-top: var(--spacer-4);
    flex-flow: row wrap;
  }
}
.pip25-generic-stage__ctas .generic-stage__button {
  pointer-events: all;
}
.pip25-generic-stage__sup .stage__disclaimer-badge {
  text-align: center;
}
.pip25-generic-stage__sup .c-text--disclaimer {
  display: flex;
  align-items: center;
  justify-content: center;
}
.pip25-generic-stage__sup .text__text-badge {
  width: 20px;
  height: 20px;
}
.pip25-generic-stage__sup .c-badge--disclaimer {
  height: 100%;
}
.pip25-generic-stage__disclaimer {
  grid-area: discl;
  align-self: end;
  display: flex;
  flex-direction: column;
  gap: var(--spacer-2);
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__disclaimer .stage__disclaimer-content {
    background-color: var(--palette-opacity-black-60);
    padding: var(--spacer-3) var(--spacer-4);
  }
}
.pip25-generic-stage__disclaimer .text__copy {
  display: inline-block;
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__disclaimer .text__copy {
    color: var(--palette-opacity-white);
  }
}
.pip25-generic-stage__img {
  grid-area: badge;
  justify-self: start;
  z-index: 1;
  max-width: 160px;
  max-height: 120px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__img {
    justify-self: end;
  }
}
.pip25-generic-stage__animate-delay {
  opacity: 0;
  animation: show-up 2s ease forwards;
  animation-delay: 0.6s;
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__hide-desktop {
    display: none;
  }
}
.pip25-generic-stage__hide-mobile {
  display: none;
}
@media screen and (min-width: 768px) {
  .pip25-generic-stage__hide-mobile {
    display: flex;
  }
}

@keyframes fade-up {
  0% {
    transform: translateY(20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes fade-down {
  0% {
    transform: translateY(-20px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
@keyframes mask-reveal {
  0% {
    /* stylelint-disable-next-line */
    clip-path: polygon(0% 0%, 100% 0%, 100% 0%, 0% 0%);
  }
  100% {
    /* stylelint-disable-next-line */
    clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%);
  }
}
@keyframes show-up {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}