/*
 * AMC Secure — scroll & paint performance (no visual/design changes)
 * Pauses off-screen animations, reduces scroll jank, speeds first paint.
 */

html {
    scroll-behavior: auto;
}

body {
    overflow-anchor: auto;
}

/* Pause decorative glow only while user is actively scrolling */
body.is-scrolling .logo-glow-ring img {
    animation-play-state: paused !important;
}

/* Off-screen sections — skip layout/paint until near viewport */
body:not(.admin-body) main > section:not(:first-of-type),
body:not(.admin-body) .page-shell,
body:not(.admin-body) .contact-page-shell,
body:not(.admin-body) .about-shell > section,
body:not(.admin-body) .market-section,
body:not(.admin-body) .home-section:not(.home-section--hero),
body:not(.admin-body) .contact-profile-grid,
body:not(.admin-body) .contact-channel-grid,
body:not(.admin-body) .contact-assurance-strip,
body:not(.admin-body) .footer-compact-main {
    content-visibility: auto;
    contain-intrinsic-size: auto 480px;
}

/* Contain animated rails — same look, less repaints */
.hero-master-rail,
.hero-master-rail__track,
.client-logo-rail,
.client-logo-track,
.about-rail-viewport,
.about-rail-track {
    contain: layout style paint;
}

.hero-master-rail__track,
.client-logo-track,
.about-rail-track {
    transform: translate3d(0, 0, 0);
}

/* Paused when off-screen (toggled by perf-scroll.js) */
.is-offscreen-paused,
.is-offscreen-paused .hero-master-rail__track,
.is-offscreen-paused .client-logo-track,
.is-offscreen-paused .about-rail-track {
    animation-play-state: paused !important;
}

.is-orbit-paused .hero-galaxy-hub {
    pointer-events: none;
}

/* Lighter transitions on touch — hover effects only on fine pointers */
@media (hover: none), (pointer: coarse) {
    .product-card,
    .global-product-card,
    .ui-portal-card {
        transition: border-color 180ms ease, background-color 180ms ease !important;
    }

    .product-card:hover,
    .global-product-card:hover,
    .ui-portal-card:hover {
        transform: none !important;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
    }
}
