img,
svg {
  display: block;
  max-width: 100%;
}

a {
  color: inherit;
}

button,
input,
select,
textarea {
  font: inherit;
}
button { cursor: pointer; }
form{
    align-items: self-start;
}
.field{
    position: relative;
    margin-bottom: 18px;
    line-height: 1;
}
.field span.er_msg {
    color: #e3151e!important;
    margin-top: 0px !important;
    display: block;
    font-size: 10px!important;
    position: absolute;
    top: 100%;
    margin-top: 2px;
    line-height: 1;
    left: 0;
    width: 99.99%;
}

form .form-row {
    display: grid;
    column-gap: 14px;
    align-items: self-start;
}

form  .form-row--2 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.brand {
    display: inline-flex;
    align-items: center;
    min-width: 145px;
}
.form-reassurance {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    margin: -3px 0 0;
    color: #718291;
    font-size: 0.69rem!important;
    text-align: center;
}
.site-footer {
    color: #a5b9c8;
    background: #041626;
}

.site-footer__top {
    min-height: 145px;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 45px;
    padding-top: 30px;
    padding-bottom: 30px;
}

.brand--footer .brand__logic {
    fill: #fff;
}

.brand--footer .brand__tag {
    fill: #8199ab;
}

.site-footer__top p {
    max-width: 520px;
    margin: 0;
    color: #8da5b7;
    font-size: 0.82rem;
}

.site-footer__contact {
    display: grid;
    gap: 4px;
    text-align: right;
}

.site-footer__contact a {
    color: #e6eff5;
    font-size: 0.8rem;
    font-weight: 700;
}

.site-footer__bottom {
    min-height: 62px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.site-footer__bottom p {
    margin: 0;
    color: #70899c;
    font-size: 0.7rem;
}

.site-footer__bottom nav {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
}

.site-footer__bottom a {
    color: #8ea5b6;
    font-size: 0.7rem;
}

.site-footer__bottom a:hover,
.site-footer__contact a:hover {
    color: #fff;
}

.proof { color: #fff; background: #e3151e; }
.proof-grid { min-height: 106px; display: grid; grid-template-columns: repeat(4,1fr); align-items: center; }
.proof-item { padding: 20px 28px; border-right: 1px solid rgba(255,255,255,.28); }
.proof-item:last-child { border-right: 0; }
.proof-item strong { display: block; font-size: 1.7rem; line-height: 1; }
.proof-item span { display: block; margin-top: 6px; font-size: .82rem; opacity: .9; }

@media (max-width: 920px) {
    .site-footer__top {
        grid-template-columns: auto 1fr;
    }

    .site-footer__contact {
        grid-column: 1 / -1;
        grid-template-columns: repeat(2, auto);
        justify-content: start;
        gap: 20px;
        text-align: left;
    }
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto;
    }

    *,
    *::before,
    *::after {
        animation-duration: 0.01ms !important;
        animation-iteration-count: 1 !important;
        transition-duration: 0.01ms !important;
        scroll-behavior: auto !important;
    }

    [data-reveal] {
        opacity: 1;
        transform: none;
    }
}

@media print {
    .site-footer {
        display: none !important;
    }
}
@media (max-width: 1020px) {
    .proof-grid { grid-template-columns: 1fr 1fr; }
    .proof-item:nth-child(2) { border-right: 0; }
    .proof-item:nth-child(-n+2) { border-bottom: 1px solid rgba(255,255,255,.28); }
}
@media (max-width: 767px) {
    form .form-row--2 {
        grid-template-columns: 1fr;
    }
    .brand {
        width: 125px;
        min-width: 125px;
    }

    .site-footer__top,
    .site-footer__bottom {
        display: grid;
        grid-template-columns: 1fr;
        gap: 20px;
        padding-top: 28px;
        padding-bottom: 28px;
    }

    .site-footer__contact {
        grid-template-columns: 1fr;
        gap: 5px;
    }

    .site-footer__bottom nav {
        gap: 13px 20px;
    }
    .proof-grid { grid-template-columns: 1fr 1fr; }
    .proof-item { padding: 17px 12px; text-align: center; }
    .proof-item strong { font-size: 1.35rem; }
}