:root {
    --bmwp-headline-font: 'Geologica Bold';
    --bmwp-body-font: 'Geologica';
    --bmwp-radius-xs: .125rem;
    --bmwp-radius-s: .25rem;
    --bmwp-radius-m: .5rem;
    --bmwp-radius-l: 1rem;
    --bmwp-radius-xl: 1.5rem;
    --bmwp-radius-xxl: 2rem;
    --bmwp-radius-50: 50%;
    --bmwp-radius-circle: 50%;
    --bmwp-body: clamp(1rem, calc(0.96rem + 0.21vw), 1.125rem);
    --bmwp-headline-xl: clamp(3.05rem, calc(2.24rem + 4.08vw), 5.5rem);
    --bmwp-headline-h1: clamp(2.44rem, calc(1.96rem + 2.41vw), 3.89rem);
    --bmwp-headline-h2: clamp(1.95rem, calc(1.69rem + 1.33vw), 2.75rem);
    --bmwp-headline-h3: clamp(1.56rem, calc(1.44rem + 0.64vw), 1.94rem);
    --bmwp-headline-h4: clamp(1.25rem, calc(1.21rem + 0.21vw), 1.38rem);
    --bmwp-headline-h5: clamp(1.05rem, calc(1rem + 0.11vw), 1.18rem);
    --bmwp-headline-h6: clamp(0.97rem, calc(1.01rem + -0.05vw), 1rem);
    --bmwp-headline-pre: clamp(0.97rem, calc(1.01rem + -0.05vw), 1rem);
    --bmwp-headline-body-xl: clamp(1.27rem, calc(1.15rem + 0.59vw), 1.62rem);
    --bmwp-headline-body-l: clamp(1.13rem, calc(1.05rem + 0.38vw), 1.35rem);
    --bmwp-headline-body-s: clamp(0.89rem, calc(0.87rem + 0.08vw), 0.94rem);
    --bmwp-headline-body-xs: clamp(0.78rem, calc(0.79rem + -0.01vw), 0.79rem);
    --bmwp-text-s: clamp(0.89rem, calc(0.87rem + 0.08vw), 0.94rem);
    --bmwp-text-xs: clamp(0.78rem, calc(0.79rem + -0.01vw), 0.79rem);
    --bmwp-global-width: 1280px;
    --bmwp-site-wrapper-width: 1920px;
    --width-m: 64rem;
    --width-s: 48rem;
    --width-xs: 40rem
}

.line-limit-3,
.line-limit-2 {
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

.line-limit-3 {
    -webkit-line-clamp: 3;
    line-clamp: 3;
}

.line-limit-2 {
    -webkit-line-clamp: 2;
    line-clamp: 2;
}

.ar-16-9,
.ar-9-16,
.ar-4-3 {
    object-fit: cover;
    height: 100%;
}

.ar-16-9 {
    aspect-ratio: 16/9;
}

.ar-9-16 {
    aspect-ratio: 9/16;
}

.ar-4-3 {
    aspect-ratio: 4/3;
}

.ar-1-1 {
    aspect-ratio: 1/1;
}

.no-ul,
.no-ul a {
    text-decoration: none;
}

.gb-button {
    line-height: 1em;
}

.gb-container p:last-child:last-of-type {
    margin-bottom: 0;
}

.gb-container-section-inline {
    padding-inline: clamp(1rem, 0.848rem + 0.758vw, 1.5rem);
}

.announcement-bar {
    position: relative;
}

.announcement-bar-closed,
.hide {
    display: none;
}

.announcement-close {
    position: absolute;
    right: 4px;
    top: 50%;
    transform: translateY(-50%);
    cursor: pointer;
}

.grid-2 {
    display: grid;
    grid-template-columns: 1fr 1fr;
}

.grid-3 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr;
}

.grid-4 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr;
}

.grid-5 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
}

.grid-6 {
    display: grid;
    grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr;
}

.gap-xs {
    gap: .5rem;
}

.gap-s {
    gap: 1rem;
}

.gap-m {
    gap: 2rem;
}

.gap-l {
    gap: 4rem;
}

.gap-xl {
    gap: 6rem;
}

@media(min-width:769px) and (max-width:1024px) {
    .grid-2 {
        grid-template-columns: 1fr;
    }
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr 1fr;
    }
    .grid-5,
    .grid-6 {
        grid-template-columns: 1fr 1fr 1fr;
    }
    .gap-xs {
        gap: .5rem;
    }
    .gap-s {
        gap: 1rem;
    }
    .gap-m {
        gap: 1.5rem;
    }
    .gap-l {
        gap: 3rem;
    }
    .gap-xl {
        gap: 4rem;
    }
}

@media(max-width:768px) {
    .grid-2,
    .grid-3,
    .grid-4 {
        grid-template-columns: 1fr;
    }
    .grid-5,
    .grid-6 {
        grid-template-columns: 1fr 1fr;
    }
    .gap-xs {
        gap: .25rem;
    }
    .gap-s {
        gap: .5rem;
    }
    .gap-m {
        gap: 1rem;
    }
    .gap-l {
        gap: 2rem;
    }
    .gap-xl {
        gap: 3rem;
    }
}