* {
    box-sizing: border-box;
}

html{
    background: #003472;
}

body, html {
    margin: 0;
    padding: 0;
    padding: 0;
    height: 100%;
    font-family: "Roboto", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
    font-variation-settings:
        "wdth" 100;

    font-feature-settings: 'liga' off, 'clig' off;
    font-size: 16px;
    font-weight: 400;
    letter-spacing: -0.16px;
    color: #f6f6f6;
}

body{
    display: flex;
    flex-direction: column;
    background: url('background.png') no-repeat center center fixed;
    background-size: cover;
}

.container{
    max-width: 1464px;
    width: 100%;
    margin: 0 auto;
    padding: 0 32px;
}

.d-flex {
    display: flex;
}

.flex-column {
    flex-direction: column;
}

.align-items-center {
    align-items: center;
}

.justify-content-between {
    justify-content: space-between;
}

.justify-content-center {
    justify-content: center;
}

a {
    text-decoration: none;
    color: inherit;
}

p{
    margin: 0;
    padding: 0;
}

section{
    padding: 56px 0;
}

section + section{
    border-top: 1px solid rgba(220, 220, 220, 0.26);
}

header{
    padding: 32px 0;
}

.top-links {
    gap: 56px;
}

.top-link {
    gap: 16px;
    color: #FFF;
    text-align: center;
    font-size: 18px;
    font-weight: 500;
    line-height: 28px; /* 155.556% */
    letter-spacing: -0.18px;

    position: relative;
}

.top-link::after {
    content: '';
    position: absolute;
    bottom: -8px;
    left: 0;
    width: 100%;
    height: 2px;
    background: #EAA159;
    transform: scaleX(0);
    transform-origin: right;
    transition: transform 0.3s;
}

.top-link:hover::after {
    transform: scaleX(1);
    transform-origin: left;
}

.title.big{
    color: #FFF;
    text-align: center;
    font-size: 48px;
    font-weight: 600;
    line-height: 52px; /* 108.333% */
    letter-spacing: -0.96px;
    padding-bottom: 24px;
}

.color-primary{
    color: #EAA159;
}

p{
    font-weight: 400;
    line-height: 28px; /* 175% */
    letter-spacing: -0.16px;
}

.text-center{
    text-align: center;
}

.buttons-flex{
    gap: 24px;
    margin-top: 40px;
    margin-bottom: 32px;
}

.btn {
    display: inline-flex;
    height: 48px;
    line-height: 48px;
    padding: 0 40px;

    font-size: 16px;
    font-weight: 700;
    line-height: 160%; /* 25.6px */
    letter-spacing: -0.16px;
    border-radius: 8px;
    transition: background 0.3s;

    gap: 10px;
}

.btn.primary{
    background: #EAA159;
    color: #133b66;
}

.btn.primary:hover{
    background: #ffb380;
}

.btn.hollow{
    border: 2px solid #EAA159;
    color: #EAA159;
    background: transparent;
}

.btn.hollow:hover{
    background: rgba(234, 161, 89, 0.1);
}

.steps{
    gap: 64px;
}

.step{
    flex: 1;

    font-size: 20px;
    font-weight: 500;
    line-height: 23px; /* 115% */
    letter-spacing: -0.2px;
}

.step.big{
    color: #FFF;
    font-size: 32px;
    font-weight: 500;
    line-height: 46px; /* 143.75% */
    letter-spacing: -0.64px;
    flex: 0 0 288px;
}

.step-number{
    font-size: 24px;
    font-weight: 600;
    letter-spacing: -0.48px;
    padding-bottom: 8px;
}

.title-medium{
    font-size: 32px;
    font-weight: 500;
    line-height: 46px; /* 143.75% */
    letter-spacing: -0.64px;
    padding-bottom: 24px;
}

footer{
    margin-top: auto;
    background: #133B66;

    text-align: center;
    font-size: 16px;
    font-weight: 400;

    padding: 16px 0;
}

@media (max-width: 1280px) {
    body{
        height: unset;
        text-align: center;
    }

    .steps{
        flex-direction: column;
        gap: 32px;
    }

    .step{
        text-align: center;
    }

    .step.big{
        flex: none;
    }

    p+p{
        margin-top: 16px;
    }

    .top-links{
        justify-content: center;
        gap: 16px;
    }
}

@media (max-width: 767px) {
    header > div {
        flex-direction: column;
        gap: 24px;
    }
}

@media (max-width: 575px) {
    body, html{
        font-size: 14px;
    }

    .container{
        padding: 0 16px;
    }

    section{
        padding: 32px 0;
    }

    .title.big{
        font-size: 24px;
        line-height: 1.41;
        letter-spacing: -0.72px;
        padding-bottom: 16px;
    }

    .title-medium{
        font-size: 24px;
        line-height: 34px; /* 141.667% */
        letter-spacing: -0.48px;
        padding-bottom: 16px;
    }

    .buttons-flex{
        flex-direction: column;
        gap: 16px;
        margin-top: 24px;
        margin-bottom: 0;
    }

    .top-links{
        flex-direction: column-reverse;
        gap: 16px;
    }

    .step{
        font-size: 16px;
        line-height: 20px; /* 125% */
        letter-spacing: -0.16px;
    }

    .step.big{
        font-size: 24px;
        line-height: 34px; /* 141.667% */
        letter-spacing: -0.48px;
    }

    .step-number{
        font-size: 20px;
    }
}