.ph7-floating-contact.chat-wrap {
  z-index: 80;
  right: max(3%, env(safe-area-inset-right));
  bottom: max(5.25rem, calc(env(safe-area-inset-bottom) + 1rem));
  transform: translateY(var(--ph7-floating-y, 0));
  transition: opacity .2s ease, transform .2s ease;
}

.ph7-floating-contact .chat-box:focus-visible {
  outline: 3px solid rgba(108, 190, 161, .32);
  outline-offset: 4px;
}

.ph7-floating-contact.is-footer-covered {
  opacity: 0;
  pointer-events: none;
}

.ph7-spline-placeholder {
  overflow: visible;
  contain: layout paint style;
}

.ph7-spline-placeholder *,
.ph7-spline-placeholder *::before,
.ph7-spline-placeholder *::after {
  box-sizing: border-box;
}

.ph7-hero-visual {
  z-index: 0;
  height: min(43rem, 80vh);
  max-height: 47rem;
  opacity: .98;
  perspective: 1100px;
}

.hero-section .padding-global.relative {
  z-index: 1;
}

.ph7-symbol-stage {
  width: min(40rem, 48vw);
  aspect-ratio: 1;
  position: absolute;
  top: 9%;
  right: 7%;
  transform-style: preserve-3d;
  animation: ph7-symbol-orbit 18s ease-in-out infinite;
}

.ph7-symbol-stage::before {
  content: "";
  position: absolute;
  inset: 14% 4% 2%;
  border-radius: 3rem;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, .72), rgba(231, 237, 240, .18)),
    radial-gradient(circle at 50% 44%, rgba(108, 190, 161, .12), rgba(108, 190, 161, 0) 62%);
  filter: blur(24px);
  opacity: .72;
  transform: translate3d(0, 2rem, -5rem) rotateX(62deg) scale(.92);
}

.ph7-symbol {
  width: 100%;
  height: 100%;
  position: absolute;
  inset: 0;
  background: url("/images/ph7-symbol.png") center / contain no-repeat;
  pointer-events: none;
  user-select: none;
  will-change: transform, opacity;
}

.ph7-symbol-unfurl {
  position: absolute;
  inset: 0;
  transform-style: preserve-3d;
  pointer-events: none;
}

.ph7-petal {
  position: absolute;
  inset: 0;
  background: url("/images/ph7-symbol.png") center / contain no-repeat;
  opacity: 0;
  transform: translate3d(var(--petal-start-x), var(--petal-start-y), 3.2rem) scale(.78) rotateZ(var(--petal-start-rotate));
  transform-origin: 50% 72%;
  will-change: transform, opacity;
}

.ph7-petal-top {
  --petal-start-x: 0;
  --petal-start-y: 13%;
  --petal-start-rotate: 0deg;
  --petal-delay: 0ms;
  clip-path: polygon(41% 0%, 58% 0%, 57% 62%, 47% 62%);
}

.ph7-petal-upper-left {
  --petal-start-x: 8%;
  --petal-start-y: 10%;
  --petal-start-rotate: 13deg;
  --petal-delay: 120ms;
  clip-path: polygon(12% 18%, 45% 31%, 48% 72%, 29% 70%);
}

.ph7-petal-upper-right {
  --petal-start-x: -8%;
  --petal-start-y: 10%;
  --petal-start-rotate: -13deg;
  --petal-delay: 160ms;
  clip-path: polygon(55% 30%, 88% 18%, 72% 70%, 52% 72%);
}

.ph7-petal-side-left {
  --petal-start-x: 14%;
  --petal-start-y: 4%;
  --petal-start-rotate: 18deg;
  --petal-delay: 270ms;
  clip-path: polygon(0% 48%, 39% 49%, 43% 66%, 9% 66%);
}

.ph7-petal-side-right {
  --petal-start-x: -14%;
  --petal-start-y: 4%;
  --petal-start-rotate: -18deg;
  --petal-delay: 310ms;
  clip-path: polygon(61% 49%, 100% 48%, 91% 66%, 58% 66%);
}

