.section-wrapper {
    display: block;
    position: relative;
    isolation: isolate;
    width: 100%;
    box-sizing: border-box;
    color: var(--section-text-color, var(--section-auto-text-color, inherit));
}

.section-wrapper::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: 0;
    pointer-events: none;
    background-image: var(--section-bg-image-mobile, none);
    background-repeat: no-repeat;
    background-position: var(--section-bg-image-position, center);
    background-size: cover;
    opacity: var(--section-bg-image-opacity, 0);
}

.section-wrapper > * {
    position: relative;
    z-index: 1;
    box-sizing: border-box;
}

@media (min-width: 768px) {
    .section-wrapper::before {
        background-image: var(--section-bg-image-tablet, var(--section-bg-image-mobile, none));
    }
}

@media (min-width: 1200px) {
    .section-wrapper::before {
        background-image: var(--section-bg-image-desktop, var(--section-bg-image-tablet, var(--section-bg-image-mobile, none)));
    }
}

section.section-wrapper .section-heading {
    color: var(--section-text-color, var(--section-auto-text-color, var(--color-heading)));
    font-family: var(--font-base);
    font-weight: 400;
    line-height: 1.2;
    margin: 0 0 0.75em 0;
}

section.section-wrapper h1.section-heading.section-heading--h1,
section.section-wrapper .section-heading.section-heading--h1 {
    font-size: var(--h1-size);
}

section.section-wrapper h2.section-heading.section-heading--h2,
section.section-wrapper .section-heading.section-heading--h2 {
    font-size: var(--h2-size);
}

section.section-wrapper h3.section-heading.section-heading--h3,
section.section-wrapper .section-heading.section-heading--h3 {
    font-size: var(--h3-size);
}

.section-heading--left {
    text-align: left;
}

.section-heading--center {
    text-align: center;
}

.section-heading--right {
    text-align: right;
}

.websuite-inline-link {
    display: inline-flex;
    align-items: center;
    gap: 0.25em;
}

.websuite-inline-link__icon {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 1em;
    min-width: 1em;
    height: 1em;
    line-height: 1;
    color: currentColor;
}

.websuite-inline-link__icon::before {
    display: inline-block;
    font-size: 0.95em;
    line-height: 1;
}

.websuite-inline-link--external .websuite-inline-link__icon::before {
    content: "↗";
}

.websuite-inline-link--youtube .websuite-inline-link__icon::before,
.websuite-inline-link--video .websuite-inline-link__icon::before {
    content: "▶";
}

.websuite-token-image {
    display: block;
    max-width: 100%;
    height: auto;
}

.websuite-token-image--inline {
    float: left;
    max-width: 45%;
    margin: 0 10px 10px 0;
}

@media (max-width: 767px) {
    .websuite-token-image--inline {
        float: none;
        max-width: 100%;
        margin: 0 0 15px;
    }
}
