body.page-academy {
  --amx-accent: #ff9d1f;
  --amx-accent-soft: rgba(255, 157, 31, 0.26);
  --amx-accent-faint: rgba(255, 157, 31, 0.08);
  --amx-ease: cubic-bezier(0.2, 0.74, 0.26, 1);
  --amx-reveal-duration: 0.6s;
}

body.page-academy .academy-hero-shell,
body.page-academy .academy-adv2-shell,
body.page-academy .academy-program-v3-shell,
body.page-academy .academy-roadmap-shell,
body.page-academy .academy-fit-shell,
body.page-academy .academy-tariffs-v3,
body.page-academy .academy-format-v2,
body.page-academy .faq-shell,
body.page-academy .footer {
  position: relative;
  isolation: isolate;
}

body.page-academy .amx-motion-section::before {
  content: "";
  position: absolute;
  left: 8%;
  right: 8%;
  top: -14%;
  bottom: -14%;
  background:
    radial-gradient(44% 56% at 50% 0%, rgba(255, 157, 31, 0.12) 0%, rgba(255, 157, 31, 0.03) 44%, rgba(255, 157, 31, 0) 72%);
  opacity: 0;
  pointer-events: none;
  filter: blur(8px);
  transform: translateY(0);
  transition: opacity 1s ease, transform 0.32s linear;
  animation: amxSectionBreathe 17s ease-in-out infinite;
}

body.page-academy .amx-motion-section.is-visible::before {
  opacity: 1;
}

body.page-academy .amx-motion-section::after {
  content: "";
  position: absolute;
  left: 2%;
  right: 2%;
  bottom: -2px;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 157, 31, 0), rgba(255, 157, 31, 0.2), rgba(255, 157, 31, 0));
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.7s ease;
}

body.page-academy .amx-motion-section.is-visible::after {
  opacity: 1;
}

body.page-academy .amx-motion-section > *:not(.amx-stream-layer) {
  position: relative;
  z-index: 1;
}

body.page-academy .amx-motion-section > .amx-stream-layer {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
  opacity: 0.12;
  mix-blend-mode: screen;
}

body.page-academy .amx-motion-section > .amx-stream-layer::before {
  content: "";
  position: absolute;
  left: -18%;
  right: -18%;
  top: -24%;
  bottom: -24%;
  background:
    repeating-linear-gradient(
      118deg,
      rgba(255, 157, 31, 0) 0 28px,
      rgba(255, 157, 31, 0.08) 28px 30px,
      rgba(255, 157, 31, 0) 30px 68px
    );
  filter: blur(0.35px);
  transform: translate3d(0, 0, 0);
  animation: amxSignalStreams 15s linear infinite;
}

@keyframes amxSectionBreathe {
  0%,
  100% {
    transform: translate3d(0, 0, 0) scale(1);
    opacity: 0.72;
  }
  50% {
    transform: translate3d(0, -6px, 0) scale(1.02);
    opacity: 1;
  }
}

@keyframes amxSignalStreams {
  0% {
    transform: translate3d(-4%, -2%, 0);
  }
  50% {
    transform: translate3d(4%, 2%, 0);
  }
  100% {
    transform: translate3d(-4%, -2%, 0);
  }
}

body.page-academy.amx-motion-enabled .amx-reveal-item {
  opacity: 0;
  transform: translate3d(0, 14px, 0);
  filter: blur(4px);
  will-change: opacity, transform, filter;
  transition:
    opacity var(--amx-reveal-duration) var(--amx-ease),
    transform var(--amx-reveal-duration) var(--amx-ease),
    filter var(--amx-reveal-duration) var(--amx-ease);
  transition-delay: calc(var(--amx-stagger, 0) * 1s);
}

body.page-academy.amx-motion-enabled .amx-motion-section.is-visible .amx-reveal-item,
body.page-academy.amx-reduced .amx-reveal-item {
  opacity: 1;
  transform: translate3d(0, 0, 0);
  filter: blur(0);
}

