/* Homepage statistics and scroll-reveal effects. */
.kinguard-stats {
    position: relative;
    overflow: hidden;
    box-sizing: border-box;
    width: 100%;
    margin-top: 34px;
    padding: 0;
    color: #fff;
    background: transparent;
}

.kinguard-stats-inner {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: 100%;
    max-width: 760px;
    margin: 0 auto;
}

.kinguard-stat {
    box-sizing: border-box;
    min-width: 0;
    padding: 4px 18px;
    text-align: center;
}

.kinguard-stat + .kinguard-stat { border-left: 1px solid rgba(255, 255, 255, .25); }
.kinguard-stat-number { display: block; color: #fff; font-size: 52px; font-weight: 700; line-height: 1; }
.kinguard-stat-label { display: block; margin-top: 12px; color: rgba(255, 255, 255, .88); font-size: 12px; font-weight: 600; letter-spacing: 0; line-height: 1.4; }

html.home-motion-ready [data-home-reveal] { opacity: 0; transform: translateY(28px); transition: opacity 1.2s cubic-bezier(.16, 1, .3, 1), transform 1.2s cubic-bezier(.16, 1, .3, 1); }
html.home-motion-ready [data-home-reveal="left"] { transform: translateX(-32px); }
html.home-motion-ready [data-home-reveal="right"] { transform: translateX(32px); }
html.home-motion-ready [data-home-reveal="zoom"] { transform: scale(.96); }
html.home-motion-ready [data-home-reveal].is-home-visible { opacity: 1; transform: none; }
html.home-motion-ready .featured-card {
    --home-card-reveal-delay: 0s;
    transition: opacity 1.2s cubic-bezier(.16, 1, .3, 1), transform 1.2s cubic-bezier(.16, 1, .3, 1), scale .55s cubic-bezier(.22, 1, .36, 1), box-shadow .55s cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--home-card-reveal-delay), var(--home-card-reveal-delay), 0s, 0s;
}
html.home-motion-ready .home-service-card {
    --home-card-reveal-delay: 0s;
    transition: opacity 1.2s cubic-bezier(.16, 1, .3, 1), transform 1.2s cubic-bezier(.16, 1, .3, 1), translate .55s cubic-bezier(.22, 1, .36, 1), background-color .55s cubic-bezier(.22, 1, .36, 1), border-color .55s cubic-bezier(.22, 1, .36, 1), color .55s cubic-bezier(.22, 1, .36, 1), box-shadow .55s cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--home-card-reveal-delay), var(--home-card-reveal-delay), 0s, 0s, 0s, 0s, 0s;
}
html.home-motion-ready .mobile-product-card {
    --home-card-reveal-delay: 0s;
    transition: opacity 1.2s cubic-bezier(.16, 1, .3, 1), transform 1.2s cubic-bezier(.16, 1, .3, 1), scale .55s cubic-bezier(.22, 1, .36, 1), box-shadow .55s cubic-bezier(.22, 1, .36, 1);
    transition-delay: var(--home-card-reveal-delay), var(--home-card-reveal-delay), 0s, 0s;
}

/* Keep staggered reveal timing on opacity/position while hover starts instantly. */
html.home-motion-ready .featured-card.home-stagger-2,
html.home-motion-ready .mobile-product-card.home-stagger-2 { --home-card-reveal-delay: .12s; }
html.home-motion-ready .featured-card.home-stagger-3,
html.home-motion-ready .mobile-product-card.home-stagger-3 { --home-card-reveal-delay: .24s; }
html.home-motion-ready .featured-card.home-stagger-4,
html.home-motion-ready .mobile-product-card.home-stagger-4 { --home-card-reveal-delay: .36s; }
html.home-motion-ready .featured-card.home-stagger-5,
html.home-motion-ready .mobile-product-card.home-stagger-5 { --home-card-reveal-delay: .48s; }
html.home-motion-ready .featured-card.home-stagger-6,
html.home-motion-ready .mobile-product-card.home-stagger-6 { --home-card-reveal-delay: .6s; }
html.home-motion-ready .home-service-card.home-stagger-item:nth-child(2) { --home-card-reveal-delay: .12s; }
html.home-motion-ready .home-service-card.home-stagger-item:nth-child(3) { --home-card-reveal-delay: .24s; }
html.home-motion-ready .home-service-card.home-stagger-item:nth-child(4) { --home-card-reveal-delay: .36s; }
html.home-motion-ready .home-service-card.home-stagger-item:nth-child(5) { --home-card-reveal-delay: .48s; }
html.home-motion-ready .home-service-card.home-stagger-item:nth-child(6) { --home-card-reveal-delay: .6s; }
/* Loop mode displays cloned slides while wrapping across either edge. */
html.home-motion-ready .featured-carousel .swiper-slide-duplicate .featured-card,
html.home-motion-ready .featured-carousel .swiper-slide:not(.swiper-slide-duplicate) .featured-card:not([data-home-reveal]),
html.home-motion-ready .mobile-home-products .swiper-slide-duplicate .mobile-product-card {
    opacity: 1;
    transform: none;
    transition-delay: 0s !important;
}
html.home-motion-ready .home-stagger-item:nth-child(2) { transition-delay: .12s; }
html.home-motion-ready .home-stagger-item:nth-child(3) { transition-delay: .24s; }
html.home-motion-ready .home-stagger-item:nth-child(4) { transition-delay: .36s; }
html.home-motion-ready .home-stagger-item:nth-child(5) { transition-delay: .48s; }
html.home-motion-ready .home-stagger-item:nth-child(6) { transition-delay: .6s; }
html.home-motion-ready .home-stagger-1 { transition-delay: 0s; }
html.home-motion-ready .home-stagger-2 { transition-delay: .12s; }
html.home-motion-ready .home-stagger-3 { transition-delay: .24s; }
html.home-motion-ready .home-stagger-4 { transition-delay: .36s; }
html.home-motion-ready .home-stagger-5 { transition-delay: .48s; }
html.home-motion-ready .home-stagger-6 { transition-delay: .6s; }
html.home-motion-ready .hero-copy h1 { transition-delay: 0s; }
html.home-motion-ready .hero-copy p { transition-delay: .12s; }
html.home-motion-ready .hero-copy .hero-cta { transition-delay: .24s; }
html.home-motion-ready .mobile-home-hero-copy h1 { transition-delay: 0s; }
html.home-motion-ready .mobile-home-hero-copy p { transition-delay: .12s; }
html.home-motion-ready .mobile-home-hero-copy > a { transition-delay: .24s; }
html.home-motion-ready .home-hero-sequence-1.home-stagger-item { transition-delay: 0s; }
html.home-motion-ready .home-hero-sequence-2.home-stagger-item { transition-delay: .14s; }
html.home-motion-ready .home-hero-sequence-3.home-stagger-item { transition-delay: .28s; }
html.home-motion-ready .kinguard-stats .home-hero-sequence-4.home-stagger-item { transition-delay: .42s; }
html.home-motion-ready .kinguard-stats .home-hero-sequence-5.home-stagger-item { transition-delay: .56s; }
html.home-motion-ready .kinguard-stats .home-hero-sequence-6.home-stagger-item { transition-delay: .7s; }
html.home-motion-ready .kinguard-stats .home-hero-sequence-7.home-stagger-item { transition-delay: .84s; }

