/* Progressive enhancement: links retain their layout and cards are visible by default. */
.home .hcm-card > a:focus-visible {
  outline: 2px solid currentColor;
  outline-offset: 8px;
}

.home .hcm-card > a:focus-visible .card-title {
  text-decoration: underline;
  text-underline-offset: 4px;
}

.home .hcm-arrow-link.hero-down:hover { transform: none; }

.home .hcm-arrow-link > .hcm-arrow {
  transform: none;
  translate: var(--hcm-arrow-x, 0px) var(--hcm-arrow-y, 0px);
}

.home .hcm-arrow-link:focus-visible > .hcm-arrow { translate: 4px -3px; }
.home .hcm-arrow-link.hero-down:focus-visible > .hcm-arrow { translate: 0 4px; }

@media (prefers-reduced-motion: no-preference) {
  .home .hcm-card .hcm-surface {
    translate: 0 var(--hcm-frame-y, 0px);
  }

  .home .hcm-card .hcm-caption {
    translate: 0 var(--hcm-caption-y, 0px);
  }

  .home .hcm-card .hcm-parallax-image {
    /* Uniform zoom supplies bleed; existing object-fit and aspect ratio stay intact. */
    scale: var(--hcm-image-scale, 1);
    translate: 0 var(--hcm-image-y, 0px);
    transform-origin: center;
    transition: transform 1100ms cubic-bezier(.22, 1, .36, 1);
  }

  .home .hcm-surface.hcm-in-view,
  .home .hcm-caption.hcm-in-view {
    will-change: translate;
  }

  .home .hcm-still.hcm-in-view .hcm-parallax-image {
    will-change: translate, scale;
  }
}

@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
  .home .hcm-card .hcm-still {
    transform: perspective(1400px) rotateX(var(--hcm-tilt-x, 0deg)) rotateY(var(--hcm-tilt-y, 0deg));
    transform-origin: center;
  }

  .home .hcm-card > a:hover .hcm-parallax-image { transform: scale(1.025); }

  .home .hcm-still.hcm-pointer-active { will-change: translate, transform; }
  .home .hcm-arrow.hcm-pointer-active { will-change: translate; }
}

.home .hcm-card:focus-within .hcm-surface,
.home .hcm-card:focus-within .hcm-caption {
  translate: none;
}

.home .hcm-card:focus-within .hcm-still { transform: none; }

@media (hover: none), (pointer: coarse) {
  .home .hcm-card .hcm-still,
  .home .hcm-arrow-link > .hcm-arrow {
    transform: none;
  }

  .home .hcm-card > a:hover .hcm-parallax-image { transform: none; }
  .home .hcm-arrow-link > .hcm-arrow { translate: none; }
}

@media (prefers-reduced-motion: reduce) {
  .home .hcm-card .hcm-surface,
  .home .hcm-card .hcm-caption,
  .home .hcm-card .hcm-parallax-image,
  .home .hcm-arrow-link > .hcm-arrow {
    transform: none !important;
    translate: none !important;
    scale: none !important;
    will-change: auto;
  }
}
