
.rekori-why-block,
.rekori-why-block * {
    box-sizing: border-box;
}

.rekori-why-block {
    width: 100%;
    background: var(--rwy-bg);
    border: var(--rwy-border-width) solid var(--rwy-border);
    border-radius: var(--rwy-radius);
    overflow: hidden;
    font-family: var(--rwy-font);
    padding:
        var(--rwy-pad-top)
        var(--rwy-pad-right)
        var(--rwy-pad-bottom)
        var(--rwy-pad-left);
    box-shadow:
        var(--rwy-shadow-x)
        var(--rwy-shadow-y)
        var(--rwy-shadow-blur)
        var(--rwy-shadow-spread)
        rgba(30,30,20,var(--rwy-shadow-alpha));
    transform: translateZ(0);
    transition:
        transform var(--rwy-hover-duration) cubic-bezier(.22,1,.36,1),
        box-shadow var(--rwy-hover-duration) ease;
}

.rekori-why-inner {
    width: 100%;
    max-width: var(--rwy-max-width);
    margin: 0 auto;
}

.rekori-why-title {
    margin: 0 0 26px;
    padding: 0;
    text-align: center;
    color: var(--rwy-title);
    font-family: inherit;
    font-size: var(--rwy-title-size);
    line-height: 1.15;
    font-weight: var(--rwy-title-weight);
}

.rekori-why-description {
    max-width: 1320px;
    margin: 0 auto;
    text-align: center;
    color: var(--rwy-text);
    font-family: inherit;
    font-size: var(--rwy-text-size);
    line-height: 1.65;
    font-weight: var(--rwy-text-weight);
}

.rekori-why-description p {
    margin: 0;
}

.rekori-why-description p + p {
    margin-top: .75em;
}

.rekori-why-stats {
    display: grid;
    grid-template-columns: repeat(var(--rwy-cols-desktop), minmax(0,1fr));
    gap: 0 var(--rwy-gap);
    margin-top: var(--rwy-stats-gap);
    align-items: stretch;
}

.rekori-why-stat {
    position: relative;
    min-width: 0;
    padding: 0 24px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    transform: translateZ(0);
    transition:
        transform var(--rwy-stat-hover-duration) cubic-bezier(.22,1,.36,1),
        opacity var(--rwy-stat-hover-duration) ease;
}

.rekori-why-number-wrap {
    display: flex;
    align-items: baseline;
    justify-content: center;
    min-width: 0;
    white-space: nowrap;
    color: var(--rwy-item-number, var(--rwy-number));
    font-family: inherit;
    font-size: var(--rwy-number-size);
    line-height: 1;
    font-weight: var(--rwy-number-weight);
    letter-spacing: -0.02em;
}

.rekori-why-prefix,
.rekori-why-number,
.rekori-why-suffix {
    font: inherit;
    color: inherit;
}

.rekori-why-label {
    margin-top: 13px;
    color: var(--rwy-item-label, var(--rwy-label));
    font-family: inherit;
    font-size: var(--rwy-label-size);
    line-height: 1.35;
    font-weight: var(--rwy-label-weight);
}

.rekori-why-block.has-dividers .rekori-why-stat:not(:last-child)::after {
    content: "";
    position: absolute;
    top: 50%;
    right: 0;
    width: var(--rwy-divider-width, 1px);
    height: var(--rwy-divider-height);
    background: var(--rwy-divider);
    transform: translateY(-50%);
}

/* HOVER - only devices that really support hover */
@media (hover: hover) and (pointer: fine) {
    .rekori-why-block.hover-lift:hover {
        transform: translateY(var(--rwy-hover-y));
        box-shadow:
            0 10px var(--rwy-hover-shadow-blur) 0
            rgba(30,30,20,var(--rwy-hover-shadow-alpha));
    }

    .rekori-why-block.hover-scale:hover {
        transform: scale(var(--rwy-hover-scale));
        box-shadow:
            0 10px var(--rwy-hover-shadow-blur) 0
            rgba(30,30,20,var(--rwy-hover-shadow-alpha));
    }

    .rekori-why-block.hover-lift_scale:hover {
        transform: translateY(var(--rwy-hover-y)) scale(var(--rwy-hover-scale));
        box-shadow:
            0 10px var(--rwy-hover-shadow-blur) 0
            rgba(30,30,20,var(--rwy-hover-shadow-alpha));
    }

    .rekori-why-block.hover-shadow:hover {
        box-shadow:
            0 10px var(--rwy-hover-shadow-blur) 0
            rgba(30,30,20,var(--rwy-hover-shadow-alpha));
    }



    .rekori-why-block.hover-glow:hover {
        transform: translateY(calc(var(--rwy-hover-y) / 2));
        box-shadow:
            0 12px var(--rwy-hover-glow-size) 0 rgba(55,58,48,var(--rwy-hover-glow-alpha)),
            0 0 calc(var(--rwy-hover-glow-size) * .65) rgba(124,123,92,var(--rwy-hover-glow-alpha));
    }

    .rekori-why-block.hover-tilt_left:hover {
        transform: translateY(var(--rwy-hover-y)) rotate(calc(var(--rwy-hover-rotate) * -1)) scale(var(--rwy-hover-scale));
        box-shadow:
            0 12px var(--rwy-hover-shadow-blur) 0 rgba(30,30,20,var(--rwy-hover-shadow-alpha));
    }

    .rekori-why-block.hover-tilt_right:hover {
        transform: translateY(var(--rwy-hover-y)) rotate(var(--rwy-hover-rotate)) scale(var(--rwy-hover-scale));
        box-shadow:
            0 12px var(--rwy-hover-shadow-blur) 0 rgba(30,30,20,var(--rwy-hover-shadow-alpha));
    }

    .rekori-why-block.hover-pulse:hover {
        animation: rekoriWhyPulse 1.35s ease-in-out infinite;
        box-shadow:
            0 12px var(--rwy-hover-shadow-blur) 0 rgba(30,30,20,var(--rwy-hover-shadow-alpha));
    }

    .rekori-why-block.hover-soft_float:hover {
        animation: rekoriWhyFloat 1.8s ease-in-out infinite;
        box-shadow:
            0 12px var(--rwy-hover-shadow-blur) 0 rgba(30,30,20,var(--rwy-hover-shadow-alpha));
    }

    .rekori-why-block.stat-hover-on .rekori-why-stat:hover {
        transform:
            translateY(var(--rwy-stat-hover-y))
            scale(var(--rwy-stat-hover-scale));
    }
}