.ph7-petal-lower-left {
  --petal-start-x: 10%;
  --petal-start-y: -5%;
  --petal-start-rotate: 16deg;
  --petal-delay: 430ms;
  clip-path: polygon(14% 72%, 43% 66%, 46% 82%, 18% 91%);
}

.ph7-petal-lower-right {
  --petal-start-x: -10%;
  --petal-start-y: -5%;
  --petal-start-rotate: -16deg;
  --petal-delay: 470ms;
  clip-path: polygon(55% 66%, 85% 72%, 82% 91%, 53% 82%);
}

.ph7-symbol-main {
  filter:
    drop-shadow(0 2.25rem 4.5rem rgba(31, 30, 35, .2))
    drop-shadow(0 .5rem 1.1rem rgba(255, 255, 255, .7));
  transform: translate3d(0, 0, 2.5rem) rotateX(4deg) rotateY(-6deg);
  animation: ph7-symbol-depth 13s ease-in-out infinite;
}

.ph7-symbol-shadow {
  opacity: .16;
  filter: blur(14px);
  transform: translate3d(.9rem, 1.6rem, -3rem) scale(.985) rotateX(12deg) rotateY(-11deg);
  animation: ph7-symbol-shadow 13s ease-in-out infinite;
}

.ph7-symbol-echo {
  opacity: .12;
  mix-blend-mode: multiply;
  filter: blur(.35px);
}

.ph7-symbol-echo-one {
  transform: translate3d(-1.2rem, .6rem, -1.5rem) scale(.985) rotateZ(-1.5deg);
  animation: ph7-symbol-echo-one 17s ease-in-out infinite;
}

.ph7-symbol-echo-two {
  opacity: .08;
  transform: translate3d(1.3rem, -.5rem, -2.5rem) scale(1.01) rotateZ(1.25deg);
  animation: ph7-symbol-echo-two 19s ease-in-out infinite;
}

.ph7-hero-visual:not(.has-entered) .ph7-symbol-main,
.ph7-hero-visual:not(.has-entered) .ph7-symbol-shadow,
.ph7-hero-visual:not(.has-entered) .ph7-symbol-echo {
  opacity: 0;
}

.ph7-hero-visual.has-entered .ph7-symbol-main {
  animation:
    ph7-symbol-resolve 1800ms cubic-bezier(.18, .84, .25, 1) both,
    ph7-symbol-depth 13s ease-in-out 1900ms infinite;
}

.ph7-hero-visual.has-entered .ph7-symbol-shadow {
  animation:
    ph7-symbol-shadow-resolve 1800ms cubic-bezier(.18, .84, .25, 1) both,
    ph7-symbol-shadow 13s ease-in-out 1900ms infinite;
}

.ph7-hero-visual.has-entered .ph7-symbol-echo-one {
  animation:
    ph7-symbol-echo-resolve 1800ms cubic-bezier(.18, .84, .25, 1) both,
    ph7-symbol-echo-one 17s ease-in-out 1900ms infinite;
}

.ph7-hero-visual.has-entered .ph7-symbol-echo-two {
  animation:
    ph7-symbol-echo-two-resolve 1800ms cubic-bezier(.18, .84, .25, 1) both,
    ph7-symbol-echo-two 19s ease-in-out 1900ms infinite;
}

.ph7-hero-visual.has-entered .ph7-petal {
  animation: ph7-petal-unfurl 1650ms cubic-bezier(.16, .86, .28, 1) var(--petal-delay) both;
}

.ph7-card-visual {
  z-index: 2;
  width: min(45rem, 88vw);
  height: min(31rem, 58vw);
  display: grid;
  place-items: center;
  perspective: 1400px;
}

.card-spline.ph7-card-visual + .black-circle-bg {
  display: none;
}

.ph7-card-stage {
  width: 100%;
  height: 100%;
  position: relative;
  transform-style: preserve-3d;
  animation: ph7-card-system-drift 16s ease-in-out infinite;
}

