:root {
    --navy: #12233f;
    --blue: #2463eb;
    --gold: #d8a83e;
    --ink: #19263b;
    --muted: #5c687b;
    --pale: #f4f7fb;
    --line: #e2e8f0;
    --white: #fff
}

* {
    box-sizing: border-box
}

html {
    scroll-behavior: smooth
}

body {
    margin: 0;
    font-family: Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
    color: var(--ink);
    line-height: 1.6;
    background: #fff
}

a {
    color: inherit
}

.kr-wrap {
    width: min(1160px,calc(100% - 40px));
    margin: auto
}

.kr-topbar {
    height: 78px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px
}

.kr-brand {
    font-size: 25px;
    font-weight: 800;
    letter-spacing: -.8px;
    text-decoration: none;
    color: var(--navy)
}

    .kr-brand span {
        color: var(--gold)
    }

nav {
    display: flex;
    gap: 26px;
    align-items: center;
    font-size: 14px;
    color: #344259
}

    nav a {
        text-decoration: none
    }

        nav a:hover {
            color: var(--blue)
        }

.kr-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 13px 20px;
    border-radius: 9px;
    text-decoration: none;
    font-weight: 700;
    font-size: 14px;
    background: var(--blue);
    color: #fff;
    border: 1px solid var(--blue);
    transition: .2s
}

    .kr-btn:hover {
        background: #174fc8
    }

.kr-btn-outline {
    background: transparent;
    color: var(--navy);
    border-color: #cbd5e1
}

    .kr-btn-outline:hover {
        background: #edf3ff;
        color: var(--blue)
    }

.kr-hero {
    background: radial-gradient(circle at 85% 15%,#e8efff 0,transparent 32%),linear-gradient(135deg,#f8faff,#fff 60%);
    padding: 86px 0 78px;
    border-top: 1px solid #f0f3f8
}

.kr-hero-grid {
    display: grid;
    grid-template-columns: 1.08fr .92fr;
    gap: 54px;
    align-items: center
}

.kr-eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 9px;
    color: var(--blue);
    font-weight: 800;
    font-size: 12px;
    text-transform: uppercase;
    letter-spacing: 1.7px
}

    .kr-eyebrow:before {
        content: "";
        width: 25px;
        height: 2px;
        background: var(--gold)
    }

h1 {
    font-size: clamp(38px,5vw,60px);
    line-height: 1.08;
    letter-spacing: -2px;
    color: var(--navy);
    margin: 18px 0 22px
}

    h1 em {
        font-style: normal;
        color: var(--blue)
    }

.kr-lead {
    font-size: 19px;
    color: #526078;
    max-width: 650px;
    margin: 0 0 28px
}

.kr-actions {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

.kr-trust {
    display: flex;
    gap: 24px;
    flex-wrap: wrap;
    margin-top: 28px;
    font-size: 13px;
    color: #66738a
}

    .kr-trust span:before {
        content: "✓";
        color: #1d9b70;
        font-weight: 900;
        margin-right: 7px
    }

.kr-visual {
    background: #fff;
    border: 1px solid #e4eaf3;
    border-radius: 20px;
    padding: 25px;
    box-shadow: 0 22px 70px #1c376214;
    position: relative
}

.kr-visual-title {
    font-size: 12px;
    color: #7b8799;
    text-transform: uppercase;
    letter-spacing: 1.2px;
    font-weight: 800;
    margin-bottom: 18px
}

.kr-mock-card {
    border: 1px solid var(--line);
    border-radius: 12px;
    padding: 17px;
    margin-bottom: 12px
}

.kr-mock-head {
    display: flex;
    justify-content: space-between;
    align-items: center;
    font-weight: 750;
    color: var(--navy);
    font-size: 14px
}

.kr-pill {
    background: #e9f8f1;
    color: #15815b;
    padding: 4px 8px;
    border-radius: 99px;
    font-size: 10px;
    font-weight: 800
}

.kr-mock-sub {
    font-size: 12px;
    color: #788498;
    margin-top: 5px
}

.kr-progress {
    display: grid;
    grid-template-columns: repeat(5,1fr);
    gap: 6px;
    margin-top: 16px
}

    .kr-progress i {
        height: 5px;
        border-radius: 8px;
        background: #dce6fa
    }

        .kr-progress i:first-child, .kr-progress i:nth-child(2), .kr-progress i:nth-child(3) {
            background: var(--blue)
        }

.kr-price-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 11px 0;
    border-bottom: 1px solid #edf0f5;
    font-size: 13px
}

    .kr-price-row:last-child {
        border: 0
    }

    .kr-price-row strong {
        color: var(--navy)
    }

