.wrapper {
    width: 100%;
    overflow: hidden;
}
.container {
    width: min(100% - calc(var(--container-padding) * 2), var(--container-width));
    margin: 0 auto;
}
.section {
    padding: var(--section-lg) 0;
}
.section--md {
    padding: var(--section-md) 0;
}
.section--sm {
    padding: var(--section-sm) 0;
}
.section-bg {
    background: var(--color-paper-2);
}
.flex {
    display: flex;
}
.flex-center {
    display: flex;
    align-items: center;
    justify-content: center;
}
.flex-between {
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.grid {
    display: grid;
}
.grid-2 {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
}
.grid-3 {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.grid-4 {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
}
.gap-vs {
    gap: 0.8rem;
}
.gap-sm {
    gap: 1.4rem;
}
.gap-md {
    gap: 2.4rem;
}
.gap-lg {
    gap: 4rem;
}
.gap-xl {
    gap: 6.4rem;
}
.mt-8 {
    margin-top: 0.8rem;
}
.mt-16 {
    margin-top: 1.6rem;
}
.mt-24 {
    margin-top: 2.4rem;
}
.mt-32 {
    margin-top: 3.2rem;
}
.mt-40 {
    margin-top: 4rem;
}
.mt-56 {
    margin-top: 5.6rem;
}
.mt-80 {
    margin-top: 8rem;
}
.skip-link {
    position: fixed;
    left: 1.6rem;
    top: -8rem;
    z-index: 9999;
    padding: 1.2rem 1.6rem;
    color: #fff;
    background: #000;
    border-radius: 1rem;
    transition: top var(--transition-fast);
}
.skip-link:focus {
    top: 1.6rem;
}
.blind {
    position: absolute;
    width: 0.1rem;
    height: 0.1rem;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
}
.br-24 {
    border-radius: 2.4rem;
}

.bgc-paper3 {
    background-color: var(--color-paper-3);
}