.ph7-medical-card {
  position: absolute;
  width: 31.5rem;
  height: 19.75rem;
  border: 1px solid rgba(255, 255, 255, .72);
  border-radius: 2rem;
  overflow: hidden;
  color: rgba(31, 30, 35, .42);
  background:
    linear-gradient(118deg, #fbfcfc 0%, #e7ecee 24%, #a9adae 57%, #dde2e3 100%),
    linear-gradient(90deg, rgba(255, 255, 255, .36), rgba(255, 255, 255, 0));
  box-shadow:
    0 1.4rem 3.5rem rgba(31, 30, 35, .13),
    inset 0 1px 0 rgba(255, 255, 255, .72),
    inset 0 -1px 0 rgba(31, 30, 35, .08);
  transform-style: preserve-3d;
  will-change: transform;
}

.ph7-card-front {
  top: 3.2rem;
  right: 1.5rem;
  transform: translate3d(0, 0, 3.5rem) rotateY(-8deg) rotateZ(.4deg);
  animation: ph7-card-front 14s ease-in-out infinite;
}

.ph7-card-back {
  left: .8rem;
  bottom: 2.1rem;
  transform: translate3d(0, 0, 0) rotateY(9deg) rotateZ(-.45deg);
  animation: ph7-card-back 14s ease-in-out infinite;
}

.ph7-card-sheen {
  position: absolute;
  inset: -35% auto -35% -25%;
  width: 42%;
  background: linear-gradient(100deg, rgba(255, 255, 255, 0), rgba(255, 255, 255, .58), rgba(255, 255, 255, 0));
  transform: translate3d(-140%, 0, 0) skewX(-14deg);
  animation: ph7-card-sheen 7.5s ease-in-out infinite;
}

.ph7-card-front .ph7-card-sheen {
  animation-delay: -2s;
}

.ph7-card-url,
.ph7-card-line,
.ph7-card-tap,
.ph7-card-scan,
.ph7-card-logo,
.ph7-card-holder,
.ph7-card-role {
  position: absolute;
  z-index: 1;
  font-family: Manrope, sans-serif;
}

.ph7-card-url {
  top: 1.55rem;
  left: 1.9rem;
  font-size: .95rem;
  letter-spacing: .01em;
}

.ph7-card-line {
  top: 2.85rem;
  left: 1.9rem;
  font-size: .98rem;
}

.ph7-card-divider {
  position: absolute;
  z-index: 1;
  left: 0;
  right: 0;
  top: 6.2rem;
  height: 1px;
  background: rgba(31, 30, 35, .14);
}

.ph7-card-divider-low {
  top: 12.75rem;
}

.ph7-card-tap {
  top: 8.1rem;
  right: 8.6rem;
  text-align: right;
  font-size: .95rem;
  line-height: 1.25;
}

.ph7-card-contactless {
  position: absolute;
  z-index: 1;
  top: 7.75rem;
  right: 2.2rem;
  width: 2.8rem;
  height: 3.8rem;
}

.ph7-card-contactless span {
  position: absolute;
  inset: 0;
  border-right: 3px solid rgba(31, 30, 35, .2);
  border-radius: 50%;
}

.ph7-card-contactless span:nth-child(1) {
  transform: scaleX(.38);
}

.ph7-card-contactless span:nth-child(2) {
  transform: scaleX(.64);
}

.ph7-card-contactless span:nth-child(3) {
  transform: scaleX(.9);
}

.ph7-card-qr {
  position: absolute;
  z-index: 1;
  left: 2rem;
  bottom: 1.9rem;
  display: grid;
  grid-template-columns: repeat(3, .52rem);
  grid-auto-rows: .52rem;
  gap: .14rem;
  opacity: .42;
}

.ph7-card-qr span {
  background: rgba(31, 30, 35, .56);
}

.ph7-card-qr span:nth-child(2),
.ph7-card-qr span:nth-child(4),
.ph7-card-qr span:nth-child(8) {
  opacity: .26;
}

.ph7-card-scan {
  left: 5.4rem;
  bottom: 2.15rem;
  font-size: .88rem;
  line-height: 1.22;
}

.ph7-card-logo {
  top: 2.15rem;
  left: 2.4rem;
  color: rgba(31, 30, 35, .45);
  font-size: 2.45rem;
  font-weight: 800;
  letter-spacing: -.08em;
}

.ph7-card-chip {
  position: absolute;
  z-index: 1;
  top: 7.25rem;
  right: 4.2rem;
  width: 4.5rem;
  height: 3.2rem;
  border: 1px solid rgba(31, 30, 35, .28);
  border-radius: .9rem;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: .34rem;
  padding: .52rem;
  background: rgba(255, 255, 255, .42);
}

.ph7-card-chip span {
  border: 1px solid rgba(31, 30, 35, .24);
  border-radius: .5rem;
}

.ph7-card-holder {
  left: 2.45rem;
  bottom: 2.55rem;
  color: rgba(31, 30, 35, .52);
  font-size: 1.55rem;
  font-weight: 600;
  letter-spacing: -.02em;
}

.ph7-card-role {
  left: 2.48rem;
  bottom: 1.45rem;
  font-size: .78rem;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.ph7-visual-managed:not(.is-visible) *,
.ph7-visual-managed:not(.is-visible)::before,
.ph7-visual-managed:not(.is-visible)::after {
  animation-play-state: paused !important;
}

@keyframes ph7-symbol-orbit {
  0%, 100% { transform: translate3d(0, 0, 0) rotateX(0deg) rotateY(-7deg) rotateZ(0deg); }
  50% { transform: translate3d(-.65rem, .35rem, 0) rotateX(4deg) rotateY(7deg) rotateZ(-1deg); }
}

@keyframes ph7-petal-unfurl {
  0% {
    opacity: 0;
    transform: translate3d(var(--petal-start-x), var(--petal-start-y), 3.2rem) scale(.76) rotateZ(var(--petal-start-rotate));
  }
  18% {
    opacity: .92;
  }
  72% {
    opacity: .92;
    transform: translate3d(0, 0, 3.2rem) scale(1) rotateZ(0deg);
  }
  100% {
    opacity: 0;
    transform: translate3d(0, 0, 3.2rem) scale(1) rotateZ(0deg);
  }
}

@keyframes ph7-symbol-resolve {
  0%, 72% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 2.5rem) rotateX(4deg) rotateY(-6deg) rotateZ(0deg);
  }
}

