/* Shared native media motion. Parameters are supplied once by ipp-media-motion.php. */
body.ipp-native-site {
  --ipp-media-ease: cubic-bezier(.22,1,.36,1);
  --ipp-media-mask-ease: cubic-bezier(.76,0,.24,1);
}
body.ipp-native-site .post-content :is(.ipp-media-image,.ipp-media-player,.ipp-media-embed) { isolation: isolate; }
body.ipp-native-site .post-content .ipp-media-image {
  position: relative !important;
  overflow: hidden;
  background: var(--ipp-uncode-accent,#00ff00) !important;
  border-radius: var(--ipp-corner-radius,8px);
}
body.ipp-native-site .post-content .ipp-media-image .dummy { margin-top: 0 !important; }
body.ipp-native-site .post-content .ipp-media-image :is(.t-entry-visual-cont,.ipp-media-image-link) {
  border-radius: 0 !important;
  background: var(--ipp-uncode-accent,#00ff00) !important;
}
body.ipp-native-site .post-content .ipp-media-image .t-entry-visual-overlay,
body.ipp-native-site .post-content .ipp-media-image .t-overlay-wrap { display: none !important; }
body.ipp-native-site .post-content .ipp-media-image-link { cursor: pointer; }
body.ipp-native-site .post-content .ipp-media-image-frame {
  position: absolute;
  inset: 0;
  display: block;
  overflow: hidden;
  border-radius: 0;
  transform: scale(1);
  transform-origin: center;
  transition: transform var(--ipp-media-hover-duration) var(--ipp-media-ease), border-radius var(--ipp-media-hover-duration) var(--ipp-media-ease);
}
body.ipp-native-site .post-content .ipp-media-image-frame img { filter: none !important; transition: none !important; }
body.ipp-native-site .post-content .ipp-media-fallback { display: block; }
body.ipp-native-site .post-content .ipp-media-fallback .ipp-media-image-frame { position: relative; inset: auto; }
body.ipp-native-site .post-content .ipp-media-image-depth { display: block; transform-origin: center; }
body.ipp-native-site .post-content .ipp-media-fallback img { display: block; width: 100%; height: auto; border-radius: 0 !important; box-shadow: none !important; }
body.ipp-native-site .post-content .ipp-playlist-card__cover:has(.ipp-media-fallback) > .ipp-playlist-card__play { display: none !important; }
body.ipp-native-site .post-content .ipp-media-image-link:focus-visible { outline: 2px solid var(--ipp-uncode-accent,#00ff00); outline-offset: -3px; }
body.ipp-native-site #hp26-random-projects .tmb .t-entry-title::after { content: none !important; display: none !important; }

body.ipp-native-site .post-content .ipp-media-player {
  overflow: hidden;
  background: var(--ipp-uncode-dark,#0f1116) !important;
}
body.ipp-native-site .post-content .ipp-media-player.ipp-player-idle,
body.ipp-native-site .post-content .ipp-media-embed { background: var(--ipp-uncode-accent,#00ff00) !important; }
body.ipp-native-site .post-content .ipp-media-player :is(.mejs-mediaelement,.mejs-poster) {
  background-color: var(--ipp-uncode-dark,#0f1116) !important;
  transform: none !important;
  transform-origin: center;
  filter: none !important;
  transition: transform var(--ipp-media-hover-duration) var(--ipp-media-ease), border-radius var(--ipp-media-hover-duration) var(--ipp-media-ease);
}
body.ipp-native-site .post-content .ipp-media-player .ipp-media-poster { background-image: none !important; overflow: hidden; }
body.ipp-native-site .post-content .ipp-media-poster-art,
body.ipp-native-site .post-content .ipp-media-curtain { position: absolute; inset: 0; display: block; pointer-events: none; }
body.ipp-native-site .post-content .ipp-media-poster-art {
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  transform-origin: center;
}
body.ipp-native-site .post-content .ipp-media-curtain {
  z-index: 6;
  background: var(--ipp-uncode-accent,#00ff00);
  clip-path: inset(0);
}
body.ipp-native-site .post-content .ipp-media-revealed > .ipp-media-curtain {
  animation: ipp-media-green-open var(--ipp-media-reveal-duration) var(--ipp-media-mask-ease) var(--ipp-media-reveal-delay) both;
}
@keyframes ipp-media-green-open { from { clip-path: inset(0); } to { clip-path: inset(0 0 100%); } }
body.ipp-native-site .post-content .ipp-media-player .mejs-mediaelement video { transform: none !important; filter: none !important; transition: none !important; }
body.ipp-native-site .post-content .ipp-media-player .mejs-overlay::before { content: none !important; }
body.ipp-native-site .post-content .ipp-film-panel:has(.ipp-media-player) { animation: none !important; clip-path: none !important; }
body.ipp-native-site .post-content .ipp-media-active > .ipp-media-curtain,
body.ipp-native-site .post-content .ipp-media-blocked > .ipp-media-curtain,
body.ipp-native-site .post-content .ipp-media-accessed > .ipp-media-curtain { display: none; animation: none; }
body.ipp-native-site .post-content .ipp-media-active :is(.mejs-mediaelement,.mejs-poster,.ipp-media-embed-frame,.ipp-media-embed-depth),
body.ipp-native-site .post-content .ipp-media-blocked :is(.ipp-media-embed-frame,.ipp-media-embed-depth),
body.ipp-native-site .post-content .ipp-media-player:is(.mejs-container-fullscreen,:fullscreen) :is(.mejs-mediaelement,.mejs-poster,.ipp-media-poster-art) {
  transform: none !important;
  transition: none !important;
  border-radius: 0 !important;
}
body.ipp-native-site .post-content .ipp-media-player:is(.mejs-container-fullscreen,:fullscreen) > .ipp-media-curtain { display: none; }

/* Provider iframes keep their original controls, source, dimensions and consent gate. */
body.ipp-native-site .post-content .ipp-media-embed { position: relative; overflow: hidden; border-radius: var(--ipp-corner-radius,8px); }
body.ipp-native-site .post-content .ipp-media-embed-frame,
body.ipp-native-site .post-content .ipp-media-embed-depth {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transform-origin: center;
}
body.ipp-native-site .post-content .ipp-media-embed-frame { transform: scale(1); transition: transform var(--ipp-media-hover-duration) var(--ipp-media-ease), border-radius var(--ipp-media-hover-duration) var(--ipp-media-ease); }
body.ipp-native-site .post-content .ipp-media-embed-depth > :is(iframe,.ipp-privacy-embed) { position: absolute !important; inset: 0 !important; width: 100% !important; height: 100% !important; }

/* One label primitive; OPEN and PLAY have optical sizing for their respective widths. */
body.ipp-native-site .post-content .ipp-media-image > .ipp-media-label,
body.ipp-native-site .post-content .ipp-media-player .mejs-overlay.mejs-overlay-play > .mejs-overlay-button {
  position: absolute !important; inset: 0 !important; display: block !important;
  width: 100% !important; height: 100% !important; min-width: 0 !important; min-height: 0 !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; border-radius: 0 !important;
  background: none !important; box-shadow: none !important; transform: none !important; scale: 1 !important;
  transition: none !important; z-index: 5; container-type: size;
}
body.ipp-native-site .post-content .ipp-media-label { pointer-events: none !important; }
body.ipp-native-site .post-content .ipp-media-player .mejs-overlay.mejs-overlay-play > .mejs-overlay-button { pointer-events: auto !important; cursor: pointer; }
body.ipp-native-site .post-content .ipp-media-label::before,
body.ipp-native-site .post-content .ipp-media-player .mejs-overlay.mejs-overlay-play > .mejs-overlay-button::before {
  content: attr(data-media-label) !important;
  position: absolute !important; top: 50% !important; left: 50% !important; right: auto !important; bottom: auto !important;
  display: block !important; width: max-content !important; height: auto !important;
  margin: 0 !important; padding: 0 !important; border: 0 !important; background: none !important;
  color: #fff !important; font-family: var(--ipp-uncode-font-display,"fifties-vf",sans-serif) !important;
  font-weight: 700 !important; font-style: normal !important; font-variation-settings: "wght" 700,"wdth" 125,"ital" 0 !important;
  font-synthesis: none; font-optical-sizing: none; font-kerning: none;
  font-size: var(--ipp-media-label-size,clamp(36px,8vw,88px)) !important;
  letter-spacing: .01em !important; line-height: .72 !important; text-transform: uppercase !important;
  text-shadow: none !important; white-space: nowrap !important; transform: translate(-50%,calc(-50% - .02em)) !important;
  pointer-events: none !important; transition: font-size var(--ipp-media-hover-duration) var(--ipp-media-ease),color 180ms ease !important;
}
body.ipp-native-site .post-content .ipp-media-player .mejs-overlay.mejs-overlay-play > .mejs-overlay-button::before { content: "PLAY" !important; }
body.ipp-native-site .post-content .ipp-media-player .mejs-overlay.mejs-overlay-play > .mejs-overlay-button::after { content: none !important; display: none !important; }
body.ipp-native-site .post-content .ipp-media-player .mejs-overlay.mejs-overlay-play > .mejs-overlay-button:focus-visible { outline: 2px solid var(--ipp-uncode-accent,#00ff00); outline-offset: -8px; }
@supports (font-size: 1cqw) {
  body.ipp-native-site .post-content :is(.ipp-media-label,.ipp-media-player .mejs-overlay-button)::before { --ipp-media-label-size: min(88px,18cqw,24cqh); }
}
@media (min-width: 960px) and (hover: hover) and (pointer: fine) and (prefers-reduced-motion: no-preference) {
  body.ipp-native-site .post-content .ipp-media-image:is(:hover,:has(.ipp-media-image-link:focus-visible)) .ipp-media-image-frame,
  body.ipp-native-site .post-content .ipp-media-player.ipp-player-idle:not(.mejs-container-fullscreen,:fullscreen):is(:hover,:has(:focus-visible)) :is(.mejs-mediaelement,.mejs-poster),
  body.ipp-native-site .post-content .ipp-media-embed:not(.ipp-media-active,.ipp-media-blocked):hover .ipp-media-embed-frame {
    transform: scale(var(--ipp-media-hover-scale)) !important; border-radius: var(--ipp-corner-radius,8px);
  }
  body.ipp-native-site .post-content .ipp-media-image:is(:hover,:has(.ipp-media-image-link:focus-visible)) > .ipp-media-label::before,
  body.ipp-native-site .post-content .ipp-media-player:not(.mejs-container-fullscreen,:fullscreen):is(:hover,:has(.mejs-overlay-button:focus-visible)) .mejs-overlay.mejs-overlay-play > .mejs-overlay-button::before {
    --ipp-media-label-size: min(var(--ipp-media-hover-label-fit,38.6cqw),125cqh); color: var(--ipp-uncode-accent,#00ff00) !important;
  }
  body.ipp-native-site .post-content .ipp-media-depth :is(.ipp-media-poster-art,.ipp-media-embed-depth,.ipp-media-image-depth) {
    transform: translateY(var(--ipp-media-depth-y,0%)) scale(var(--ipp-media-depth-scale,1));
    will-change: transform;
  }
}
@media (max-width: 959px), (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  body.ipp-native-site .post-content :is(.ipp-media-image-frame,.ipp-media-poster-art,.ipp-media-embed-frame,.ipp-media-embed-depth,.ipp-media-image-depth) { transform: none !important; transition: none !important; border-radius: 0 !important; }
  body.ipp-native-site .post-content .ipp-media-native .t-entry-visual img { transform: none !important; }
}
@media (prefers-reduced-motion: reduce) {
  body.ipp-native-site .post-content .ipp-media-curtain { display: none !important; animation: none !important; }
  body.ipp-native-site .post-content .ipp-media-native :is(.t-entry-visual-cont,.uncode-single-media-wrapper) { transform: none !important; clip-path: none !important; }
  body.ipp-native-site .post-content :is(.ipp-media-label,.ipp-media-player .mejs-overlay-button)::before { --ipp-media-label-size: min(88px,18cqw,24cqh) !important; transition: none !important; }
}

/* Keep unlinked illustrations at their native size, including on hover and scroll.
   Uncode entry wrappers and section parallax retain their own animation. */
body.ipp-native-site .post-content img:not(:is(
  a[href], button, [role="button"],
  .wp-video, .wp-video-playlist, .mejs-container,
  .ipp-media-player, .ipp-media-embed, .ipp-playlist-card__cover,
  .twentytwenty-container, .background-wrapper
) img) {
  transform: none !important;
  scale: none !important;
}
