/* A character-led learning world, with a quiet still state before enhancement. */
body.enduri-migrated .elementor .enduri-motion-hero {
  --enduri-progress: .5;
  --enduri-scroll: 0;
  position: relative;
  width: 100%;
  min-width: 0;
  color: #221329;
  isolation: isolate;
}
body.enduri-migrated .elementor .enduri-motion-stage {
  position: relative;
  display: grid;
  place-items: center;
  width: 100%;
  aspect-ratio: 4 / 3;
  overflow: hidden;
  isolation: isolate;
  background: #faf8f5;
  border-radius: 30px 70px 36px 52px;
}
body.enduri-migrated .elementor .enduri-motion-stage > video,
body.enduri-migrated .elementor .enduri-motion-stage > .enduri-motion-poster {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  border-radius: inherit;
}
body.enduri-migrated .elementor .enduri-motion-stage > video {
  z-index: 2;
  opacity: 0;
  transition: opacity 280ms ease-out;
}
body.enduri-migrated .elementor .enduri-motion-hero.is-video-ready .enduri-motion-stage > video { opacity: 1; }
body.enduri-migrated .elementor .enduri-motion-hero.is-video-error .enduri-motion-stage > video { opacity: 0; }
body.enduri-migrated .elementor .enduri-motion-stage > .enduri-motion-poster { z-index: 1; }
body.enduri-migrated .elementor .enduri-motion-stage .enduri-motion-character {
  position: relative;
  z-index: 2;
  display: block;
  width: 84%;
  height: 84%;
  max-height: 430px;
  object-fit: contain;
  transform-origin: 50% 80%;
}
body.enduri-migrated.enduri-motion-active .elementor .is-motion-visible .enduri-motion-character {
  transform: translate3d(calc(var(--enduri-scroll) * 9px), calc(var(--enduri-scroll) * -10px), 0) rotate(calc(var(--enduri-scroll) * 1.6deg));
}
body.enduri-migrated.enduri-motion-active .elementor [data-enduri-motion-scene='news'] .enduri-motion-character {
  transform: translate3d(calc(var(--enduri-scroll) * -15px), calc(var(--enduri-scroll) * -17px), 0) rotate(calc(var(--enduri-scroll) * -3deg));
}
body.enduri-migrated.enduri-motion-active .elementor [data-enduri-motion-scene='start'] .enduri-motion-character {
  transform: translate3d(calc(var(--enduri-scroll) * 23px), calc(var(--enduri-scroll) * -7px), 0) rotate(calc(var(--enduri-scroll) * 1deg));
}
body.enduri-migrated .elementor .enduri-motion-orbit,
body.enduri-migrated .elementor .enduri-motion-trail {
  position: absolute;
  inset: 8%;
  z-index: 0;
  width: 84%;
  height: 84%;
  pointer-events: none;
  color: #612874;
  overflow: visible;
}
body.enduri-migrated .elementor .enduri-motion-trail { color: #fc7e63; opacity: .75; }
body.enduri-migrated .elementor .enduri-motion-orbit [data-enduri-orbit-dot] { transform-origin: center; }
body.enduri-migrated.enduri-motion-active .elementor .is-motion-visible .enduri-motion-orbit [data-enduri-orbit-dot] {
  opacity: calc(.6 + var(--enduri-progress, .5) * .4);
  transform: scale(calc(.96 + var(--enduri-progress, .5) * .08));
}
body.enduri-migrated .elementor .enduri-motion-control,
body.enduri-migrated .elementor .enduri-app-replay {
  appearance: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 44px;
  max-width: 100%;
  margin: 10px 0 0;
  padding: 10px 13px;
  border: 1px solid #d4cad8;
  border-radius: 100px;
  background: #faf8f5;
  color: #44294e;
  font: inherit;
  font-size: 12px;
  font-weight: 600;
  line-height: 1.3;
  text-align: center;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 150ms ease-out, border-color 150ms ease-out;
  box-shadow: none;
}
body.enduri-migrated .elementor .enduri-motion-control::before {
  content: '';
  display: block;
  flex: 0 0 9px;
  width: 9px;
  height: 11px;
  border-left: 3px solid currentColor;
  border-right: 3px solid currentColor;
}
body.enduri-migrated .elementor .enduri-motion-control[data-enduri-motion-state='paused']::before {
  width: 0;
  height: 0;
  flex-basis: 0;
  border-left: 8px solid currentColor;
  border-top: 5px solid transparent;
  border-bottom: 5px solid transparent;
  border-right: 0;
}
body.enduri-migrated .elementor .enduri-motion-control:hover,
body.enduri-migrated .elementor .enduri-app-replay:hover { background: #f0e9f3; border-color: #9d86a6; }
body.enduri-migrated .elementor .enduri-motion-control:focus-visible,
body.enduri-migrated .elementor .enduri-app-replay:focus-visible {
  outline: 3px solid #612874;
  outline-offset: 4px;
}
body.enduri-migrated .elementor .enduri-motion-control:active,
body.enduri-migrated .elementor .enduri-app-replay:active { background: #e7dcec; }

/* Section companions follow the learning path without shifting surrounding copy. */
body.enduri-migrated .elementor .enduri-playful-note {
  --enduri-scroll: 0;
  --enduri-progress: .5;
  position: relative;
  display: grid;
  place-items: center;
  min-width: 0;
  width: min(100%, 370px);
  aspect-ratio: 4 / 3;
  margin-inline: auto;
  grid-column: 1 / -1;
  isolation: isolate;
}
body.enduri-migrated .elementor .enduri-playful-note .enduri-note-character {
  position: relative;
  z-index: 1;
  width: 80%;
  height: 90%;
  object-fit: contain;
  transform-origin: 50% 85%;
}
body.enduri-migrated .elementor .enduri-note-trail {
  position: absolute;
  inset: 5%;
  z-index: 0;
  width: 90%;
  height: 90%;
  color: #fc7e63;
  pointer-events: none;
}
body.enduri-migrated.enduri-motion-active .elementor .enduri-playful-note.is-motion-visible .enduri-note-character {
  transform: translate3d(calc(var(--enduri-scroll) * 18px), calc(var(--enduri-scroll) * -12px), 0) rotate(calc(var(--enduri-scroll) * 2.5deg));
}
body.enduri-migrated.enduri-motion-active .elementor .enduri-playful-note.is-motion-visible .enduri-note-trail {
  transform: translate3d(calc(var(--enduri-scroll) * -7px), calc(var(--enduri-scroll) * 4px), 0);
}
body.enduri-migrated.enduri-motion-active .elementor .enduri-scroll-character.is-motion-visible {
  transform: translate3d(calc(var(--enduri-scroll) * 5px), calc(var(--enduri-scroll) * -9px), 0) rotate(calc(var(--enduri-scroll) * 1.5deg));
}

/* The transparent original supplies the silhouette; these masks only articulate the wings. */
body.enduri-migrated .elementor .enduri-bat-puppet {
  --enduri-scroll: 0;
  --enduri-flap: 0deg;
  --enduri-wing-scale: 1;
  position: relative;
  width: min(100%, 430px);
  aspect-ratio: 1;
  display: block;
  isolation: isolate;
}
body.enduri-migrated .elementor .enduri-bat-puppet > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  max-width: none;
  object-fit: contain;
  pointer-events: none;
}
body.enduri-migrated .elementor .enduri-bat-wing-left {
  clip-path: polygon(0 0, 43% 0, 43% 52%, 48.5% 52%, 58% 61.5%, 58% 100%, 0 100%);
  transform-origin: 48.5% 53%;
  z-index: 1;
}
body.enduri-migrated .elementor .enduri-bat-wing-right {
  clip-path: polygon(51.5% 0, 100% 0, 100% 100%, 58% 100%, 58% 61%, 55% 53%, 51.5% 50%);
  transform-origin: 52% 50%;
  z-index: 1;
}
body.enduri-migrated .elementor .enduri-bat-body {
  clip-path: polygon(43% 40%, 52% 40%, 52% 49%, 54% 51%, 57.5% 59%, 60% 62.5%, 56% 65%, 48% 55%, 43% 53%);
  z-index: 2;
}
body.enduri-migrated.enduri-motion-active .elementor .enduri-bat-puppet.is-motion-visible {
  transform: translate3d(calc(var(--enduri-scroll) * 13px), calc(var(--enduri-scroll) * -15px), 0) rotate(calc(var(--enduri-scroll) * -2deg));
}
body.enduri-migrated.enduri-motion-active .elementor .enduri-bat-puppet.is-motion-visible .enduri-bat-wing-left {
  transform: rotate(var(--enduri-flap)) scaleY(var(--enduri-wing-scale));
}
body.enduri-migrated.enduri-motion-active .elementor .enduri-bat-puppet.is-motion-visible .enduri-bat-wing-right {
  transform: rotate(calc(var(--enduri-flap) * -1)) scaleX(var(--enduri-wing-scale));
}

/* Readable screenshots remain unaltered. Small focus marks illustrate the learning journey. */
body.enduri-migrated .elementor .enduri-app-scene {
  --enduri-scroll: 0;
  --enduri-progress: .5;
  position: relative;
  min-width: 0;
  width: 100%;
  isolation: isolate;
  perspective: 1100px;
}
body.enduri-migrated .elementor .enduri-app-scene .enduri-app-preview {
  display: block;
  width: 100%;
  height: auto;
  max-width: 100%;
  border-radius: 12px;
  box-shadow: 0 16px 36px #22132912;
}
body.enduri-migrated .elementor .enduri-app-pointer,
body.enduri-migrated .elementor .enduri-app-focus {
  position: absolute;
  z-index: 3;
  pointer-events: none;
  opacity: 0;
  transition: opacity 200ms ease-out, transform 450ms cubic-bezier(.16, 1, .3, 1);
}
body.enduri-migrated .elementor .enduri-app-pointer {
  top: var(--enduri-pointer-y, 56%);
  left: var(--enduri-pointer-x, 65%);
  width: clamp(22px, 4%, 34px);
  height: auto;
  color: #612874;
  overflow: visible;
  filter: drop-shadow(0 3px 2px #22132926);
}
body.enduri-migrated .elementor .enduri-app-focus {
  top: var(--enduri-focus-y, 37%);
  left: var(--enduri-focus-x, 29%);
  width: var(--enduri-focus-width, 39%);
  height: var(--enduri-focus-height, 27%);
  border: 2px solid #612874;
  border-radius: 10px;
  box-shadow: 0 3px 9px #61287416;
  background: transparent;
}
body.enduri-migrated .elementor .enduri-app-focus:nth-of-type(2) { border-color: #c25540; }
body.enduri-migrated.enduri-motion-active .elementor .enduri-app-scene.is-motion-visible .enduri-app-focus.is-highlighted,
body.enduri-migrated .elementor .enduri-app-scene.is-replaying .enduri-app-focus.is-highlighted { opacity: .86; }
body.enduri-migrated.enduri-motion-active .elementor .enduri-app-scene.is-motion-visible .enduri-app-pointer,
body.enduri-migrated .elementor .enduri-app-scene.is-replaying .enduri-app-pointer { opacity: 1; }
body.enduri-migrated .elementor .enduri-app-scene[data-enduri-app-step='0'] .enduri-app-pointer { transform: translate3d(-22px, 8px, 0) rotate(-8deg); }
body.enduri-migrated .elementor .enduri-app-scene[data-enduri-app-step='1'] .enduri-app-pointer { transform: translate3d(6px, -24px, 0) rotate(0); }
body.enduri-migrated .elementor .enduri-app-scene[data-enduri-app-step='2'] .enduri-app-pointer { transform: translate3d(22px, 3px, 0) rotate(5deg); }
body.enduri-migrated .elementor .enduri-app-caption {
  margin: 14px 0 0;
  color: #584461;
  font-size: 13px;
  line-height: 1.6;
  text-align: center;
}
body.enduri-migrated .elementor .enduri-app-replay { margin: 12px 0 0; }
body.enduri-migrated:not(.enduri-motion-active) .elementor .enduri-motion-orbit [data-enduri-orbit-dot],
body.enduri-migrated .elementor .enduri-motion-hero:not(.is-motion-visible) .enduri-motion-orbit [data-enduri-orbit-dot] { animation-play-state: paused; }


@media (min-width: 768px) {
  body.enduri-migrated.enduri-motion-active .elementor .enduri-app-scene.is-motion-visible .enduri-app-preview {
    transform: rotateY(calc(var(--enduri-scroll) * -.9deg)) rotateX(calc(var(--enduri-scroll) * .45deg));
  }
}
@media (max-width: 767px) {
  body.enduri-migrated .elementor .enduri-motion-stage { border-radius: 24px 48px 28px 36px; }
  body.enduri-migrated .elementor .enduri-motion-stage .enduri-motion-character { width: 88%; height: 88%; }
  body.enduri-migrated .elementor .enduri-playful-note { max-width: 290px; }
  body.enduri-migrated .elementor .enduri-motion-control,
  body.enduri-migrated .elementor .enduri-app-replay { font-size: 11px; }
  body.enduri-migrated .elementor .enduri-app-focus { border-width: 1.5px; border-radius: 6px; }
  body.enduri-migrated .elementor .enduri-app-pointer { width: 23px; }
  body.enduri-migrated.enduri-motion-active .elementor .enduri-playful-note.is-motion-visible .enduri-note-character {
    transform: translate3d(calc(var(--enduri-scroll) * 9px), calc(var(--enduri-scroll) * -7px), 0) rotate(calc(var(--enduri-scroll) * 1.2deg));
  }
}
@media (prefers-reduced-motion: reduce) {
  body.enduri-migrated .elementor .enduri-app-pointer,
  body.enduri-migrated .elementor .enduri-app-focus,
  body.enduri-migrated .elementor .enduri-motion-stage > video { transition: none; }
  body.enduri-migrated:not(.enduri-motion-active) .elementor .enduri-note-character,
  body.enduri-migrated:not(.enduri-motion-active) .elementor .enduri-motion-character,
  body.enduri-migrated:not(.enduri-motion-active) .elementor .enduri-bat-puppet,
  body.enduri-migrated:not(.enduri-motion-active) .elementor .enduri-bat-wing-left,
  body.enduri-migrated:not(.enduri-motion-active) .elementor .enduri-bat-wing-right,
  body.enduri-migrated:not(.enduri-motion-active) .elementor .enduri-scroll-character { transform: none; }
  body.enduri-migrated .elementor .enduri-app-scene.is-replaying .enduri-app-pointer { transform: none; }
}

body.enduri-migrated .elementor .enduri-motion-stage > .enduri-motion-control {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 5;
  margin: 0;
  background: #faf8f5;
}
body.enduri-migrated .elementor [data-enduri-illustration='fox-board'] {
  max-width: 290px;
  aspect-ratio: 2;
}
body.enduri-migrated .elementor [data-enduri-illustration='fox-board'] .enduri-note-character {
  width: 128px;
  max-width: 100%;
  height: 128px;
}

body.enduri-migrated .elementor .enduri-existing-bat {
  width: 240px;
  max-width: 100%;
  height: auto;
  margin-inline: auto;
}
body.enduri-migrated .elementor [data-enduri-app-scene='student-pulse-cropped'] {
  max-width: 290px;
  margin-inline: auto;
}
body.enduri-migrated .elementor .enduri-app-scene .enduri-app-preview {
  max-height: none;
}

@media (min-width: 1024px) {
  body.enduri-migrated .elementor .enduri-existing-bat { width: 320px; }
}
body.enduri-migrated .elementor [data-enduri-app-scene='teacher-feedback'] {
  max-width: 24rem;
  margin-inline: auto;
}
body.enduri-migrated .elementor [data-enduri-app-scene='teacher-coaching'] {
  max-width: 32rem;
  margin-inline: auto;
}

/* Scroll is the only control. Hide stale draft markup before enhancement runs. */
body.enduri-migrated .elementor [data-enduri-video] button,
body.enduri-migrated .elementor [data-enduri-motion-toggle],
body.enduri-migrated .elementor [data-enduri-motion-master],
body.enduri-migrated .elementor .enduri-app-replay,
body.enduri-migrated .elementor [data-enduri-app-replay] {
  display: none !important;
}