/* TABLET */
@media (max-width: 1024px) {
    .rekori-why-block {
        padding:
            var(--rwy-pad-top-tablet)
            var(--rwy-pad-right-tablet)
            var(--rwy-pad-bottom-tablet)
            var(--rwy-pad-left-tablet);
    }

    .rekori-why-title {
        font-size: var(--rwy-title-size-tablet);
    }

    .rekori-why-description {
        font-size: var(--rwy-text-size-tablet);
    }

    .rekori-why-number-wrap {
        font-size: var(--rwy-number-size-tablet);
    }

    .rekori-why-label {
        font-size: var(--rwy-label-size-tablet);
    }

    .rekori-why-stats {
        grid-template-columns: repeat(var(--rwy-cols-tablet), minmax(0,1fr));
        gap: 34px var(--rwy-gap-tablet);
        margin-top: var(--rwy-stats-gap-tablet);
    }

    .rekori-why-block.has-dividers .rekori-why-stat::after {
        display: none;
    }
}

/* MOBILE */
@media (max-width: 767px) {
    .rekori-why-block {
        padding:
            var(--rwy-pad-top-mobile)
            var(--rwy-pad-right-mobile)
            var(--rwy-pad-bottom-mobile)
            var(--rwy-pad-left-mobile);
    }

    .rekori-why-title {
        font-size: var(--rwy-title-size-mobile);
        line-height: 1.18;
        margin-bottom: 18px;
    }

    .rekori-why-description {
        font-size: var(--rwy-text-size-mobile);
        line-height: 1.58;
    }

    .rekori-why-stats {
        grid-template-columns: repeat(var(--rwy-cols-mobile), minmax(0,1fr));
        gap: 28px var(--rwy-gap-mobile);
        margin-top: var(--rwy-stats-gap-mobile);
    }

    .rekori-why-stat {
        padding: 0 8px;
    }

    .rekori-why-number-wrap {
        font-size: var(--rwy-number-size-mobile);
    }

    .rekori-why-label {
        font-size: var(--rwy-label-size-mobile);
        margin-top: 10px;
    }
}

/* VERY SMALL PHONES */
@media (max-width: 380px) {
    .rekori-why-stat {
        padding-left: 4px;
        padding-right: 4px;
    }

    .rekori-why-number-wrap {
        letter-spacing: -0.035em;
    }
}

/* Respect accessibility preference */
@media (prefers-reduced-motion: reduce) {
    .rekori-why-block,
    .rekori-why-stat {
        transition: none !important;
        transform: none !important;
        animation: none !important;
    }

    .rekori-why-block {
        opacity: 1 !important;
    }
}


@keyframes rekoriWhyPulse {
    0%, 100% {
        transform: scale(1);
    }
    50% {
        transform: scale(var(--rwy-hover-pulse-scale));
    }
}

@keyframes rekoriWhyFloat {
    0%, 100% {
        transform: translateY(0);
    }
    50% {
        transform: translateY(var(--rwy-hover-y));
    }
}

/* Entrance animations */
.rekori-why-block.rekori-entrance-ready {
    transition:
        opacity var(--rwy-entrance-duration) ease var(--rwy-entrance-delay),
        transform var(--rwy-entrance-duration) cubic-bezier(.22,1,.36,1) var(--rwy-entrance-delay),
        box-shadow var(--rwy-hover-duration) ease;
}

.rekori-why-block.entrance-fade.rekori-entrance-ready,
.rekori-why-block.entrance-fade_up.rekori-entrance-ready,
.rekori-why-block.entrance-zoom.rekori-entrance-ready,
.rekori-why-block.entrance-slide_left.rekori-entrance-ready,
.rekori-why-block.entrance-slide_right.rekori-entrance-ready {
    opacity: 0;
}

.rekori-why-block.entrance-fade_up.rekori-entrance-ready {
    transform: translateY(var(--rwy-entrance-distance));
}

.rekori-why-block.entrance-zoom.rekori-entrance-ready {
    transform: scale(.96);
}

.rekori-why-block.entrance-slide_left.rekori-entrance-ready {
    transform: translateX(calc(var(--rwy-entrance-distance) * -1));
}

.rekori-why-block.entrance-slide_right.rekori-entrance-ready {
    transform: translateX(var(--rwy-entrance-distance));
}

.rekori-why-block.rekori-entrance-visible {
    opacity: 1 !important;
    transform: none !important;
}

/* Inner motion keeps divider lines and the existing card hover independent. */
.rekori-why-stat-motion{display:flex;flex-direction:column;align-items:center;justify-content:center;width:100%;min-width:0;}

/* Keep the configured dividers visible at every breakpoint, between neighbours only. */
.rekori-why-block.has-dividers .rekori-why-stat:not(:last-child)::after{display:block!important;}
.rekori-why-block.has-dividers .rekori-why-stat[data-row-end="1"]::after{display:none!important;}