body.page-academy.amx-motion-enabled .academy-hero-system .amx-reveal-item,
body.page-academy.amx-reduced .academy-hero-system .amx-reveal-item {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

body.page-academy .amx-parallax-surface {
  transform: translate3d(0, var(--amx-parallax, 0px), 0);
  transition: transform 0.35s linear;
}

body.page-academy .academy-adv2-card,
body.page-academy .academy-program-v3-stat,
body.page-academy .academy-program-v3-module-trigger,
body.page-academy .academy-roadmap-item .border_inside,
body.page-academy .academy-tariff-card,
body.page-academy .academy-fv2-benefit-card,
body.page-academy .academy-fv2-widget,
body.page-academy .academy-fv2-main-surface,
body.page-academy .faq-system-question,
body.page-academy .faq-system-answer-main,
body.page-academy .academy-tariff-btn,
body.page-academy .button_question {
  transition:
    transform 0.25s ease,
    border-color 0.25s ease,
    background-color 0.25s ease,
    box-shadow 0.25s ease,
    color 0.25s ease;
}

body.page-academy .academy-program-v3-stat:hover,
body.page-academy .academy-roadmap-item .border_inside:hover,
body.page-academy .academy-fv2-benefit-card:hover,
body.page-academy .academy-fv2-widget:hover,
body.page-academy .academy-fv2-main-surface:hover {
  transform: translate3d(0, -4px, 0);
  border-color: rgba(255, 170, 72, 0.62) !important;
  box-shadow:
    0 0 0 1px rgba(255, 169, 68, 0.18),
    0 14px 26px rgba(0, 0, 0, 0.35),
    0 0 24px rgba(255, 157, 31, 0.16);
}

/* Program rows: keep hover highlight, but disable any movement of step numbers. */
body.page-academy .academy-program-v3-module-trigger:hover {
  transform: none !important;
  border-color: rgba(255, 170, 72, 0.62) !important;
  box-shadow:
    0 0 0 1px rgba(255, 169, 68, 0.18),
    0 14px 26px rgba(0, 0, 0, 0.35),
    0 0 24px rgba(255, 157, 31, 0.16);
}

body.page-academy .academy-program-v3-module-trigger:hover .academy-program-v3-module-step {
  transform: translateY(-50%) !important;
}

/* Program numbers 01-06: keep fully static to prevent any shift/jump. */
body.page-academy .academy-program-v3-module-step,
body.page-academy .academy-program-v3-module-step::before,
body.page-academy .academy-program-v3-module-step::after {
  animation: none !important;
  transition: none !important;
}

body.page-academy.amx-motion-enabled .academy-program-v3-module,
body.page-academy.amx-reduced .academy-program-v3-module {
  opacity: 1 !important;
  transform: none !important;
  filter: none !important;
  transition: none !important;
}

/* Keep adv2 connector layout stable: no hover translation for quadrant cards. */
body.page-academy .academy-adv2-card:hover {
  transform: none !important;
}

body.page-academy .button_question:hover {
  transform: translate3d(0, -2px, 0);
  border-color: rgba(255, 176, 84, 0.84) !important;
  box-shadow:
    0 0 0 1px rgba(255, 176, 84, 0.26),
    0 0 20px rgba(255, 157, 31, 0.24),
    0 12px 24px rgba(0, 0, 0, 0.34);
}

body.page-academy .faq-system-question:hover {
  border-color: rgba(255, 176, 84, 0.58);
  background: rgba(9, 15, 24, 0.96);
}

body.page-academy .faq-system-question.is-active {
  box-shadow:
    inset 2px 0 0 rgba(255, 157, 31, 0.88),
    0 0 18px rgba(255, 157, 31, 0.2);
}

body.page-academy .faq-system-question-arrow {
  transition: transform 0.3s ease;
}

body.page-academy .faq-system-question.is-active .faq-system-question-arrow {
  transform: rotate(90deg);
}

body.page-academy .amx-pulse-target {
  box-shadow:
    0 0 0 1px rgba(255, 157, 31, 0.16),
    0 0 40px rgba(255, 157, 31, 0.14) inset;
}

body.page-academy .academy-adv2-shell .academy-adv2-link,
body.page-academy .academy-adv2-shell .academy-adv2-inner-curve,
body.page-academy .academy-adv2-shell .academy-adv2-node,
body.page-academy .academy-adv2-shell .academy-adv2-chevron {
  opacity: 0;
  transition: opacity 1.2s ease;
}

body.page-academy .academy-adv2-shell.is-visible .academy-adv2-link,
body.page-academy .academy-adv2-shell.is-visible .academy-adv2-inner-curve,
body.page-academy .academy-adv2-shell.is-visible .academy-adv2-node,
body.page-academy .academy-adv2-shell.is-visible .academy-adv2-chevron {
  opacity: 1;
}

body.page-academy .academy-program-v3-shell .academy-program-v3-module:not(:last-child)::before {
  transform-origin: top;
  transform: scaleY(0);
  opacity: 0.2;
  transition: transform 1.25s ease, opacity 0.7s ease;
}

body.page-academy .academy-program-v3-shell.is-visible .academy-program-v3-module:not(:last-child)::before {
  transform: scaleY(1);
  opacity: 1;
}

body.page-academy .academy-format-v2 .academy-fv2-path-list {
  position: relative;
}

body.page-academy .academy-format-v2 .academy-fv2-path-list::before {
  transform-origin: top;
  transform: scaleY(0);
  opacity: 0.28;
  transition: transform 1.4s ease, opacity 0.7s ease;
}

body.page-academy .academy-format-v2.is-visible .academy-fv2-path-list::before {
  transform: scaleY(1);
  opacity: 1;
}

body.page-academy .academy-format-v2 .academy-fv2-path-list .amx-learning-dot {
  position: absolute;
  left: 5px;
  top: 10px;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background: #ff9d1f;
  box-shadow:
    0 0 8px rgba(255, 157, 31, 0.85),
    0 0 20px rgba(255, 157, 31, 0.45);
  pointer-events: none;
  opacity: 0;
  transform: translate3d(0, 0, 0);
  transition:
    opacity 0.5s ease,
    transform 1.05s cubic-bezier(0.18, 0.7, 0.24, 1);
}

body.page-academy .academy-format-v2 .academy-fv2-path-list .amx-learning-dot.is-running {
  opacity: 1;
}

body.page-academy .academy-format-v2 .academy-fv2-path-list li.is-hot::before,
body.page-academy .academy-format-v2 .academy-fv2-path-list li:hover::before {
  border-color: rgba(255, 157, 31, 0.94);
  box-shadow:
    0 0 0 1px rgba(255, 157, 31, 0.28),
    0 0 14px rgba(255, 157, 31, 0.52);
}

body.page-academy .footer .link_header {
  position: relative;
  text-decoration: none;
}

body.page-academy .footer .link_header::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(255, 157, 31, 0.9), rgba(255, 157, 31, 0));
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 0.28s ease;
}