@keyframes ph7-symbol-shadow-resolve {
  0%, 72% {
    opacity: 0;
  }
  100% {
    opacity: .14;
    transform: translate3d(.9rem, 1.6rem, -3rem) scale(.985) rotateX(12deg) rotateY(-11deg);
  }
}

@keyframes ph7-symbol-echo-resolve {
  0%, 72% {
    opacity: 0;
  }
  100% {
    opacity: .1;
    transform: translate3d(-1.2rem, .6rem, -1.5rem) scale(.985) rotateZ(-1.5deg);
  }
}

@keyframes ph7-symbol-echo-two-resolve {
  0%, 72% {
    opacity: 0;
  }
  100% {
    opacity: .07;
    transform: translate3d(1.3rem, -.5rem, -2.5rem) scale(1.01) rotateZ(1.25deg);
  }
}

@keyframes ph7-symbol-depth {
  0%, 100% { transform: translate3d(0, 0, 2.5rem) rotateX(4deg) rotateY(-6deg) rotateZ(0deg); }
  50% { transform: translate3d(.55rem, -.45rem, 3.15rem) rotateX(7deg) rotateY(5deg) rotateZ(.85deg); }
}

@keyframes ph7-symbol-shadow {
  0%, 100% { transform: translate3d(.9rem, 1.6rem, -3rem) scale(.985) rotateX(12deg) rotateY(-11deg); opacity: .14; }
  50% { transform: translate3d(.35rem, 2rem, -3.2rem) scale(.99) rotateX(10deg) rotateY(5deg); opacity: .18; }
}

