/* Process band. Motion matches a Remotion spring with damping 200: smooth, no bounce, sequenced. */
.home-proof {
    background: #fff;
    border-bottom: 1px solid rgba(26, 77, 46, 0.08);
}

.home-proof__flow {
    display: grid;
    gap: 1.15rem;
}

.home-proof__track {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
    position: relative;
    height: 0.7rem;
    margin: 0;
}

.home-proof__line {
    position: absolute;
    top: 0.28rem;
    left: 4px;
    right: calc((100% - 2.3rem) / 3 - 4px);
    height: 1px;
    background: rgba(26, 77, 46, 0.28);
    transform-origin: left center;
}

.home-proof__node {
    width: 0.55rem;
    height: 0.55rem;
    border: 2px solid #1a4d2e;
    border-radius: 50%;
    background: #fff;
    position: relative;
    z-index: 1;
}

.home-proof__steps {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.15rem;
    list-style: none;
    margin: 0;
    padding: 0;
}

.home-proof__rise,
.home-proof__card {
    height: 100%;
}

.home-proof__card {
    display: flex;
    flex-direction: column;
    background: #fff;
    border: 1px solid rgba(26, 77, 46, 0.1);
    border-radius: 16px;
    padding: 1.35rem 1.35rem 1.15rem;
    box-shadow: 0 1px 2px rgba(13, 40, 24, 0.04), 0 10px 24px rgba(13, 40, 24, 0.04);
    position: relative;
}

.home-proof__card::before {
    content: "";
    position: absolute;
    top: 0;
    left: 1.35rem;
    right: 1.35rem;
    height: 2px;
    border-radius: 0 0 2px 2px;
    background: #c9a227;
    transform: scaleX(0.35);
    transform-origin: left center;
}

.home-proof__card .home-proof__index {
    margin: 0 0 0.75rem;
    color: #1a4d2e;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.16em;
    line-height: 1.2;
}

.home-proof__card h3 {
    margin: 0 0 0.5rem;
    font-size: 1.125rem;
    font-weight: 700;
    line-height: 1.3;
}

.home-proof__card h3 a {
    color: #143a22;
    text-decoration: none;
}

.home-proof__card h3 a:hover,
.home-proof__card h3 a:focus-visible {
    color: #1a4d2e;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

.home-proof__card p {
    margin: 0 0 1rem;
    color: #3d4a42;
    font-size: 0.975rem;
    line-height: 1.65;
}

.home-proof__link {
    display: inline-flex;
    align-items: center;
    gap: 0.35rem;
    min-height: 44px;
    margin-top: auto;
    color: #1a4d2e;
    font-size: 0.92rem;
    font-weight: 600;
    text-decoration: none;
}

.home-proof__link:hover,
.home-proof__link:focus-visible {
    color: #6e5a32;
    text-decoration: underline;
    text-underline-offset: 0.15em;
}

@media (hover: hover) and (prefers-reduced-motion: no-preference) {
    .home-proof__card,
    .home-proof__card::before,
    .home-proof__link span {
        transition: transform 0.45s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.45s ease, border-color 0.45s ease;
    }

    .home-proof__card:hover,
    .home-proof__card:focus-within {
        transform: translateY(-4px);
        border-color: rgba(26, 77, 46, 0.22);
        box-shadow: 0 2px 6px rgba(13, 40, 24, 0.05), 0 18px 36px rgba(13, 40, 24, 0.08);
    }

    .home-proof__card:hover::before,
    .home-proof__card:focus-within::before {
        transform: scaleX(1);
    }

    .home-proof__card:hover .home-proof__link span,
    .home-proof__card:focus-within .home-proof__link span {
        transform: translateX(3px);
    }
}

@media (prefers-reduced-motion: no-preference) {
    @supports (animation-timeline: view()) {
        .home-proof__line {
            animation: home-proof-draw linear both;
            animation-timeline: view();
            animation-range: entry 8% entry 42%;
        }

        .home-proof__node {
            animation: home-proof-node cubic-bezier(0.16, 1, 0.3, 1) both;
            animation-timeline: view();
            animation-range: entry 10% entry 36%;
        }

        .home-proof__node:nth-child(3) {
            animation-range: entry 16% entry 42%;
        }

        .home-proof__node:nth-child(4) {
            animation-range: entry 22% entry 48%;
        }

        .home-proof__rise {
            animation: home-proof-rise cubic-bezier(0.16, 1, 0.3, 1) both;
            animation-timeline: view();
            animation-range: entry 12% cover 38%;
        }

        .home-proof__step:nth-child(2) .home-proof__rise {
            animation-range: entry 18% cover 44%;
        }

        .home-proof__step:nth-child(3) .home-proof__rise {
            animation-range: entry 24% cover 50%;
        }
    }
}

@keyframes home-proof-draw {
    from { transform: scaleX(0); }
    to { transform: scaleX(1); }
}

@keyframes home-proof-node {
    from { opacity: 0; transform: scale(0.7); }
    to { opacity: 1; transform: none; }
}

@keyframes home-proof-rise {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: none; }
}

@media (max-width: 860px) {
    .home-proof__track {
        display: none;
    }

    .home-proof__steps {
        grid-template-columns: 1fr;
    }
}
