/* Home-only progressive motion. All content remains visible without JS. */
body.home-v2 .h-project[hidden] {
  display: none !important;
}

body.home-v2 .h-bird-flight {
  width: 100%;
  transform-origin: 50% 50%;
}

@media (min-width: 901px) {
  body.home-v2 [data-case-select] .h-tab-category {
    display: block;
    max-height: 0;
    margin-top: 0;
    overflow: hidden;
    opacity: 0;
    translate: 0 5px;
    transition: max-height .45s cubic-bezier(.2,.75,.22,1), margin-top .45s cubic-bezier(.2,.75,.22,1), opacity .3s, translate .4s;
  }

  body.home-v2 [data-case-select][aria-selected="true"] .h-tab-category {
    max-height: 5em;
    margin-top: .65rem;
    opacity: 1;
    translate: 0 0;
  }
}

@media (prefers-reduced-motion: no-preference) {
  body.home-v2 .h-bird {
    translate: var(--h-bird-x, 0px) var(--h-bird-y, 0px);
    rotate: var(--h-bird-turn, 0deg);
  }

  body.home-v2 .h-glow {
    translate: var(--h-glow-x, 0px) var(--h-glow-y, 0px);
  }

  body.home-v2 [data-h-magnetic] {
    translate: var(--h-pointer-x, 0px) var(--h-pointer-y, 0px);
    transition: background-color .3s, color .3s, border-color .3s, box-shadow .35s;
  }

  body.home-v2 .h-service-tile {
    translate: var(--h-pointer-x, 0px) var(--h-pointer-y, 0px);
    rotate: var(--h-pointer-turn, 0deg);
    transition: background-color .4s, color .4s, border-color .4s, box-shadow .4s;
  }

  body.home-v2 [data-case-select] {
    transition: color .25s, background-color .25s, border-color .25s, box-shadow .3s;
  }

  body.home-v2 .h-service-tile svg,
  body.home-v2 [data-h-magnetic] svg {
    transition: translate .45s cubic-bezier(.2,.75,.22,1), rotate .45s cubic-bezier(.2,.75,.22,1);
  }

  body.home-v2 .h-service-tile:is(:hover, :focus-visible) svg,
  body.home-v2 [data-h-magnetic]:is(:hover, :focus-visible) svg {
    translate: 3px -3px;
  }

}

@media (prefers-reduced-motion: reduce) {
  body.home-v2 *,
  body.home-v2 *::before,
  body.home-v2 *::after {
    animation: none !important;
    transition-duration: 0s !important;
    scroll-behavior: auto !important;
  }
}

@media print {
  body.home-v2 [data-h-reveal],
  body.home-v2 .h-bird,
  body.home-v2 .h-service-tile,
  body.home-v2 [data-h-magnetic] {
    opacity: 1 !important;
    translate: none !important;
  }
}
