/* UI022: move artwork, while copy and layout remain at their approved positions. */
.hero-visual > .hero-depth {
  position: absolute;
  display: block;
  width: 117.554%;
  max-width: none;
  height: auto;
  left: -7.576%;
  top: -5.509%;
  overflow: visible;
  pointer-events: none;
  visibility: hidden;
}
.hero-visual.is-depth-active > .hero-depth { visibility: visible; }
.hero-visual.is-depth-active > img { opacity: 0; }
.hero-depth-layer { transform: translate(var(--depth-x, 0px), var(--depth-y, 0px)); }
.site-motion-ready .feature-visual .motion-stage {
  transform: translate3d(var(--media-x, 0px), var(--media-y, 0px), 0) scale(var(--media-scale, 1));
  transition: box-shadow .4s var(--ease);
}
.site-motion-ready .download-frame {
  translate: var(--frame-x, 0px) var(--frame-y, 0px);
  rotate: var(--art-turn, 0deg);
}
.site-motion-ready .download-pointer {
  translate: var(--pointer-x, 0px) var(--pointer-y, 0px);
  rotate: var(--art-turn, 0deg);
}
.site-motion-ready .download-word { translate: 0 var(--word-y, 0px); }
.site-motion-ready .download-panel:before {
  translate: var(--light-x, 0px) var(--light-y, 0px);
  transition: opacity .5s var(--ease);
}
/* Thin rules and soft surface feedback give controls a common hover rhythm. */
.nav-links > a:not(.nav-download), .footer-links > a, .info-header .nav > a:last-child:not(.wordmark) {
  position: relative;
}
.nav-links > a:not(.nav-download):after, .footer-links > a:after, .info-header .nav > a:last-child:not(.wordmark):after {
  content: "";
  position: absolute;
  height: 2px;
  left: 0;
  right: 0;
  bottom: -6px;
  background: var(--brand);
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .25s var(--ease);
  pointer-events: none;
}
.wordmark img { transition: transform .3s var(--ease); }
.feature-capabilities dt { transition: background .25s, border-color .25s; }
.faq-list summary { position: relative; isolation: isolate; }
.faq-list summary:before {
  content: "";
  position: absolute;
  inset: 7px -13px;
  z-index: -1;
  border-radius: 10px;
  background: #f3f6e9;
  opacity: 0;
  transition: opacity .25s;
  pointer-events: none;
}
.faq-symbol { transition: background .25s, transform .3s var(--ease); border-radius: 50%; }
.nav-download { transition: background .2s, box-shadow .25s, transform .2s var(--ease); }
.back-top { transition: background .2s, box-shadow .25s; }
.faq-list summary:focus-visible:before { opacity: 1; }
.nav-links > a:focus-visible:after, .footer-links > a:focus-visible:after { transform: scaleX(1); }
@media (hover: hover) and (pointer: fine) {
  .nav-links > a:hover:after, .footer-links > a:hover:after,
  .info-header .nav > a:last-child:not(.wordmark):hover:after { transform: scaleX(1); }
  .wordmark:hover img { transform: translateY(-1px) rotate(-5deg); }
  .feature-visual:hover .motion-stage { box-shadow: 0 24px 48px -28px #26352b4d; }
  .feature-capabilities > div:hover dt { background: #eef3d6; border-color: #cbd5a2; }
  .faq-list summary:hover .faq-symbol { transform: scale(1.08); }
  .download-panel:hover:before { opacity: .29; }
  .hero .download-button:hover { box-shadow: 0 12px 22px -12px #26352b66; }
  .download-panel .download-button:hover { box-shadow: 0 12px 24px -14px #d8eb5566; }
  .nav-download:hover { box-shadow: 0 9px 20px -12px #26352b88; }
  .back-top:hover { box-shadow: 0 7px 15px -8px #26352b55; }
}
@media (max-width: 640px) {
  .nav-links > a:not(.nav-download):after { display: none; }
  .faq-list summary:before { inset-inline: -8px; }
}
@media (prefers-reduced-motion: reduce) {
  .hero-visual.is-depth-active > img { opacity: 1; }
  .hero-visual > .hero-depth { display: none; }
  .site-motion-ready .feature-visual .motion-stage { transform: none; }
  .site-motion-ready .download-frame, .site-motion-ready .download-pointer,
  .site-motion-ready .download-word, .site-motion-ready .download-panel:before { translate: none; rotate: none; }
  .wordmark:hover img, .faq-list summary:hover .faq-symbol { transform: none; }
}