/* The reveal stagger belongs to opacity/position only; hover properties must
   begin immediately and ease both on entry and exit. */
html.home-motion-ready .featured-card {
    transition-delay: var(--home-card-reveal-delay), var(--home-card-reveal-delay), 0s, 0s !important;
}
html.home-motion-ready .home-service-card {
    transition-delay: var(--home-card-reveal-delay), var(--home-card-reveal-delay), 0s, 0s, 0s, 0s, 0s !important;
}
html.home-motion-ready .mobile-product-card {
    transition-delay: var(--home-card-reveal-delay), var(--home-card-reveal-delay), 0s, 0s !important;
}
html.home-motion-ready .featured-carousel .swiper-slide-duplicate .featured-card,
html.home-motion-ready .featured-carousel .swiper-slide:not(.swiper-slide-duplicate) .featured-card:not([data-home-reveal]),
html.home-motion-ready .mobile-home-products .swiper-slide-duplicate .mobile-product-card {
    --home-card-reveal-delay: 0s !important;
}

/* Hero entrance follows the reference site's load-time fade-up sequence. */
@keyframes home-hero-fade-up {
    from { opacity: 0; transform: translateY(57px); }
    to { opacity: 1; transform: translateY(0); }
}

@keyframes mobile-product-first-reveal {
    from { opacity: 0; transform: translateY(28px); }
    to { opacity: 1; transform: translateY(0); }
}

@media (max-width: 800px) {
    html.home-motion-ready .mobile-product-card.is-mobile-product-first-page {
        animation: mobile-product-first-reveal 1.1s cubic-bezier(.22, 1, .36, 1) both;
    }
}

html.home-motion-ready .home-hero-sequence-1.is-home-visible {
    opacity: 0;
    animation: home-hero-fade-up 1.5s cubic-bezier(.22, 1, .36, 1) 0s both;
}
html.home-motion-ready .home-hero-sequence-2.is-home-visible {
    opacity: 0;
    animation: home-hero-fade-up 1.5s cubic-bezier(.22, 1, .36, 1) .16s both;
}
html.home-motion-ready .home-hero-sequence-3.is-home-visible {
    opacity: 0;
    animation: home-hero-fade-up 1.5s cubic-bezier(.22, 1, .36, 1) .32s both;
}
html.home-motion-ready .home-hero-sequence-4.is-home-visible {
    opacity: 0;
    animation: home-hero-fade-up 1.5s cubic-bezier(.22, 1, .36, 1) .48s both;
}
html.home-motion-ready .home-hero-sequence-5.is-home-visible {
    opacity: 0;
    animation: home-hero-fade-up 1.5s cubic-bezier(.22, 1, .36, 1) .64s both;
}
html.home-motion-ready .home-hero-sequence-6.is-home-visible {
    opacity: 0;
    animation: home-hero-fade-up 1.5s cubic-bezier(.22, 1, .36, 1) .8s both;
}
html.home-motion-ready .home-hero-sequence-7.is-home-visible {
    opacity: 0;
    animation: home-hero-fade-up 1.5s cubic-bezier(.22, 1, .36, 1) .96s both;
}

@media (max-width: 800px) {
    .kinguard-stats { margin-top: 28px; }
    .kinguard-stats-inner { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 22px; }
    .kinguard-stats-inner::before,
    .kinguard-stats-inner::after {
        display: none;
        content: none;
    }
    .kinguard-stat { padding: 4px 10px; }
    .kinguard-stat,
    .kinguard-stat + .kinguard-stat { border: 0; }
    .kinguard-stat:nth-child(n + 3) { padding-top: 22px; }
    .kinguard-stat-number { font-size: 34px; }
    .kinguard-stat-label { margin-top: 8px; font-size: 10px; letter-spacing: 0; }
}

@media (prefers-reduced-motion: reduce) {
    html.home-motion-ready [data-home-reveal] { opacity: 1; transform: none; transition: none; }
    .featured-card { scale: 1 !important; }
    .home-service-card { translate: 0 0 !important; }
    .home-faq-list details > p { transition: none !important; }
}