@keyframes ph7-symbol-echo-one {
  0%, 100% { transform: translate3d(-1.2rem, .6rem, -1.5rem) scale(.985) rotateZ(-1.5deg); opacity: .1; }
  50% { transform: translate3d(-.55rem, .2rem, -1.4rem) scale(.99) rotateZ(-.4deg); opacity: .15; }
}

@keyframes ph7-symbol-echo-two {
  0%, 100% { transform: translate3d(1.3rem, -.5rem, -2.5rem) scale(1.01) rotateZ(1.25deg); opacity: .07; }
  50% { transform: translate3d(.65rem, -.1rem, -2.2rem) scale(1.005) rotateZ(.35deg); opacity: .1; }
}

@keyframes ph7-card-system-drift {
  0%, 100% { transform: translate3d(0, 0, 0) rotateX(0deg) rotateY(0deg); }
  50% { transform: translate3d(-.35rem, -.45rem, 0) rotateX(2.5deg) rotateY(-2deg); }
}

@keyframes ph7-card-front {
  0%, 100% { transform: translate3d(0, 0, 3.5rem) rotateY(-8deg) rotateZ(.4deg); }
  50% { transform: translate3d(-.5rem, .35rem, 4rem) rotateY(-3deg) rotateZ(-.2deg); }
}

@keyframes ph7-card-back {
  0%, 100% { transform: translate3d(0, 0, 0) rotateY(9deg) rotateZ(-.45deg); }
  50% { transform: translate3d(.45rem, -.25rem, .35rem) rotateY(4deg) rotateZ(.15deg); }
}

@keyframes ph7-card-sheen {
  0%, 22% { transform: translate3d(-150%, 0, 0) skewX(-14deg); opacity: 0; }
  42%, 52% { opacity: .68; }
  78%, 100% { transform: translate3d(360%, 0, 0) skewX(-14deg); opacity: 0; }
}

@media (max-width: 767px) {
  .ph7-floating-contact.chat-wrap {
    bottom: max(3rem, calc(env(safe-area-inset-bottom) + 1rem));
  }
}

@media (max-width: 991px) {
  .ph7-hero-visual {
    height: 35rem;
    right: -20%;
    top: 6rem;
    opacity: .72;
  }

  .ph7-symbol-stage {
    width: 31rem;
    right: 4%;
    top: 12%;
  }

  .card-spline.ph7-card-visual {
    width: 35rem;
    height: 25rem;
  }

  .ph7-medical-card {
    width: 25rem;
    height: 15.7rem;
    border-radius: 1.55rem;
  }

  .ph7-card-front {
    right: 0;
  }

  .ph7-card-back {
    left: 0;
  }
}