.kr-total {
    background: #f2f6ff;
    border-radius: 10px;
    padding: 14px 16px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 12px
}

    .kr-total small {
        display: block;
        color: #69768a;
        font-size: 11px
    }

    .kr-total strong {
        font-size: 23px;
        color: var(--blue)
    }

section {
    padding: 82px 0
}

.kr-section-head {
    max-width: 760px;
    margin-bottom: 38px
}

    .kr-section-head.kr-center {
        text-align: center;
        margin-left: auto;
        margin-right: auto
    }

    .kr-section-head h2 {
        font-size: clamp(30px,4vw,43px);
        line-height: 1.15;
        letter-spacing: -1.2px;
        color: var(--navy);
        margin: 13px 0
    }

    .kr-section-head p {
        font-size: 17px;
        color: var(--muted);
        margin: 0
    }

.kr-steps-section {
    background: var(--pale)
}

.kr-steps {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 18px
}

.kr-step {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 15px;
    padding: 24px;
    min-height: 205px;
    position: relative
}

.kr-num {
    display: flex;
    width: 38px;
    height: 38px;
    align-items: center;
    justify-content: center;
    background: #eaf0ff;
    color: var(--blue);
    font-weight: 850;
    border-radius: 11px;
    margin-bottom: 17px
}

.kr-step h3 {
    font-size: 18px;
    color: var(--navy);
    margin: 0 0 9px
}

.kr-step p {
    font-size: 14px;
    color: var(--muted);
    margin: 0
}

.kr-step ul {
    padding-left: 18px;
    margin: 10px 0 0;
    color: var(--muted);
    font-size: 13px
}

.kr-step li {
    margin: 4px 0
}

.kr-timeline {
    display: grid;
    grid-template-columns: repeat(6,1fr);
    gap: 10px;
    margin: 34px 0 25px
}

.kr-phase {
    text-align: center;
    position: relative
}

    .kr-phase:not(:last-child):after {
        content: "";
        height: 2px;
        background: #d9e2f2;
        position: absolute;
        top: 22px;
        left: calc(50% + 23px);
        right: calc(-50% + 23px)
    }

.kr-phase-icon {
    position: relative;
    z-index: 1;
    width: 46px;
    height: 46px;
    margin: 0 auto 12px;
    border: 1px solid #d9e4f5;
    border-radius: 14px;
    background: #fff;
    display: grid;
    place-items: center;
    color: var(--blue);
    font-weight: 900
}

.kr-phase b {
    display: block;
    font-size: 13px;
    color: var(--navy)
}

.kr-phase small {
    display: block;
    color: #7b8799;
    font-size: 11px;
    margin-top: 3px
}

.kr-flow {
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 14px
}

.kr-flow-card {
    padding: 24px;
    border-radius: 14px;
    background: #fff;
    border: 1px solid var(--line)
}

    .kr-flow-card .kr-num {
        background: #fff2d7;
        color: #9b6b08
    }

    .kr-flow-card h3 {
        margin: 0 0 8px;
        color: var(--navy);
        font-size: 17px
    }

    .kr-flow-card p {
        margin: 0;
        color: var(--muted);
        font-size: 14px
    }

.kr-benefits {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    gap: 22px
}

