/* A003: preserve all display rules, especially Elementor sections hidden on every device. */
[data-contact-status] { margin-block: 1em .5em; }
.contact-direct { overflow-wrap: anywhere; }
form[aria-busy="true"] button { cursor: wait; }
.shared-legal { font-size: inherit; line-height: 1.6; }
.shared-legal a { display: inline-block; margin-inline-end: 1em; }
.shared-legal a, .contact-direct a { color: inherit; text-decoration: underline; text-underline-offset: .15em; }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
  *, *::before, *::after { animation-duration: .001ms !important; animation-iteration-count: 1 !important; transition-duration: .001ms !important; }
  .elementor-invisible { visibility: visible !important; }
  [class*="at-animation-heading"] *, .at-animation-image-style-1, .at-animation-image-style-1 img { opacity: 1 !important; visibility: visible !important; transform: none !important; }
  #magic-cursor, .mouse-cursor { display: none !important; }
  body, a, button { cursor: auto !important; }
}

.demo-3 .icon-hero-img-1, .demo-3 .icon-hero-img-2, .demo-3 .why-choose-circle img { animation: none !important; }

/* A014: the outer widgets still own Elementor entrance and hover. */
.mt-frame { --mt-scale-start: 1; --mt-scale-mid: 1; --mt-scale-end: 1; --mt-y: 0px; --mt-x: 0px; --mt-alpha: 1; --mt-clip: 0%; }
.mt-layer { transform-origin: center; }
.mt-frame[data-mt-large], [data-mt-scene="A7"], [data-mt-kind="rail"] { overflow: clip; }
[data-mt-kind="photo"], [data-mt-kind="open"] { --mt-scale-start: 1.06; --mt-scale-mid: 1.02; }
[data-mt-kind="open"] { --mt-clip: 4%; }
[data-mt-kind="hero"] { --mt-scale-mid: 1.03; --mt-scale-end: 1.06; }
[data-mt-kind="badge-left"] { --mt-x: -12px; --mt-scale-mid: 1.015; --mt-scale-end: 1.03; }
[data-mt-kind="badge-right"] { --mt-x: 12px; --mt-scale-mid: 1.015; --mt-scale-end: 1.03; }
[data-mt-kind="depth"] { --mt-scale-mid: 1.025; --mt-scale-end: 1.05; }
[data-mt-kind="card"] { --mt-scale-start: .96; --mt-y: 22px; --mt-alpha: .7; }
[data-mt-kind="ring"] { --mt-scale-start: .96; --mt-scale-mid: .99; }
[data-mt-kind="step"] { --mt-scale-start: .9; --mt-y: 14px; --mt-alpha: .8; }
[data-mt-kind="tile"] { --mt-scale-start: .94; --mt-y: 14px; --mt-alpha: .8; }
[data-mt-kind="pulse"] { --mt-scale-start: .92; --mt-scale-mid: 1.05; }
[data-mt-kind="surge"] { --mt-scale-start: .96; --mt-scale-mid: 1.025; }
[data-mt-kind="button"] { --mt-scale-start: .85; --mt-scale-mid: .98; }
[data-mt-kind="rail"] { --mt-x: -280px; display: flex; }
[data-mt-native-rail] .marquee-wrapper { display: flex; flex: 0 0 auto; width: max-content; animation: none; }
[data-mt-native-rail] .ticker { animation: none !important; }
html.mt-ready .mt-layer { transform: var(--mt-transform, none); opacity: var(--mt-opacity, 1); }
html.mt-ready [data-mt-kind="open"] > .mt-layer { clip-path: var(--mt-inset, inset(0)); }
html.mt-ready .in-motion > .mt-layer { will-change: transform, opacity; }
html.mt-ready [data-mt-kind="arrow"]::before { clip-path: var(--mt-inset, inset(0)); }
html.mt-ready [data-mt-kind="arrow"].in-motion::before { will-change: clip-path; }
@keyframes mt-arrow { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0); } }
html.mt-paused [data-mt-kind="arrow"]::before, html.mt-paused .mt-layer { animation-play-state: paused !important; }
@keyframes mt-open { 0% { clip-path: inset(var(--mt-clip)); } 60%, 100% { clip-path: inset(0); } }
@keyframes mt-scene {
  0% { transform: translate3d(0,var(--mt-y),0) scale(var(--mt-scale-start)); opacity: var(--mt-alpha); }
  60% { transform: translate3d(calc(var(--mt-x) * .6),0,0) scale(var(--mt-scale-mid)); opacity: 1; }
  100% { transform: translate3d(var(--mt-x),0,0) scale(var(--mt-scale-end)); opacity: 1; }
}
@supports (animation-timeline: view()) {
  .mt-frame:not([data-mt-scene="A5"]):not([data-mt-scene="A2"]), .mt-trigger { view-timeline-name: --mt-scene; view-timeline-axis: block; }
  html.mt-ready.mt-css .in-motion > .mt-layer {
    animation: mt-scene 1s linear both;
    animation-timeline: --mt-scene;
    animation-range: cover 0% cover 65%;
  }
  html.mt-ready.mt-css [data-mt-kind="open"].in-motion > .mt-layer { animation-name: mt-scene, mt-open; animation-timeline: --mt-scene, --mt-scene; }
  html.mt-ready.mt-css [data-mt-scene="A7"].in-motion > .mt-layer { animation-timeline: scroll(root block); animation-range: var(--mt-start) var(--mt-end); }
  html.mt-ready.mt-css [data-mt-scene="A1"].in-motion > .mt-layer { animation-timeline: scroll(root block); animation-range: 0px 55vh; }
  html.mt-ready.mt-css [data-mt-kind="arrow"].in-motion::before { animation: mt-arrow 1s linear both; animation-timeline: scroll(root block); animation-range: 0px 55vh; }
  html.mt-ready.mt-css [data-mt-kind="rail"].in-motion > .mt-layer { animation-range: cover 0% cover 100%; }
}
@media (max-width: 767px) {
  [data-mt-kind="photo"], [data-mt-kind="open"] { --mt-scale-start: 1.04; --mt-scale-mid: 1.01; }
  [data-mt-kind="depth"], [data-mt-kind="pulse"] { --mt-scale-mid: 1.03; --mt-scale-end: 1; }
  [data-mt-kind="rail"] { --mt-x: -84px; }
}
@media (prefers-reduced-motion: reduce) {
  .mt-frame[data-mt-kind="arrow"]::before, .mt-frame > .mt-layer { animation: none !important; transform: none !important; opacity: 1 !important; clip-path: none !important; will-change: auto !important; }
}

/* A017 step 1: one existing inner photo layer, narrower desktop zoom. */
@media (min-width: 768px) {
  [data-mt-scene="A3"][data-mt-large], [data-mt-scene="A4"][data-mt-large] {
    --mt-scale-start: 1.04; --mt-scale-mid: 1.01;
  }
}

/* A017 step 2: keep the tablet transform/opacity, without a large inset mask. */
html.mt-ready [data-mt-kind="open"] > .mt-layer { clip-path: none; }
@supports (animation-timeline: view()) {
  html.mt-ready.mt-css [data-mt-kind="open"].in-motion > .mt-layer { animation-name: mt-scene; animation-timeline: --mt-scene; }
}

/* A017 step 4: shorter desktop rail; keep the accepted mobile distance. */
@media (min-width: 768px) {
  [data-mt-kind="rail"] { --mt-x: -140px; }
}