@media (max-width: 767px) {
  .hero-spline.ph7-hero-visual {
    display: block !important;
    width: 100%;
    height: 9.5rem;
    inset: auto 0 1.5rem 0;
    opacity: .64;
    transform: none;
    transform-origin: 100% 100%;
  }

  .ph7-symbol-stage {
    width: 8.5rem;
    left: 50%;
    top: auto;
    right: auto;
    bottom: 0;
    margin-left: -4.25rem;
  }

  .ph7-symbol-stage::after {
    content: "";
    position: absolute;
    inset: 0;
    background: url("/images/ph7-symbol-mobile.png") center / contain no-repeat;
    filter: drop-shadow(0 1.4rem 3rem rgba(31, 30, 35, .14));
    animation: ph7-symbol-depth 13s ease-in-out infinite;
    will-change: transform, opacity;
  }

  .ph7-hero-visual:not(.has-entered) .ph7-symbol-stage::after {
    opacity: 1;
  }

  .ph7-hero-visual.has-entered .ph7-symbol-stage::after {
    opacity: 1;
    animation: none;
  }

  .ph7-symbol {
    background-image: none;
    animation: none !important;
    opacity: 0;
    will-change: auto;
  }

  .ph7-petal {
    background-image: url("/images/ph7-symbol-mobile.png");
  }

  .ph7-symbol-unfurl {
    display: none;
  }

  .ph7-symbol-stage {
    animation: none;
  }

  .ph7-hero-visual.has-entered .ph7-symbol-main,
  .ph7-hero-visual.has-entered .ph7-symbol-shadow,
  .ph7-hero-visual.has-entered .ph7-symbol-echo {
    animation: none;
    opacity: 0;
  }

  .ph7-symbol-shadow,
  .ph7-symbol-echo {
    display: none;
  }

  .card-spline.ph7-card-visual {
    width: 24rem;
    height: 19rem;
  }

  .ph7-medical-card {
    width: 20.5rem;
    height: 12.9rem;
    border-radius: 1.3rem;
  }

  .ph7-card-front {
    top: 3rem;
    right: .2rem;
  }

  .ph7-card-back {
    left: .2rem;
    bottom: 2.2rem;
  }

  .ph7-card-logo {
    font-size: 1.85rem;
  }

  .ph7-card-holder {
    font-size: 1.1rem;
  }

  .ph7-card-chip {
    transform: scale(.78);
    transform-origin: 100% 0;
  }

  .ph7-card-stage,
  .ph7-medical-card,
  .ph7-card-sheen {
    animation: none !important;
    will-change: auto;
  }
}

@media (prefers-reduced-motion: reduce) {
  .hero-spline.ph7-spline-placeholder,
  .card-spline.ph7-spline-placeholder {
    display: block !important;
  }

  .ph7-spline-placeholder *,
  .ph7-spline-placeholder *::before,
  .ph7-spline-placeholder *::after {
    animation: none !important;
    transition: none !important;
  }

  .ph7-hero-visual .ph7-symbol-main,
  .ph7-hero-visual .ph7-symbol-shadow,
  .ph7-hero-visual .ph7-symbol-echo,
  .ph7-hero-visual .ph7-symbol-stage::after {
    opacity: revert;
  }

  .ph7-petal {
    display: none;
  }

  .ph7-symbol-stage,
  .ph7-card-stage,
  .ph7-symbol,
  .ph7-medical-card,
  .ph7-card-sheen {
    transform-style: flat;
  }
}

@keyframes ph7-mobile-symbol-resolve {
  0%, 72% {
    opacity: 0;
    transform: translate3d(0, 1rem, 2.5rem) scale(.86) rotateX(4deg) rotateY(-6deg) rotateZ(-2deg);
  }
  100% {
    opacity: 1;
    transform: translate3d(0, 0, 2.5rem) rotateX(4deg) rotateY(-6deg) rotateZ(0deg);
  }
}

.legal-rendered-content:empty {
  min-height: 50vh;
}

#privacy-policy-content:empty {
  min-height: 220rem;
}

#terms-global-content:empty,
#terms-schedule-content:empty {
  min-height: 120rem;
}

#privacy-policy-content[data-legal-seeded] {
  min-height: 220rem;
}

#terms-global-content[data-legal-seeded] {
  min-height: 120rem;
}

[data-compliance-content]:empty,
#compliance-country-content:empty,
.compliance-content-section .faq-wrap:empty {
  min-height: 90rem;
}

@media (max-width: 767px) {
  #privacy-policy-content:empty {
    min-height: 300rem;
  }

  #terms-global-content:empty,
  #terms-schedule-content:empty {
    min-height: 190rem;
  }

  #privacy-policy-content[data-legal-seeded] {
    min-height: 300rem;
  }

  #terms-global-content[data-legal-seeded] {
    min-height: 190rem;
  }

  [data-compliance-content]:empty,
  #compliance-country-content:empty,
  .compliance-content-section .faq-wrap:empty {
    min-height: 145rem;
  }
}