.kr-benefit {
    padding: 25px 0;
    border-top: 2px solid var(--gold)
}

    .kr-benefit h3 {
        color: var(--navy);
        font-size: 18px;
        margin: 0 0 8px
    }

    .kr-benefit p {
        font-size: 14px;
        color: var(--muted);
        margin: 0
    }

.kr-integration {
    background: var(--navy);
    color: #fff
}

    .kr-integration .kr-section-head h2 {
        color: #fff
    }

    .kr-integration .kr-section-head p {
        color: #c6d0df
    }

.kr-integration-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 45px;
    align-items: center
}

.kr-integration-list {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 12px
}

.kr-integration-item {
    border: 1px solid #ffffff2b;
    border-radius: 11px;
    padding: 16px;
    color: #edf3ff;
    font-size: 14px
}

    .kr-integration-item b {
        display: block;
        color: #fff;
        margin-bottom: 4px
    }

.kr-integration-note {
    color: #c6d0df;
    font-size: 14px
}

.kr-cta {
    padding: 72px 0;
    background: #f4f7fc
}

.kr-cta-box {
    background: #fff;
    border: 1px solid var(--line);
    border-radius: 20px;
    padding: 42px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 30px;
    box-shadow: 0 12px 35px #19365c0a
}

    .kr-cta-box h2 {
        font-size: clamp(27px,3vw,36px);
        line-height: 1.15;
        color: var(--navy);
        margin: 0 0 12px;
        letter-spacing: -.8px
    }

    .kr-cta-box p {
        margin: 0;
        color: var(--muted);
        max-width: 660px
    }

.kr-contact {
    display: flex;
    gap: 12px;
    flex-wrap: wrap
}

    .kr-contact a {
        white-space: nowrap
    }

.kr-footer {
    padding: 25px 0;
    color: #7b8799;
    font-size: 12px;
    border-top: 1px solid var(--line)
}

    .kr-footer .kr-wrap {
        display: flex;
        justify-content: space-between;
        gap: 18px;
        flex-wrap: wrap
    }

@media(max-width:850px) {
    nav a:not(.kr-btn) {
        display: none
    }

    .kr-hero {
        padding: 58px 0
    }

    .kr-hero-grid, .kr-integration-grid {
        grid-template-columns: 1fr
    }

    .kr-visual {
        max-width: 600px
    }

    .kr-steps {
        grid-template-columns: repeat(2,1fr)
    }

    .kr-timeline {
        grid-template-columns: repeat(3,1fr);
        row-gap: 22px
    }

    .kr-phase:nth-child(3):after {
        display: none
    }

    .kr-flow {
        grid-template-columns: repeat(2,1fr)
    }

    .kr-benefits {
        grid-template-columns: 1fr 1fr
    }

    .kr-cta-box {
        align-items: flex-start;
        flex-direction: column
    }
}

@media(max-width:520px) {
    .kr-wrap {
        width: min(100% - 28px,1160px)
    }

    .kr-topbar {
        height: 68px
    }

    .kr-brand {
        font-size: 22px
    }

    nav .kr-btn {
        padding: 10px 12px;
        font-size: 12px
    }

    .kr-hero-grid {
        gap: 35px
    }

    h1 {
        font-size: 39px;
        letter-spacing: -1.5px
    }

    .kr-lead {
        font-size: 17px
    }

    .kr-visual {
        padding: 16px
    }

    .kr-steps, .kr-flow, .kr-benefits {
        grid-template-columns: 1fr
    }

    .kr-step {
        min-height: 0
    }

    .kr-timeline {
        grid-template-columns: repeat(2,1fr)
    }

    .kr-phase:nth-child(2):after, .kr-phase:nth-child(4):after {
        display: none
    }

    .kr-section-head h2 {
        font-size: 31px
    }

    section {
        padding: 60px 0
    }

    .kr-cta-box {
        padding: 27px
    }

    .kr-integration-list {
        grid-template-columns: 1fr 1fr
    }
}
