/* 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; }
}

[data-id="537aa5f"] a { color: inherit; }

/* A015: existing outer widgets retain their entrance and hover behavior. */
.vi-frame { --vi-scale-start: 1; --vi-scale-mid: 1; --vi-scale-end: 1; --vi-y: 0px; --vi-x: 0px; --vi-alpha: 1; --vi-clip: 0%; --vi-rotate: 0deg; }
.vi-layer { transform-origin: center; }
.vi-field-layer { display: flex; flex-wrap: wrap; width: 100%; }
.vi-field-layer > label { width: 100%; }
.vi-field-layer > button { width: 100%; }
.vi-frame[data-vi-large], [data-vi-kind="side"], [data-vi-kind="gallery"], [data-vi-kind="cover"] { overflow: clip; }
[data-vi-kind="hero"] { --vi-scale-mid: 1.02; --vi-scale-end: 1.035; }
[data-vi-kind="side"] { --vi-scale-start: 1.02; --vi-y: 6px; }
[data-vi-kind="gallery"] { --vi-scale-start: 1.04; --vi-scale-mid: 1.015; --vi-y: 14px; }
[data-vi-kind="photo"], [data-vi-kind="cover"] { --vi-scale-start: 1.045; --vi-scale-mid: 1.015; }
[data-vi-kind="cover"] { --vi-y: 12px; --vi-alpha: .85; }
[data-vi-kind="curtain"] { --vi-clip: 18%; --vi-scale-start: .985; }
[data-vi-kind="signature"] { --vi-clip: 100%; }
[data-vi-kind="heading"] { --vi-scale-start: .985; }
[data-vi-kind="quote"], [data-vi-kind="text"] { --vi-y: 14px; --vi-alpha: .8; }
[data-vi-kind="card"] { --vi-scale-start: .985; --vi-y: 22px; }
[data-vi-kind="ways-left"], [data-vi-kind="ways-right"] { --vi-scale-start: .98; --vi-y: 14px; --vi-clip: 2%; --vi-rotate: -1.5deg; }
[data-vi-kind="ways-right"] { --vi-rotate: 1.5deg; }
[data-vi-kind="row"], [data-vi-kind="field"] { --vi-y: 10px; --vi-alpha: .8; }
[data-vi-kind="word"] { --vi-scale-start: .98; }
[data-vi-kind="button"] { --vi-scale-start: .96; }
html.vi-ready .vi-frame > .vi-layer { transform: var(--vi-transform, none); opacity: var(--vi-opacity, 1); }
html.vi-ready :is([data-vi-kind="curtain"], [data-vi-kind="signature"], [data-vi-kind^="ways-"]) > .vi-layer { clip-path: var(--vi-inset, inset(0)); }
html.vi-ready .in-motion > .vi-layer { will-change: transform, opacity; }
html.vi-paused .vi-layer { animation-play-state: paused !important; }
@keyframes vi-scene {
  0% { transform: translate3d(0,var(--vi-y),0) scale(var(--vi-scale-start)) rotate(var(--vi-rotate)); opacity: var(--vi-alpha); }
  60% { transform: translate3d(0,0,0) scale(var(--vi-scale-mid)) rotate(0deg); opacity: 1; }
  100% { transform: translate3d(0,0,0) scale(var(--vi-scale-end)) rotate(0deg); opacity: 1; }
}
@keyframes vi-curtain { 0% { clip-path: inset(var(--vi-clip) 0); } 60%, 100% { clip-path: inset(0); } }
@keyframes vi-signature { 0% { clip-path: inset(0 100% 0 0); } 60%, 100% { clip-path: inset(0); } }
@supports (animation-timeline: view()) {
  .vi-frame { view-timeline-name: --vi-scene; view-timeline-axis: block; }
  html.vi-ready.vi-css .in-motion > .vi-layer {
    animation: vi-scene 1s linear both;
    animation-timeline: --vi-scene;
    animation-range: cover 0% cover 85%;
  }
  html.vi-ready.vi-css [data-vi-scene="B4"].in-motion > .vi-layer { animation-range: cover 0% cover 100%; }
  html.vi-ready.vi-css [data-vi-scene="B1"].in-motion > .vi-layer { animation-timeline: scroll(root block); animation-range: 0px 50vh; }
  html.vi-ready.vi-css [data-vi-kind="cover"].in-motion > .vi-layer { animation-timeline: scroll(root block); animation-range: var(--vi-start) var(--vi-end); }
  html.vi-ready.vi-css :is([data-vi-kind="curtain"], [data-vi-kind^="ways-"]).in-motion > .vi-layer { animation-name: vi-scene, vi-curtain; animation-timeline: --vi-scene, --vi-scene; }
  html.vi-ready.vi-css [data-vi-kind="signature"].in-motion > .vi-layer { animation-name: vi-signature; }
}
@media (max-width: 767px) {
  [data-vi-kind="photo"], [data-vi-kind="cover"], [data-vi-kind="gallery"] { --vi-scale-start: 1.03; --vi-scale-mid: 1.01; }
  [data-vi-kind^="ways-"] { --vi-rotate: 0deg; }
  @supports (animation-timeline: view()) {
    html.vi-ready.vi-css :is([data-vi-scene="B5"], [data-vi-scene="B6"], [data-vi-scene="B7"], [data-vi-scene="B8"], [data-vi-kind="field"]).in-motion > .vi-layer { animation-timeline: scroll(root block); animation-range: var(--vi-start) var(--vi-end); }
  }
}
@media (prefers-reduced-motion: reduce) {
  .vi-frame > .vi-layer { animation: none !important; transform: none !important; opacity: 1 !important; clip-path: none !important; will-change: auto !important; }
}