body.page-academy .footer .link_header:hover::after {
  transform: scaleX(1);
}

body.page-academy .footer::before {
  content: "";
  position: absolute;
  left: 22%;
  right: 22%;
  top: 6px;
  height: 120px;
  background: radial-gradient(circle at 50% 0, rgba(255, 157, 31, 0.12), rgba(255, 157, 31, 0));
  pointer-events: none;
  animation: amxFooterBreathe 18s ease-in-out infinite;
}

@keyframes amxFooterBreathe {
  0%,
  100% {
    opacity: 0.4;
    transform: scale(0.98);
  }
  50% {
    opacity: 0.7;
    transform: scale(1.02);
  }
}

body.page-academy .section-transition {
  position: relative;
  overflow: hidden;
}

body.page-academy .section-transition::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(
      90deg,
      rgba(255, 157, 31, 0) 0%,
      rgba(255, 157, 31, 0.15) 50%,
      rgba(255, 157, 31, 0) 100%
    );
  transform: translateX(-38%);
  animation: amxSectionBridge 17s ease-in-out infinite;
}

@keyframes amxSectionBridge {
  0%,
  100% {
    transform: translateX(-38%);
    opacity: 0.24;
  }
  50% {
    transform: translateX(38%);
    opacity: 0.42;
  }
}

@media (max-width: 1023px) {
  body.page-academy .amx-parallax-surface {
    transform: none !important;
    transition: none !important;
  }

  body.page-academy .amx-motion-section::before {
    left: 3%;
    right: 3%;
  }

  body.page-academy .amx-motion-section > .amx-stream-layer,
  body.page-academy .academy-format-v2 .academy-fv2-path-list .amx-learning-dot {
    display: none;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.page-academy .amx-motion-section::before,
  body.page-academy .amx-motion-section::after,
  body.page-academy .footer::before,
  body.page-academy .amx-motion-section > .amx-stream-layer::before,
  body.page-academy .section-transition::before {
    animation: none !important;
    transition: none !important;
  }

  body.page-academy .amx-reveal-item,
  body.page-academy .amx-learning-dot,
  body.page-academy .academy-program-v3-module:not(:last-child)::before,
  body.page-academy .academy-fv2-path-list::before {
    transition: none !important;
    transform: none !important;
    filter: none !important;
  }
}
