/* Layer photographic treatments onto the existing layout and motion controls. */
.hm-main .hm-hero-scene > img {
  opacity: .87;
  filter: saturate(.9);
  object-position: var(--cobs-photo-position, 50% 44%);
}

.hm-main .hm-hero::after {
  background:
    radial-gradient(ellipse at 50% 44%, #0c1939df 0%, #0d1c42b0 38%, #10234635 78%),
    linear-gradient(180deg, #0b173b90, #0b18363b 32%, #0b173be8);
}

.hm-main .hm-hero::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(120deg, #3059cd40, transparent 38%, transparent 68%, #35a79226);
}

.hm-main .hm-hero-scene {
  overflow: hidden;
}

.hm-main .hm-hero-scene::after,
.ps-main .sh-visual::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(114deg, transparent 36%, #dceeff35 49%, transparent 65%);
  opacity: 0;
}

.hm-main .hm-hero .hm-button > span {
  flex: none;
}

.hm-main .hm-hero-tabs button[aria-current="true"]::before {
  background: linear-gradient(90deg, #a9c6ff, #f7fcff, #a6ebd6);
}

.hm-main :is(.hm-course-image, .hm-culture-visual, .hm-project-visual),
.ps-main :is(.sh-hero-stage, .sh-visual, .open-card-media, .model-service__media) {
  box-shadow: 0 1px 2px #101c341a, 0 12px 30px #13274916;
}

.hm-main .hm-project-visual {
  position: relative;
  isolation: isolate;
  box-shadow: inset 0 0 0 1px #d5e5ff16, 0 16px 38px #07152a65;
}

.hm-main .hm-project-visual::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: linear-gradient(135deg, #93bbff26, transparent 32%, transparent 70%, #a0efdf16);
}

.ps-main .sh-hero-stage::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 5;
  border-radius: inherit;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px #e3edff57, inset 0 -28px 50px -40px #021730b3;
}

.ps-main .edu-photo::before {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px #edf7ff48;
}

.ps-main .ps-scroll-picture::after,
.ps-main .marketing-deck .md-media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  box-shadow: inset 0 0 0 1px #e0edff42, inset 0 -35px 50px -30px #0b203d7d;
}

@media (max-width: 760px) {
  .hm-main .hm-hero-scene > img {
    opacity: .73;
  }

  .hm-main .hm-hero::after {
    background:
      radial-gradient(ellipse at 50% 40%, #0c1939e6 0%, #0d1c42a6 60%, transparent),
      linear-gradient(180deg, #0a183a7d, #0a183a3b 40%, #0a183ae8);
  }
}

@media (prefers-reduced-motion: no-preference) {
  .hm-main .hm-hero.is-enhanced:not(.is-paused) .hm-hero-scene.is-active::after {
    animation: cobs-photo-sweep 1.25s cubic-bezier(.16, 1, .3, 1) both;
  }

  body:not(.ps-motion-paused) .ps-main .sh-showcase.is-ready.is-changing .sh-panel:not([hidden]) .sh-visual::after {
    animation: cobs-photo-sweep .9s cubic-bezier(.16, 1, .3, 1) both;
  }

  .hm-main .hm-project-showcase.is-enhanced:not(.is-paused) .hm-project-slide.is-active .hm-project-visual {
    animation: cobs-demo-arrival .6s cubic-bezier(.2, .65, .3, 1) both;
  }

  body:not(.ps-motion-paused) .ps-main .is-scroll-enhanced .ps-scroll-picture.is-active::after {
    animation: cobs-photo-frame .7s ease-out both;
  }
}

@media (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  .hm-main :is(.hm-course-image, .hm-culture-visual),
  body:not(.ps-motion-paused) .ps-main :is(.sh-hero-stage, .sh-visual, .open-card-media, .model-service__media) {
    transition: box-shadow .38s ease;
  }

  .hm-main :is(.hm-course:hover .hm-course-image, .hm-course:focus-visible .hm-course-image,
    .hm-culture-card:hover .hm-culture-visual, .hm-culture-card:focus-visible .hm-culture-visual),
  body:not(.ps-motion-paused) .ps-main :is(.sh-hero-stage:hover, .sh-visual:hover,
    .open-card-link:hover .open-card-media, .open-card-link:focus-visible .open-card-media,
    .model-service:hover .model-service__media) {
    box-shadow: 0 2px 4px #15274724, 0 19px 38px #173c7030;
  }

  body:not(.ps-motion-paused) .ps-main :is(.sh-hero-stage-image, .model-service__media, .data-service-catalog__card > figure) > img {
    transition: scale .7s cubic-bezier(.16, 1, .3, 1);
  }

  body:not(.ps-motion-paused) .ps-main :is(.sh-hero-stage:hover .sh-hero-stage-image,
    .model-service:hover .model-service__media,
    .data-service-catalog__card:is(:hover, :focus-visible) > figure) > img {
    scale: 1.055;
  }

  .hm-main .hm-hero .hm-button > span {
    transition: translate .24s ease;
  }

  .hm-main .hm-hero .hm-button:is(:hover, :focus-visible) > span {
    translate: 3px -3px;
  }

  .ps-main .marketing-deck .md-media img {
    transition: scale .65s cubic-bezier(.16, 1, .3, 1);
  }

  .ps-main .marketing-deck .md-slide:is(:hover, :focus-visible) .md-media img {
    scale: 1.045;
  }
}

@keyframes cobs-photo-sweep {
  from { transform: translateX(-62%); opacity: 0; }
  28% { opacity: .8; }
  to { transform: translateX(62%); opacity: 0; }
}

@keyframes cobs-demo-arrival {
  from { opacity: .55; translate: 0 10px; }
  to { opacity: 1; translate: 0 0; }
}

@keyframes cobs-photo-frame {
  from { opacity: .15; }
  to { opacity: 1; }
}
