/* No hidden initial state, layout changes, scroll interception or perpetual animations. */
html.fac-motion .fac-motion-heading { position: relative; }
html.fac-motion .fac-motion-rule {
    position: absolute;
    display: block;
    inset-inline-start: 0;
    bottom: -.55rem;
    width: 4.5rem;
    max-width: 35%;
    height: 3px;
    background: linear-gradient(90deg, #f56600 0 74%, transparent 74% 82%, #f56600 82%);
    transform-origin: left center;
    pointer-events: none;
}
@media (prefers-reduced-motion: no-preference) {
    html.fac-motion #header :where(a, button),
    html.fac-motion .preview-header :where(a, button),
    html.fac-motion #cu-main-content :where(.btn, .cu-btn, .home-hero-action, .home-hero-story-button, .cu-accent-link),
    html.fac-motion #scrollBtn {
        transition-property: color, background-color, border-color, box-shadow;
        transition-duration: 160ms;
        transition-timing-function: ease-out;
    }
    @media (hover: hover) and (pointer: fine) {
        html.fac-motion :where(.home-hero-action-arrow, .home-hero-link-arrow) {
            display: inline-block;
            transition: transform 160ms ease-out;
        }
        html.fac-motion :where(.home-hero-action, .home-hero-story-button):hover :where(.home-hero-action-arrow, .home-hero-link-arrow) {
            transform: translateX(3px);
        }
    }
}
/* Includes pre-existing CSS motion; controls and progress indicators remain functional. */
@media (prefers-reduced-motion: reduce) {
    html.fac-motion, html.fac-motion :where(body, #cu-main-content, main#main) {
        scroll-behavior: auto !important;
    }
    html.fac-motion :where(#header, #cu-main-content, main#main, .preview-header, #scrollBtn),
    html.fac-motion :where(#header, #cu-main-content, main#main, .preview-header) *,
    html.fac-motion :where(#header, #cu-main-content, main#main, .preview-header) *::before,
    html.fac-motion :where(#header, #cu-main-content, main#main, .preview-header) *::after {
        animation-duration: .01ms !important;
        animation-iteration-count: 1 !important;
        animation-delay: 0ms !important;
        transition-duration: .01ms !important;
        transition-delay: 0ms !important;
    }
}
/* Individual translate leaves existing image crops and component transforms intact. */
@media (prefers-reduced-motion: no-preference) and (hover: hover) and (pointer: fine) {
    html.fac-motion .fac-motion-card {
        translate: var(--fac-card-lift, none);
    }
    html.fac-motion .fac-motion-card:focus-within {
        translate: none;
    }
}
@media print {
    html.fac-motion .fac-motion-rule { display: none; }
    html.fac-motion .fac-motion-card {
        translate: none !important;
    }
}
