
.visually-hidden {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0
}

.author {
    display: grid;
    gap: .5em 1em;
    grid-template-columns: auto 1fr;
    align-items: center
}

@media print {
    .author {
    break-inside: avoid
    }
}

.author__photo {
    aspect-ratio: 1
}

.author__photo.is-broken {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0
}

.author__name {
    color: var(--color-strong);
    font-weight: bold;
    line-height: var(--line-height-dense);
    text-align: left
}

.author__name.h3 .link {
    --link-underline-offset: 0
}

.author__caption {
    position: relative;
    font-size: var(--font-size-small);
    line-height: var(--line-height-dense);
    text-align: left
}

.author__caption:before {
    content: "/";
    position: absolute;
    left: -0.75em
}

.author__info {
    display: flex;
    align-items: baseline;
    flex-wrap: wrap;
    gap: 0 1em;
    overflow: hidden
}

.author__info .label {
    margin-bottom: 3rem
}

.heading {
    color: var(--color-strong);
    font-weight: 600;
    text-wrap: balance
}

.heading strong {
    font-weight: bold;
    white-space: break-spaces
}

@media(prefers-color-scheme: dark) {
    .heading strong {
    color: var(--color-brand)
    }
}

@media(prefers-color-scheme: dark)and (prefers-contrast: more) {
    .heading strong {
    color: var(--color-brand-light)
    }
}

.theme--dark .heading strong {
    color: var(--color-brand)
}

@media(prefers-contrast: more) {
    .theme--dark .heading strong {
    color: var(--color-brand-light)
    }
}

.heading:has(strong) {
    font-weight: normal;
    position: relative;
    z-index: 5
}

@media(prefers-color-scheme: light)and (prefers-color-scheme: light) {
    .module:not(.theme--dark) .heading:not(.heading--no-highlight) strong:last-of-type {
    position: relative
    }
}

@media(prefers-color-scheme: light)and (prefers-color-scheme: light) {
    .module:not(.theme--dark) .heading:not(.heading--no-highlight) strong:last-of-type:after {
    --highlight-width: 8em;
    --higlight-overlap-right: 0.5em;
    content: "";
    position: absolute;
    bottom: 0;
    z-index: -5;
    display: inline-block;
    height: 1.1em;
    width: var(--highlight-width);
    margin-left: calc(var(--higlight-overlap-right) - var(--highlight-width));
    background-image: linear-gradient(to left, var(--color-brand-light), transparent), linear-gradient(to left, var(--color-brand-light), var(--color-brand-light));
    background-position: left center, right center;
    background-size: calc(100% - var(--higlight-overlap-right)) 1.1em, .55em 1.1em;
    background-repeat: no-repeat;
    border-radius: .55em;
    clip-path: polygon(0 10%, 100% 0, 100% 100%, 0 90%)
    }
}

.heading span[style*=color] {
    color: var(--color-brand) !important
}

.image {
    --parallax-ratio: 0;
    position: relative;
    line-height: 0
}

.image__content {
    position: relative;
    max-width: 100%;
    max-height: 100%
}

@media(prefers-color-scheme: dark) {
    .image__content {
    filter: brightness(0.97) contrast(1.005)
    }
}

.image--cover .image__content {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0
}

@supports(object-fit: cover) {
    .image--cover .image__content {
    object-fit: cover;
    height: 100%;
    width: 100%
    }
}

.image__content.parallax {
    --parallax-ratio: 0.05
}

.image__overlay {
    position: absolute;
    inset: 0;
    z-index: 5;
    width: 100%;
    height: 100%;
    object-fit: cover;
    filter: invert(1) grayscale(1) brightness(0.9) contrast(5);
    mix-blend-mode: multiply;
    opacity: .5
}

@media(prefers-contrast: more) {
    .image__overlay {
    filter: invert(1) grayscale(1) brightness(0.4) contrast(5);
    opacity: .8
    }
}

@media(prefers-reduced-transparency) {
    .image__overlay {
    opacity: 1;
    mix-blend-mode: normal;
    filter: brightness(0)
    }
}

.image.is-broken {
    line-height: inherit
}

.image.is-broken .image__content {
    font-size: 0;
    overflow: hidden
}

.image.is-broken .image__content:before {
    content: " ";
    display: block;
    height: 100%;
    width: 100%;
    background-image: url("images/broken-img.svg");
    background-repeat: no-repeat;
    background-size: auto min(3rem, 90%);
    font-weight: bold
}

.image--cover {
    position: relative;
    width: var(--image-max-width, 100%);
    height: auto;
    max-width: 100%;
    max-height: 100%;
    overflow: hidden;
    background-color: var(--color-background-dimmed)
}

@supports not (object-fit: cover) {
    .image--cover {
    overflow: hidden
    }
}

.image--cover:before {
    content: "";
    display: block;
    padding-top: var(--image-ratio, 100%)
}

.image--cover.is-broken .image__content:before {
    background-position: center
}

.image--framed:after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    border-radius: inherit;
    box-shadow: 0 0 0 2px var(--color-background-dimmed) inset;
    z-index: 10;
    mix-blend-mode: darken
}

.image[data-image-random-fallback].is-broken .image__content {
    background-position: center;
    background-repeat: no-repeat;
    background-size: cover
}

.image[data-image-random-fallback].is-broken .image__content:before {
    visibility: hidden
}

.label {
    font-size: var(--font-size-tiny);
    font-weight: bold;
    line-height: var(--line-height-dense);
    letter-spacing: .1em;
    text-transform: uppercase
}

.link {
    display: inline-flex;
    align-items: center;
    gap: .5em;
    color: var(--color-strong);
    font-weight: 600;
    transition-duration: var(--duration-default);
    transition-property: color, text-decoration-color;
    text-decoration: underline
}

@media(hover: hover) {

    .link:hover,
    .is-tabbed .link:focus {
    color: var(--color-secondary)
    }
}

.link .icon {
    --icon-size: 1em;
    display: inline-flex
}

.link .icon:before {
    background-color: currentColor
}

.link .arrow-top-right {
    max-width: .8em;
    max-height: .7em
}

span.link {
    --link-color-hover: var(--link-color);
    text-decoration: none
}

nav .link {
    color: var(--color-primary);
    text-decoration-color: rgba(0, 0, 0, 0)
}

@media(hover: hover) {

    nav .link:hover,
    .is-tabbed nav .link:focus {
    text-decoration-color: currentColor
    }
}

:root {
    --loading-animation-threshold: 5s
}

body.no-js .loading-animation *,
body.no-js .loading-animation *:before,
body.no-js .loading-animation *:after {
    animation-delay: var(--loading-animation-threshold) !important
}

.module {
    --module-padding: 10rem;
    padding-top: var(--module-padding);
    padding-bottom: var(--module-padding);
    overflow-x: clip
}

@media(max-width: 1023px) {
    .module {
    --module-padding: 7rem
    }
}

.module .wrapper {
    display: grid;
    gap: 10rem
}

@media(max-width: 1349px) {
    .module .wrapper {
    row-gap: 7rem
    }
}

.module--first .wrapper {
    row-gap: 7rem
}

@media(max-width: 1023px) {
    .module--first .wrapper {
    row-gap: 5rem
    }
}

.module--first .header {
    display: contents
}

.module--first .header:before {
    content: "";
    display: block
}

@media(min-width: 768px) {
    .module--first .header:before {
    grid-row-end: span 2
    }
}

.module--first .header .heading {
    align-self: center;
    max-width: 100rem
}

.module--first .header .rich-text {
    align-self: flex-end;
    font-weight: 600
}

@media(min-width: 768px) {
    .module--first .header .rich-text {
    max-width: min(80rem, 87.5%);
    text-wrap: balance
    }
}

.module--first .header .rich-text strong {
    font-weight: 700
}

.module__background,
.module__image,
.module__background .video,
.module__overlay {
    position: absolute;
    inset: 0
}

.module__background {
    --parallax-ratio: 0.2 !important;
    height: calc((1 + var(--parallax-ratio))*100%);
    margin: auto
}

.module__background:before {
    content: "";
    inset: 0;
    position: absolute;
    z-index: 10;
    background-image: linear-gradient(to bottom, transparent 20%, rgba(0, 0, 0, 0.5333333333));
    background-blend-mode: multiply
}

.module__image,
.module__background .video,
.module__overlay {
    height: 100% !important;
    width: 100% !important;
    object-fit: cover
}

@media(prefers-reduced-transparency) {
    .module__background .video {
    display: none
    }
}

.no-js .module__background .video {
    display: none
}

.module__overlay {
    background: none !important;
    position: absolute !important
}

.module:has(.module__background) {
    --parallax-offset: var(--offset);
    position: relative;
    overflow: clip
}

.parallax {
    --parallax-ratio: 0;
    --parallax-origin: calc(50vh - 50%);
    --parallax-offset: var(--offset);
    --parallax-translate: calc((var(--parallax-origin) + (var(--scroll-y) - var(--parallax-offset)) * 0.1rem) * var(--parallax-ratio));
    translate: 0 var(--parallax-translate);
    will-change: transform
}

@media(prefers-reduced-motion: reduce) {
    .parallax {
    transform: none
    }
}

.rich-text {
    hyphens: auto
}

.rich-text *:not(:last-child) {
    margin-bottom: 2em
}

@media(max-width: 767px) {
    .rich-text *:not(:last-child) {
    margin-bottom: 1.5em
    }
}

.rich-text strong {
    color: var(--color-strong);
    font-weight: 600
}

.rich-text em,
.rich-text i {
    font-style: italic
}

.rich-text .heading {
    margin-top: 4em;
    text-wrap: initial
}

@media(max-width: 767px) {
    .rich-text .heading {
    margin-top: 2.5em
    }
}

.rich-text .heading.h4 {
    margin-top: 3em;
    margin-bottom: 1.5em
}

@media(max-width: 767px) {
    .rich-text .heading.h4 {
    margin-top: 2em;
    margin-bottom: 1.25em
    }
}

.rich-text .heading:first-child {
    margin-top: 0
}

.rich-text .link {
    display: inline
}

.rich-text .link:not([target=_blank]) .icon {
    display: none
}

.rich-text ul,
.rich-text ol {
    padding-left: 1.1em;
    list-style: initial
}

.rich-text ul li::marker {
    color: var(--color-brand)
}

.rich-text ul li li::marker {
    color: var(--color-gray-20)
}

.rich-text ol {
    list-style: decimal
}

.rich-text li:not(:last-child) {
    margin-bottom: 1em
}

.rich-text blockquote {
    padding: 1.5em 0 2em 3em;
    background-image: url("images/quotes.svg");
    background-position: top 1.5em left;
    background-repeat: no-repeat;
    background-size: 2em auto;
    font-weight: bold;
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4)
}

.rich-text pre,
.rich-text code {
    font-family: "Menlo", "Monaco", "Courier New", "Courier", monospace
}

.rich-text code:not(pre code),
.rich-text pre {
    background-color: var(--color-background-dimmed)
}

.rich-text pre {
    padding: .5em .8em;
    font-size: 80%;
    overflow: auto
}

.rich-text code:not(pre code) {
    padding: .2em .4em;
    font-size: 80%
}

.rich-text table,
.rich-text th,
.rich-text tr,
.rich-text td {
    border: 1px solid var(--color-subtle)
}

.rich-text table {
    width: 100%;
    border-radius: var(--border-radius);
    -moz-border-radius: var(--border-radius);
    font-size: var(--font-size-small);
    color: var(--color-primary)
}

.rich-text tr:first-child {
    background: var(--color-background-dimmed);
    font-weight: bold;
    line-height: var(--line-height-dense)
}

.rich-text tr:not(:first-child) td[data-style-text-align-left],
.rich-text tr:not(:first-child) td[style*="text-align: left"] {
    text-align: left
}

.rich-text td {
    padding: 1.2rem
}

.rich-text [data-hs-responsive-table=true] {
    overflow-x: auto;
    margin-right: calc(-1*var(--gap-horizontal));
    padding-right: var(--gap-horizontal)
}

.hs-inline-edit .rich-text a {
    color: var(--color-strong);
    font-weight: 600;
    text-decoration: underline
}

.scroll-horizontal {
    --scroll-horizontal-padding: max(calc((100vw - var(--wrapper-max-width)) / 2), var(--wrapper-padding));
    max-width: 100vw
}

.scroll-horizontal.is-scrollable {
    margin: -5rem calc(-1*var(--scroll-horizontal-padding));
    padding: 5rem var(--scroll-horizontal-padding);
    overflow-x: auto;
    overflow-y: hidden;
    scroll-padding: 5rem var(--scroll-horizontal-padding);
    scroll-behavior: auto
}

.scroll-horizontal.is-scrollable:before {
    content: "";
    display: block;
    width: 10rem
}

.scroll-horizontal.is-scrollable::-webkit-scrollbar {
    display: none
}

.scroll-horizontal.has-touch-blocked {
    scroll-snap-type: none
}

.scroll-horizontal.has-scroll-snap {
    scroll-snap-type: x mandatory
}

.scroll-horizontal.has-scroll-snap>* {
    scroll-snap-align: start
}

.tile {
    --tile-width: 25rem;
    --tile-gap: 1.5rem;
    --tile-scale: 1.06;
    display: grid;
    align-content: start;
    gap: var(--tile-gap);
    position: relative;
    z-index: 10;
    min-width: max(var(--tile-width), 25rem);
    min-height: max(var(--tile-width)*1.2, 30rem);
    max-width: calc(2*var(--tile-width));
    padding: 3rem;
    background-color: var(--color-background-dimmed)
}

@media(max-width: 1023px) {
    .tile {
    --tile-scale: 1
    }
}

.tile__link {
    display: grid;
    gap: var(--tile-gap)
}

@media(hover: none) {
    .tile__link {
    display: contents
    }
}

.tile__link .tile__title,
.tile__link .rich-text {
    text-wrap: initial
}

@media(hover: hover) {

    .tile__link .tile__title,
    .tile__link .rich-text {
    text-decoration: underline;
    text-decoration-color: rgba(0, 0, 0, 0);
    transition: text-decoration-color var(--duration-fast)
    }
}

.tile__link .rich-text:after {
    content: "";
    display: inline-block;
    height: 1em;
    width: 2em
}

.tile__link .arrow-right,
.tile__link .arrow-top-right {
    position: absolute;
    bottom: 3rem;
    right: 3rem;
    color: var(--color-strong)
}

@media(hover: hover) {

    .tile__link .arrow-right,
    .tile__link .arrow-top-right {
    transition: translate var(--duration-default);
    will-change: translate
    }
}

@media(hover: hover) {
    .tile__link:hover .tile__hero {
    scale: var(--tile-scale)
    }

    .tile__link:hover .tile__hero .image__content {
    scale: 1
    }

    .tile__link:hover .tile__title,
    .tile__link:hover .rich-text {
    text-decoration-color: currentColor
    }

    .tile__link:hover .arrow-right {
    translate: .5em
    }

    .tile__link:hover .arrow-top-right {
    translate: .35em -0.35em
    }
}

@media(hover: hover) {
    .tile__link body:not(.is-tabbed) {
    display: contents
    }
}

.tile__hero.image {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: 100%;
    transform-origin: bottom;
    transition: scale var(--duration-default);
    will-change: transform
}

.tile__hero .image__content {
    scale: var(--tile-scale);
    transition: inherit;
    will-change: transform
}

.tile__title {
    font-weight: inherit !important
}

.tile .heading {
    font-weight: bold
}

.tile__number {
    color: var(--color-strong);
    font-size: 6rem;
    line-height: var(--line-height-h1);
    white-space: nowrap
}

@media(hover: none) {
    .tile:has(.tile__hero) {
    padding-top: calc(50% + 2rem)
    }
}

.tile:has(.tile__hero) .tile__link {
    padding-top: calc(50% + 2rem)
}

.tile:has(.tile__icon) {
    padding-top: 4rem
}

.tile:has(.tile__icon) .tile__icon {
    display: inline-grid;
    place-items: center;
    width: 5rem;
    height: 5rem;
    border-radius: 50%;
    background-color: var(--color-background)
}

.tile.link {
    --tile-link-duration: var(--duration-default);
    color: inherit;
    font-weight: inherit;
    text-decoration: none;
    transition: z-index var(--tile-link-duration)
}

@media(hover: hover) {

    .tile.link:before,
    .tile.link:after,
    .tile.link .tile__link:before,
    .tile.link .tile__link:after {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -10;
    transition-duration: var(--tile-link-duration)
    }
}

@media(hover: hover) {

    .tile.link:before,
    .tile.link .tile__link:before {
    box-shadow: var(--box-shadow);
    opacity: 0;
    transition-property: opacity;
    will-change: opacity
    }
}

@media(prefers-contrast: more) {

    .tile.link:before,
    .tile.link .tile__link:before {
    border: 2px solid
    }
}

@media(forced-colors: active) {

    .tile.link:before,
    .tile.link .tile__link:before {
    border: 2px solid
    }
}

@media(hover: hover) {

    .tile.link:after,
    .tile.link .tile__link:after {
    background-color: var(--color-background-dimmed);
    transition-property: transform;
    will-change: transform
    }
}

.tile.link .link__icon,
.tile.link .tile__link .link__icon {
    --icon-size: 2rem;
    height: auto;
    width: auto;
    position: absolute;
    bottom: 3rem;
    right: 3rem;
    background: none;
    border-radius: 0;
    color: var(--color-strong)
}

@media(hover: hover) {

    .tile.link .link__icon,
    .tile.link .tile__link .link__icon {
    transition: translate var(--tile-link-duration);
    will-change: translate
    }
}

@media(hover: hover) {

    .tile.link:hover,
    .tile.link .tile__link:hover {
    z-index: 20
    }

    .tile.link:hover:before,
    .tile.link .tile__link:hover:before {
    opacity: 1
    }

    .tile.link:hover:after,
    .tile.link .tile__link:hover:after {
    transform: scale(var(--tile-scale))
    }

    .tile.link:hover .tile__hero,
    .tile.link .tile__link:hover .tile__hero {
    scale: var(--tile-scale)
    }

    .tile.link:hover .tile__hero .image__content,
    .tile.link .tile__link:hover .tile__hero .image__content {
    scale: 1
    }

    .tile.link:hover .link__icon[style*=arrow-right],
    .tile.link .tile__link:hover .link__icon[style*=arrow-right] {
    translate: .5em
    }

    .tile.link:hover .link__icon[style*=arrow-top-right],
    .tile.link .tile__link:hover .link__icon[style*=arrow-top-right] {
    translate: .35em -0.35em
    }
}

.tile.link:has(.tile__hero) {
    grid-template-rows: 1fr;
    padding-top: calc(50% + 2rem)
}

.tile.link:has(.tile__hero) .heading {
    align-self: start;
    font-weight: normal;
    text-wrap: wrap
}

.tile.link:has(.tile__hero) .tags {
    padding-right: 3rem
}

.tile.link:has(.tile__hero) .tags__tag {
    background-color: var(--color-background);
    border-radius: 50vw;
    padding: 0 1rem
}

.tiles {
    --parallax-offset: var(--offset);
    --tiles-gap: 5rem;
    --tile-width: min(80vw, calc(0.8 * (var(--wrapper-max-width) - (var(--tiles-columns) - 1) * var(--tiles-gap)) / var(--tiles-columns)));
    display: grid;
    gap: var(--tiles-gap);
    grid-template-columns: repeat(auto-fill, minmax(var(--tile-width), 1fr));
    counter-reset: tiles-counter
}

@media(max-width: 1349px) {
    .tiles {
    --tiles-gap: 4rem
    }
}

@media(max-width: 1023px) {
    .tiles {
    --tiles-gap: 3rem;
    grid-template-columns: auto
    }
}

.tiles .tile {
    --parallax-offset: inherit !important;
    --tile-width: inherit
}

@media(max-width: 1023px) {
    .tiles .tile {
    position: static;
    translate: none !important
    }
}

ol.tiles .tile {
    counter-increment: tiles-counter
}

ol.tiles .tile:before {
    content: counter(tiles-counter, decimal-leading-zero);
    color: var(--color-strong);
    font-size: 6rem;
    line-height: var(--line-height-h1);
    pointer-events: none
}

.tiles--small .tile .rich-text {
    font-size: var(--font-size-small)
}

.tiles--4-columns {
    --tiles-columns: 4
}

.tiles--4-columns .tile:nth-child(4n+1) {
    --parallax-ratio: calc(-0.0125 * var(--tiles-columns));
    top: calc(0rem*var(--tiles-columns))
}

.tiles--4-columns .tile:nth-child(4n+2) {
    --parallax-ratio: calc(-0.025 * var(--tiles-columns));
    top: calc(1rem*var(--tiles-columns))
}

.tiles--4-columns .tile:nth-child(4n+3) {
    --parallax-ratio: calc(-0.0375 * var(--tiles-columns));
    top: calc(2rem*var(--tiles-columns))
}

.tiles--4-columns .tile:nth-child(4n+4) {
    --parallax-ratio: calc(-0.05 * var(--tiles-columns));
    top: calc(3rem*var(--tiles-columns))
}

.tiles--4-columns:has(.tile:nth-child(16)) .tile {
    translate: 0 calc(.5*var(--parallax-translate))
}

.tiles--4-columns:has(.tile:nth-child(48)) .tile {
    translate: 0 calc(.25*var(--parallax-translate))
}

@media(min-width: 1024px) {
    .tiles--4-columns:has(.tile:nth-child(4):last-child) {
    margin-bottom: 10rem
    }
}

@media(min-width: 1024px) {
    .tiles--4-columns:has(.tile:nth-child(8):last-child) {
    margin-bottom: 5rem
    }
}

@media(max-width: 1349px) {
    .tiles {
    --tiles-columns: 3
    }

    .tiles .tile:nth-child(3n+1) {
    --parallax-ratio: calc(-0.0166666667 * var(--tiles-columns));
    top: calc(0rem*var(--tiles-columns))
    }

    .tiles .tile:nth-child(3n+2) {
    --parallax-ratio: calc(-0.0333333333 * var(--tiles-columns));
    top: calc(2rem*var(--tiles-columns))
    }

    .tiles .tile:nth-child(3n+3) {
    --parallax-ratio: calc(-0.05 * var(--tiles-columns));
    top: calc(4rem*var(--tiles-columns))
    }

    .tiles:has(.tile:nth-child(12)) .tile {
    translate: 0 calc(.5*var(--parallax-translate))
    }

    .tiles:has(.tile:nth-child(36)) .tile {
    translate: 0 calc(.25*var(--parallax-translate))
    }
}

@media(max-width: 1349px)and (min-width: 1024px) {
    .tiles:has(.tile:nth-child(3):last-child) {
    margin-bottom: 10rem
    }
}

@media(max-width: 1349px)and (min-width: 1024px) {
    .tiles:has(.tile:nth-child(6):last-child) {
    margin-bottom: 5rem
    }
}

.tiles--3-columns,
.tiles--4-columns:has(.tile:nth-child(1):last-child),
.tiles--4-columns:has(.tile:nth-child(2):last-child),
.tiles--4-columns:has(.tile:nth-child(3):last-child),
.tiles--4-columns:has(.tile:nth-child(5):last-child),
.tiles--4-columns:has(.tile:nth-child(6):last-child) {
    --tiles-columns: 3
}

.tiles--3-columns .tile:nth-child(3n+1),
.tiles--4-columns:has(.tile:nth-child(1):last-child) .tile:nth-child(3n+1),
.tiles--4-columns:has(.tile:nth-child(2):last-child) .tile:nth-child(3n+1),
.tiles--4-columns:has(.tile:nth-child(3):last-child) .tile:nth-child(3n+1),
.tiles--4-columns:has(.tile:nth-child(5):last-child) .tile:nth-child(3n+1),
.tiles--4-columns:has(.tile:nth-child(6):last-child) .tile:nth-child(3n+1) {
    --parallax-ratio: calc(-0.0166666667 * var(--tiles-columns));
    top: calc(0rem*var(--tiles-columns))
}

.tiles--3-columns .tile:nth-child(3n+2),
.tiles--4-columns:has(.tile:nth-child(1):last-child) .tile:nth-child(3n+2),
.tiles--4-columns:has(.tile:nth-child(2):last-child) .tile:nth-child(3n+2),
.tiles--4-columns:has(.tile:nth-child(3):last-child) .tile:nth-child(3n+2),
.tiles--4-columns:has(.tile:nth-child(5):last-child) .tile:nth-child(3n+2),
.tiles--4-columns:has(.tile:nth-child(6):last-child) .tile:nth-child(3n+2) {
    --parallax-ratio: calc(-0.0333333333 * var(--tiles-columns));
    top: calc(2rem*var(--tiles-columns))
}

.tiles--3-columns .tile:nth-child(3n+3),
.tiles--4-columns:has(.tile:nth-child(1):last-child) .tile:nth-child(3n+3),
.tiles--4-columns:has(.tile:nth-child(2):last-child) .tile:nth-child(3n+3),
.tiles--4-columns:has(.tile:nth-child(3):last-child) .tile:nth-child(3n+3),
.tiles--4-columns:has(.tile:nth-child(5):last-child) .tile:nth-child(3n+3),
.tiles--4-columns:has(.tile:nth-child(6):last-child) .tile:nth-child(3n+3) {
    --parallax-ratio: calc(-0.05 * var(--tiles-columns));
    top: calc(4rem*var(--tiles-columns))
}

.tiles--3-columns:has(.tile:nth-child(12)) .tile,
.tiles--4-columns:has(.tile:nth-child(1):last-child):has(.tile:nth-child(12)) .tile,
.tiles--4-columns:has(.tile:nth-child(2):last-child):has(.tile:nth-child(12)) .tile,
.tiles--4-columns:has(.tile:nth-child(3):last-child):has(.tile:nth-child(12)) .tile,
.tiles--4-columns:has(.tile:nth-child(5):last-child):has(.tile:nth-child(12)) .tile,
.tiles--4-columns:has(.tile:nth-child(6):last-child):has(.tile:nth-child(12)) .tile {
    translate: 0 calc(.5*var(--parallax-translate))
}

.tiles--3-columns:has(.tile:nth-child(36)) .tile,
.tiles--4-columns:has(.tile:nth-child(1):last-child):has(.tile:nth-child(36)) .tile,
.tiles--4-columns:has(.tile:nth-child(2):last-child):has(.tile:nth-child(36)) .tile,
.tiles--4-columns:has(.tile:nth-child(3):last-child):has(.tile:nth-child(36)) .tile,
.tiles--4-columns:has(.tile:nth-child(5):last-child):has(.tile:nth-child(36)) .tile,
.tiles--4-columns:has(.tile:nth-child(6):last-child):has(.tile:nth-child(36)) .tile {
    translate: 0 calc(.25*var(--parallax-translate))
}

@media(min-width: 1024px) {

    .tiles--3-columns:has(.tile:nth-child(3):last-child),
    .tiles--4-columns:has(.tile:nth-child(1):last-child):has(.tile:nth-child(3):last-child),
    .tiles--4-columns:has(.tile:nth-child(2):last-child):has(.tile:nth-child(3):last-child),
    .tiles--4-columns:has(.tile:nth-child(3):last-child):has(.tile:nth-child(3):last-child),
    .tiles--4-columns:has(.tile:nth-child(5):last-child):has(.tile:nth-child(3):last-child),
    .tiles--4-columns:has(.tile:nth-child(6):last-child):has(.tile:nth-child(3):last-child) {
    margin-bottom: 10rem
    }
}

@media(min-width: 1024px) {

    .tiles--3-columns:has(.tile:nth-child(6):last-child),
    .tiles--4-columns:has(.tile:nth-child(1):last-child):has(.tile:nth-child(6):last-child),
    .tiles--4-columns:has(.tile:nth-child(2):last-child):has(.tile:nth-child(6):last-child),
    .tiles--4-columns:has(.tile:nth-child(3):last-child):has(.tile:nth-child(6):last-child),
    .tiles--4-columns:has(.tile:nth-child(5):last-child):has(.tile:nth-child(6):last-child),
    .tiles--4-columns:has(.tile:nth-child(6):last-child):has(.tile:nth-child(6):last-child) {
    margin-bottom: 5rem
    }
}

.tiles--2-columns,
.tiles--3-columns:has(.tile:nth-child(2):last-child),
.tiles--3-columns:has(.tile:nth-child(4):last-child) {
    --tiles-columns: 2
}

.tiles--2-columns .tile:nth-child(2n+1),
.tiles--3-columns:has(.tile:nth-child(2):last-child) .tile:nth-child(2n+1),
.tiles--3-columns:has(.tile:nth-child(4):last-child) .tile:nth-child(2n+1) {
    --parallax-ratio: calc(-0.025 * var(--tiles-columns));
    top: calc(0rem*var(--tiles-columns))
}

.tiles--2-columns .tile:nth-child(2n+2),
.tiles--3-columns:has(.tile:nth-child(2):last-child) .tile:nth-child(2n+2),
.tiles--3-columns:has(.tile:nth-child(4):last-child) .tile:nth-child(2n+2) {
    --parallax-ratio: calc(-0.05 * var(--tiles-columns));
    top: calc(3rem*var(--tiles-columns))
}

.tiles--2-columns:has(.tile:nth-child(8)) .tile,
.tiles--3-columns:has(.tile:nth-child(2):last-child):has(.tile:nth-child(8)) .tile,
.tiles--3-columns:has(.tile:nth-child(4):last-child):has(.tile:nth-child(8)) .tile {
    translate: 0 calc(.5*var(--parallax-translate))
}

.tiles--2-columns:has(.tile:nth-child(24)) .tile,
.tiles--3-columns:has(.tile:nth-child(2):last-child):has(.tile:nth-child(24)) .tile,
.tiles--3-columns:has(.tile:nth-child(4):last-child):has(.tile:nth-child(24)) .tile {
    translate: 0 calc(.25*var(--parallax-translate))
}

@media(min-width: 1024px) {

    .tiles--2-columns:has(.tile:nth-child(2):last-child),
    .tiles--3-columns:has(.tile:nth-child(2):last-child):has(.tile:nth-child(2):last-child),
    .tiles--3-columns:has(.tile:nth-child(4):last-child):has(.tile:nth-child(2):last-child) {
    margin-bottom: 10rem
    }
}

@media(min-width: 1024px) {

    .tiles--2-columns:has(.tile:nth-child(4):last-child),
    .tiles--3-columns:has(.tile:nth-child(2):last-child):has(.tile:nth-child(4):last-child),
    .tiles--3-columns:has(.tile:nth-child(4):last-child):has(.tile:nth-child(4):last-child) {
    margin-bottom: 5rem
    }
}

@media(min-width: 1024px) {
    .tiles.scroll-horizontal {
    max-width: 100%
    }
}

@media(max-width: 1023px) {
    .tiles.scroll-horizontal {
    grid-auto-flow: column
    }
}

.tooltip {
    display: inline-flex;
    position: relative
}

.no-js .tooltip {
    display: none
}

.tooltip[open] {
    z-index: 100
}

.tooltip[open] .tooltip__icon {
    color: var(--color-brand);
    opacity: 1
}

.tooltip[open] .tooltip__icon:before {
    opacity: 1;
    transform: scaleX(0.85) scaleY(1) rotate(45deg);
    transition-duration: var(--duration-slow);
    transition-property: opacity, transform
}

.tooltip__icon {
    display: inline-flex;
    cursor: pointer;
    line-height: 1;
    opacity: .8;
    transition-duration: var(--duration-fast);
    transition-property: color, opacity
}

.tooltip__icon svg {
    width: 1.25em;
    min-width: 1.8rem;
    height: auto
}

.tooltip__popup {
    position: absolute;
    left: -100vw;
    right: -100vw;
    bottom: 100%;
    max-width: 100vw;
    width: min-content;
    margin: 0 auto 2rem;
    padding: var(--wrapper-padding) calc(var(--wrapper-padding)/2) 0;
    animation: none;
    pointer-events: none
}

@media(forced-colors: active) {
    .tooltip__popup {
    border: 2px solid
    }
}

.tooltip__popup:after {
    content: "";
    position: absolute;
    top: 100%;
    left: -50%;
    right: -50%;
    z-index: 10;
    height: 2rem;
    width: 2rem;
    margin: -1rem auto 0;
    background-color: var(--color-background-dimmed);
    pointer-events: none;
    transform: rotate(45deg)
}

@media(forced-colors: active) {
    .tooltip__popup:after {
    border: 2px solid
    }
}

.tooltip__content {
    width: 50rem;
    max-width: 100%;
    padding: 2em 1.5em;
    background-color: var(--color-background-dimmed);
    box-shadow: var(--box-shadow);
    color: var(--color-primary);
    font-size: var(--font-size-tiny);
    pointer-events: auto;
    text-align: left;
    transform: translateX(var(--content-offset))
}

.tooltip__content .hs-richtext:not(:last-child) {
    margin-bottom: 1em
}

.tooltip__ok {
    color: var(--color-strong);
    font-size: var(--font-size-small);
    font-weight: bold;
    transition: color var(--duration-fast)
}

@media(hover: hover) {
    .tooltip__ok:hover {
    color: var(--color-secondary)
    }
}

:root {
    --wrapper-max-width: 120rem;
    --wrapper-max-width-wide: 148rem;
    --wrapper-padding: 5rem
}

@media(max-width: 1023px) {
    :root {
    --wrapper-padding: 3.2rem
    }
}

@media(max-width: 767px) {
    :root {
    --wrapper-padding: 2rem
    }
}

.wrapper {
    max-width: calc(var(--wrapper-max-width) + 2*var(--wrapper-padding));
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-left: var(--wrapper-padding);
    padding-right: var(--wrapper-padding)
}

@media(min-width: 1024px) {
    .wrapper--wide {
    --wrapper-max-width: var(--wrapper-max-width-wide)
    }
}

:root {
    --blog-post-padding-top: 9rem
}

@media(max-width: 767px) {
    :root {
    --blog-post-padding-top: 6rem
    }
}

.blog-post {
    padding-top: calc(var(--blog-post-padding-top) + var(--main-navbar-height)) !important;
}

.blog-post .wrapper {
    display: grid;
    grid-template-columns: 100%;
    grid-gap: 5rem !important;
    align-items: start
}

@media(min-width: 1024px) {
    .blog-post .wrapper {
    grid-template-columns: 1fr 54rem 10rem 1fr
    }
}

@media(min-width: 1024px) {

    .blog-post .tags,
    .blog-post .wrapper>.author,
    .blog-post__pagination {
    grid-column: 2/span 2
    }
}

@media(min-width: 1024px) {

    .blog-post__aside,
    .blog-post__cta {
    position: sticky;
    top: 10rem;
    transition: opacity var(--duration-default)
    }
}

.blog-post__progress {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 8000;
    width: 100%;
    transform: translateY(var(--main-navbar-visible-height, 0rem));
    transition: transform var(--duration-slow);
    will-change: transform
}

.no-js .blog-post__progress {
    display: none
}

.blog-post__progress-bar {
    display: block;
    height: 3px;
    width: 100%;
    -webkit-appearance: none;
    appearance: none;
    background: var(--color-brand);
    border: none;
    transform: scaleX(var(--progress-scale, 0));
    transform-origin: left;
    transition: transform var(--duration-fast);
    will-change: transform
}

.blog-post__progress-bar::-webkit-progress-bar {
    display: none
}

.blog-post__progress-bar::-moz-progress-bar {
    display: none;
    background: none
}

.theme--disruption-guide .blog-post__progress {
    transition: transform var(--duration-default)
}

.blog-post__aside {
    display: grid;
    gap: 3rem;
    z-index: 10
}

@media(max-width: 1349px) {
    .blog-post__aside {
    display: contents
    }
}

.blog-post__header {
    display: grid;
    gap: 5rem;
    position: relative;
    grid-column: 1/-1;
    text-align: center
}

@media(max-width: 1023px) {
    .blog-post__header {
    gap: 4rem
    }
}

.blog-post__header .heading {
    z-index: 10
}

@media(min-width: 1350px) {
    .blog-post__header .heading {
    font-size: 5rem
    }
}

.theme--default .blog-post__header .heading,
.theme--dimmed .blog-post__header .heading {
    color: var(--blog-header-font-color, var(--color-strong))
}

.blog-post__header .author:not(.blog-post__authors .author) {
    margin: 0 auto;
    max-width: fit-content;
    max-width: -moz-fit-content
}

.blog-post__header--themed {
    --color-dark: var(--color-gray-95);
    --image-ratio: var(--blog-post-hero-max-height) / var(--blog-post-hero-max-width);
    --image-width: min(calc(var(--blog-post-hero-max-width) * 1rem), calc(100vw - 2 * var(--wrapper-padding)));
    color: var(--blog-header-font-color)
}

.blog-post__header--themed::before {
    content: "";
    display: block;
    position: absolute;
    background-color: var(--blog-post-theme);
    width: 100vw;
    margin: 0 auto;
    right: -100vw;
    left: -100vw;
    top: -100vh;
    bottom: calc(var(--image-ratio, 0)*.5*var(--image-width, 0rem))
}

@media(prefers-color-scheme: dark) {
    .blog-post__header--themed::before {
    opacity: .5
    }
}

.blog-post__labels {
    display: inline-flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: .5em 2rem;
    color: var(--color-secondary)
}

.blog-post__labels .label {
    margin-bottom: 0
}

@media(hover: hover) {
    .blog-post__labels .label {
    transition: color var(--duration-fast)
    }

    .blog-post__labels .label:hover {
    color: var(--color-category, inherit)
    }
}

.blog-post__authors {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: var(--blog-post-content-max-width, 70rem);
    margin: 0 auto 7rem;
    gap: 4rem
}

@media(max-width: 767px) {
    .blog-post__authors {
    display: grid
    }
}

.blog-post__cta {
    font-size: var(--font-size-small);
    text-align: center
}

@media print {
    .blog-post__cta {
    display: none
    }
}

@media(min-width: 1350px) {
    .blog-post__cta {
    grid-column: 4;
    grid-row: 2
    }
}

@media(min-width: 1024px)and (max-width: 1349px) {
    .blog-post__cta {
    grid-column: 2/span 2
    }
}

@media(max-width: 1349px) {
    .blog-post__cta {
    position: static !important
    }
}

.blog-post__cta .hs-cta-img {
    display: none
}

@media(max-width: 1349px) {
    .blog-post__cta .cta_button .hs-cta-img {
    margin-top: 6rem;
    max-width: 30rem
    }
}

.blog-post__cta .custom-cta.cta_button {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 2.5rem 1.5rem;
    text-align: center;
    background-color: var(--color-background-dimmed)
}

@media(max-width: 1349px) {
    .blog-post__cta .custom-cta.cta_button {
    max-width: 100%;
    box-sizing: border-box !important
    }
}

.blog-post__cta .custom-cta.cta_button span[style*=underline] {
    text-decoration-color: var(--link-color-hover) !important;
    font-weight: bold;
    pointer-events: auto;
    margin-top: 1rem
}

.blog-post__cta .custom-cta.cta_button span[style*=underline]:after {
    transform: rotate(-45deg)
}

.blog-post__cta .custom-cta.cta_button span[style*=underline]:hover:after {
    transform: translateX(0.25em) rotate(-45deg)
}

.blog-post__cta .custom-cta h1,
.blog-post__cta .custom-cta h2,
.blog-post__cta .custom-cta h3,
.blog-post__cta .custom-cta h4,
.blog-post__cta .custom-cta h5,
.blog-post__cta .custom-cta h6 {
    font-weight: bold;
    font-size: var(--font-size-regular);
    line-height: var(--line-height-dense);
    color: var(--color-strong);
    margin-bottom: 1rem
}

.blog-post__cta .custom-cta p {
    display: contents
}

.blog-post__cta .custom-cta br {
    display: none
}

.blog-post__metrics {
    position: relative;
    z-index: 10;
    display: grid;
    grid-template-columns: 3fr 2fr;
    grid-gap: 3rem 10rem
}

@media(max-width: 1349px) {
    .blog-post__metrics {
    column-gap: 6rem
    }
}

@media(max-width: 1023px) {
    .blog-post__metrics {
    grid-template-columns: auto
    }
}

.blog-post__metrics .rich-text {
    font-size: var(--font-size-enlarged)
}

.blog-post__metrics-columns {
    position: relative;
    display: inherit;
    gap: 3rem;
    grid-template-columns: repeat(auto-fit, minmax(9em, 1fr));
    padding: 2.5rem 2rem;
    align-self: end
}

.blog-post__metrics-columns:before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -10;
    background-color: var(--color-strong);
    opacity: .1
}

.blog-post__metrics-column {
    font-size: var(--font-size-small)
}

.blog-post__metrics-column .label {
    display: inline-block;
    margin-bottom: 1.5em;
    word-break: break-word
}

.blog-post__metrics-column .link {
    color: inherit;
    font-weight: normal
}

.blog-post__metrics-column .link:not(span) {
    text-decoration: underline
}

@media(hover: hover) {
    .blog-post__metrics-column .link:not(span) {
    transition-property: opacity
    }

    .blog-post__metrics-column .link:not(span):hover {
    opacity: .7
    }
}

.blog-post__hero {
    width: 100% !important
}

.blog-post--bespoke .blog-post__body [data-hs-responsive-table=true] {
    overflow: initial
}

.blog-post .rich-text .infobox {
    width: 100%;
    padding: 3rem 5rem 4.5rem 2.5rem;
    background: var(--color-background-dimmed);
    border-radius: var(--border-radius);
    pointer-events: none;
    display: grid;
    grid-template-columns: auto 1fr;
    grid-column-gap: var(--gap-horizontal);
    align-items: center;
    box-sizing: border-box !important
}

.blog-post .rich-text .infobox::before {
    content: url(images/clip.svg);
    width: 5rem;
    height: 5rem;
    position: relative
}

.blog-post .rich-text .infobox p {
    font-size: var(--font-size-regular);
    font-weight: normal;
    line-height: 3rem;
    color: var(--color-primary);
    grid-column-end: -1
}

@media(max-width: 767px) {
    .blog-post .rich-text .infobox p {
    grid-column-start: 1
    }
}

.blog-post .rich-text .infobox p span[style*=underline] {
    text-decoration-color: var(--link-color-hover) !important;
    pointer-events: auto
}

.blog-post .rich-text .infobox h1,
.blog-post .rich-text .infobox h2,
.blog-post .rich-text .infobox h3,
.blog-post .rich-text .infobox h4,
.blog-post .rich-text .infobox h5,
.blog-post .rich-text .infobox h6 {
    font-size: var(--font-size-tiny);
    color: var(--color-secondary);
    text-transform: uppercase;
    letter-spacing: .1rem
}

.blog-post .rich-text .infobox h1:not(:last-child),
.blog-post .rich-text .infobox h2:not(:last-child),
.blog-post .rich-text .infobox h3:not(:last-child),
.blog-post .rich-text .infobox h4:not(:last-child),
.blog-post .rich-text .infobox h5:not(:last-child),
.blog-post .rich-text .infobox h6:not(:last-child) {
    margin-bottom: 0
}

@media print {

    .blog-post .rich-text .infobox h1,
    .blog-post .rich-text .infobox h2,
    .blog-post .rich-text .infobox h3,
    .blog-post .rich-text .infobox h4,
    .blog-post .rich-text .infobox h5,
    .blog-post .rich-text .infobox h6 {
    break-inside: avoid
    }
}

@media(max-width: 767px) {
    .blog-post .rich-text .infobox {
    padding: 2.5rem 2rem;
    grid-row-gap: var(--gap-horizontal)
    }
}

.blog-post__body,
.blog-post .tags,
.blog-post .wrapper>.author,
.blog-post__pagination {
    margin: 0 auto
}

@media(min-width: 1024px) {

    .blog-post__body,
    .blog-post .tags,
    .blog-post .wrapper>.author,
    .blog-post__pagination {
    grid-column: 2/span 2
    }
}

@media print {

    .blog-post__body,
    .blog-post .tags,
    .blog-post .wrapper>.author,
    .blog-post__pagination {
    max-width: none
    }
}

.blog-post__body {
    width: 100%
}

.blog-post__body .rich-text {
    font-size: var(--font-size-enlarged)
}

.blog-post__body .rich-text strong,
.blog-post__body .rich-text [data-style-font-weight-bold],
.blog-post__body .rich-text [data-mce-style="font-weight: bold;"] {
    color: var(--color-strong)
}

.blog-post__body .rich-text p:empty {
    display: none
}

.blog-post__body .rich-text #editor-hs_cos_wrapper_post_body-fake-selection {
    display: none
}

.blog-post__body .hs-cta-img {
    display: none
}

.blog-post__body table,
.blog-post__body th,
.blog-post__body tr,
.blog-post__body td {
    border: 1px solid var(--color-subtle)
}

.blog-post__body table {
    width: 100%;
    font-size: var(--font-size-small);
    color: var(--color-primary)
}

.blog-post__body table .heading {
    margin-top: 0 !important
}

.blog-post--disruption .blog-post__body table {
    text-align: center
}

.blog-post__body table:has(.image),
.hs-inline-edit .blog-post__body table:has(img) {
    border: none !important
}

.blog-post__body table:has(.image) tr,
.blog-post__body table:has(.image) td,
.hs-inline-edit .blog-post__body table:has(img) tr,
.hs-inline-edit .blog-post__body table:has(img) td {
    padding: 0 !important;
    background: none;
    border: none
}

.blog-post__body table:has(.image) [data-style-text-align-center],
.blog-post__body table:has(.image) [style*="text-align: center"],
.hs-inline-edit .blog-post__body table:has(img) [data-style-text-align-center],
.hs-inline-edit .blog-post__body table:has(img) [style*="text-align: center"] {
    padding-top: .5em !important;
    color: var(--color-secondary);
    font-size: var(--font-size-regular);
    font-style: italic;
    text-align: center
}

.hs-inline-edit .blog-post__body table:has(img) td {
    border: 1px dashed var(--color-subtle) !important
}

.blog-post__body tr:first-child {
    background: var(--color-background-dimmed);
    font-weight: bold;
    line-height: var(--line-height-dense)
}

.blog-post__body tr:not(:first-child) td[data-style-text-align-left],
.blog-post__body tr:not(:first-child) td[style*="text-align: left"] {
    text-align: left
}

.blog-post__body td {
    padding: 1.2rem
}

.blog-post__body [data-hs-responsive-table=true] {
    overflow-x: auto;
    margin-right: calc(-1*var(--gap-horizontal));
    padding-right: var(--gap-horizontal)
}

.blog-post__body .hs-embed-wrapper[data-service=youtube] .hs-embed-content-wrapper p,
.blog-post__body .hs-embed-wrapper[data-service=vimeo] .hs-embed-content-wrapper p,
.blog-post__body .hs-responsive-embed-wrapper.hs-responsive-embed .hs-embed-content-wrapper p {
    display: none
}

.blog-post__outline {
    display: grid;
    gap: 1em;
    justify-items: start;
    background: var(--color-background-dimmed);
    padding-left: 1.5rem;
    padding-right: 1.5rem;
    padding-bottom: 2rem;
    padding-top: 2.5rem;
    font-size: var(--font-size-small);
    line-height: var(--line-height-dense)
}

@media(min-width: 1350px) {
    .blog-post__outline {
    overflow-y: auto;
    max-height: calc(100vh - 20rem)
    }
}

@media(min-width: 1024px)and (max-width: 1349px) {
    .blog-post__outline {
    grid-column: 2/span 2
    }
}

.blog-post__outline .label {
    margin-bottom: .5em;
    font-size: 1.1rem
}

.blog-post__outline-list {
    display: grid;
    gap: 1em
}

.blog-post__outline-link .link {
    font-weight: inherit !important
}

.blog-post__outline-link:empty {
    display: none
}

.blog-post__outline-unfolded[open] .blog-post__outline-unfold {
    display: none
}

.blog-post__outline-unfold .link {
    cursor: pointer
}

.blog-post__outline-unfold .chevron {
    max-width: .7em;
    margin-left: .5em
}

.blog-post .wrapper>.author {
    grid-template-columns: auto auto;
    align-items: stretch;
    margin: 0 auto;
    width: 100%;
    background-color: var(--color-background-dimmed);
    padding: 2rem;
    overflow: hidden
}

@media(min-width: 768px) {
    .blog-post .wrapper>.author {
    min-height: 26rem
    }
}

@media(max-width: 767px) {
    .blog-post .wrapper>.author {
    grid-template-columns: auto
    }
}

.blog-post .wrapper>.author .author__info {
    flex: 1;
    order: -10;
    display: flex;
    flex-direction: column;
    padding: 3rem 0 3rem 2rem
}

@media(max-width: 1023px) {
    .blog-post .wrapper>.author .author__info {
    padding-left: 0
    }
}

.blog-post .wrapper>.author .author__info .icons {
    margin-top: auto;
    width: 100%
}

.blog-post .wrapper>.author .author__name {
    margin-bottom: 1em;
    color: var(--color-strong)
}

.blog-post .wrapper>.author .author__caption {
    margin-bottom: 2rem;
    color: var(--color-primary)
}

.blog-post .wrapper>.author .author__caption:before {
    content: none
}

.blog-post .wrapper>.author .author__photo {
    flex: 1 1 0;
    min-width: 18rem;
    display: flex;
    justify-content: flex-end;
    margin: auto 0 0 auto;
    border-radius: 0;
    border: 0
}

@media(max-width: 767px) {
    .blog-post .wrapper>.author .author__photo {
    width: 18rem
    }
}

.blog-post .wrapper>.author .author__photo .image__content {
    object-fit: contain;
    width: 100%;
    height: 100%
}

.blog-post__lead {
    margin-bottom: 1em;
    color: var(--color-strong);
    font-weight: 600
}

@media print {
    .blog-post .rich-text {
    columns: 1 auto
    }
}

.blog-post .rich-text>* {
    min-height: 1em
}

.blog-post .rich-text h2,
.blog-post .rich-text h3 {
    color: var(--color-strong);
    font-weight: bold
}

@media print {

    .blog-post .rich-text h2,
    .blog-post .rich-text h3 {
    break-inside: avoid
    }
}

.blog-post .rich-text h2:not(:first-child),
.blog-post .rich-text h3:not(:first-child) {
    margin-top: 2em
}

@media(max-width: 767px) {

    .blog-post .rich-text h2:not(:first-child),
    .blog-post .rich-text h3:not(:first-child) {
    margin-top: 1.5em
    }
}

.blog-post .rich-text h2:not(:last-child),
.blog-post .rich-text h3:not(:last-child) {
    margin-bottom: 1em
}

@media(max-width: 767px) {

    .blog-post .rich-text h2:not(:last-child),
    .blog-post .rich-text h3:not(:last-child) {
    margin-bottom: .75em
    }
}

.blog-post .rich-text h2 {
    font-size: var(--font-size-h2);
    line-height: var(--line-height-h2)
}

.blog-post .rich-text h3 {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3)
}

.blog-post .rich-text [data-style-font-weight-bold] {
    font-weight: bold
}

.blog-post .rich-text [data-style-font-style-italic] {
    font-style: italic
}

.blog-post .rich-text .image,
.blog-post .rich-text .cta_button.custom-cta {
    position: relative;
    display: block;
    font-size: 0;
    font-style: normal;
    text-align: center
}

.blog-post .rich-text .image:not(:first-child),
.blog-post .rich-text .cta_button.custom-cta:not(:first-child) {
    margin-top: 3rem
}

.blog-post .rich-text .image:not(:last-child),
.blog-post .rich-text .cta_button.custom-cta:not(:last-child) {
    margin-bottom: 3rem
}

.blog-post .rich-text .image {
    width: fit-content;
    margin-left: auto;
    margin-right: auto
}

.blog-post .rich-text .image a {
    position: relative;
    display: inline-block
}

.blog-post .rich-text .cta_button.custom-cta {
    padding: 0
}

.blog-post .rich-text .image a.blog-post__linked-image:not(:empty) {
    width: 100%
}

.blog-post .rich-text a.blog-post__linked-image:not(:empty) {
    position: relative;
    display: block;
    width: fit-content;
    margin-left: auto;
    margin-right: auto
}

.blog-post .rich-text a.blog-post__linked-image:not(:empty):after {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 20;
    display: grid;
    place-items: center;
    width: 100%;
    height: 100%;
    margin-left: 0;
    background-color: rgba(0, 0, 0, .5);
    background-image: url(images/link_white.svg);
    background-position: center;
    background-repeat: no-repeat;
    background-size: min(75%, 5rem) min(75%, 5rem);
    border-radius: var(--border-radius);
    font-size: 10rem;
    opacity: 0;
    transition: opacity var(--duration-default);
    will-change: opacity
}

.hs-inline-edit .blog-post .rich-text a.blog-post__linked-image:not(:empty):after {
    pointer-events: none
}

.blog-post .rich-text a.blog-post__linked-image:not(:empty)[target=_blank]:after {
    background-image: url(images/external_link_white.svg)
}

@media(hover: hover) {

    .blog-post .rich-text a.blog-post__linked-image:not(:empty):hover a:after,
    .blog-post .rich-text a.blog-post__linked-image:not(:empty):hover:after {
    opacity: 1
    }
}

.blog-post .rich-text hr {
    margin: 2em 0;
    border: none;
    border-top: .1rem solid var(--color-subtle)
}

.blog-post .rich-text ul,
.blog-post .rich-text ol {
    font-size: inherit
}

.blog-post .rich-text ul:not(:first-child):not(li ul),
.blog-post .rich-text ol:not(:first-child):not(li ol) {
    margin-top: 2em
}

.blog-post .rich-text ul:not(br+ul),
.blog-post .rich-text ol:not(br+ol) {
    margin-top: 1em
}

.blog-post .rich-text blockquote {
    margin-top: 5rem;
    margin-bottom: 5rem;
    padding: var(--gap-horizontal) 5rem;
    border-left: .3rem solid var(--color-brand);
    background: none;
    color: var(--color-strong)
}

@media(max-width: 1023px) {
    .blog-post .rich-text blockquote {
    padding: var(--gap-horizontal)
    }
}

.blog-post .rich-text blockquote strong,
.blog-post .rich-text blockquote [data-style-font-weight-bold],
.blog-post .rich-text blockquote [data-mce-style="font-weight: bold;"] {
    color: var(--color-brand)
}

.blog-post .rich-text blockquote p:not(table p) {
    color: var(--color-strong);
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3)
}

.blog-post .rich-text blockquote [data-hs-responsive-table] {
    display: contents
}

.blog-post .rich-text blockquote table {
    height: auto !important;
    margin-bottom: 0;
    border: none !important;
    font-size: var(--font-size-regular);
    text-align: left
}

@media print {
    .blog-post .rich-text blockquote table {
    break-inside: avoid
    }
}

.hs-inline-edit .blog-post .rich-text blockquote table {
    position: relative
}

.hs-inline-edit .blog-post .rich-text blockquote table:before {
    content: "author outline";
    position: absolute;
    bottom: 100%;
    left: 0;
    color: var(--color-subtle);
    font-size: var(--font-size-tiny)
}

.hs-inline-edit .blog-post .rich-text blockquote table td {
    border: 1px dashed var(--color-subtle) !important
}

.blog-post .rich-text blockquote table table {
    border: none !important;
    color: red
}

.blog-post .rich-text blockquote table tr:not(:first-child),
.blog-post .rich-text blockquote table td:nth-child(n+3) {
    display: none
}

.blog-post .rich-text blockquote table tr,
.blog-post .rich-text blockquote table td {
    height: auto !important;
    background: none !important
}

.blog-post .rich-text blockquote table tr {
    display: flex;
    gap: .5em 1em;
    border: none
}

.blog-post .rich-text blockquote table td {
    display: flex;
    flex-direction: column;
    width: auto !important;
    padding: 0 !important;
    border: none
}

.blog-post .rich-text blockquote table td:first-child {
    flex: 0 1 5rem;
    min-height: 5rem;
    margin-bottom: 0
}

.blog-post .rich-text blockquote table td:nth-child(n+2) {
    flex: 1 0 0;
    justify-content: space-between
}

.blog-post .rich-text blockquote table .image {
    margin: 0
}

.blog-post .rich-text blockquote table .image--framed:after {
    content: none
}

.blog-post .rich-text blockquote table img,
.blog-post .rich-text blockquote table .image__content {
    max-width: 5rem;
    max-height: 5rem
}

.blog-post .rich-text blockquote table p:first-child {
    color: var(--color-strong);
    font-weight: bold
}

.blog-post .rich-text blockquote table p:not(:first-child) {
    color: var(--color-secondary);
    font-size: var(--font-size-small);
    font-weight: normal
}

.blog-post .rich-text blockquote table p:not(:last-child) {
    margin-bottom: 0
}

.blog-post--disruption .blog-post__body .rich-text {
    margin-bottom: 0
}

.blog-post .tags {
    order: 10;
    width: 100%
}

.blog-post__pagination {
    display: grid;
    justify-items: center;
    gap: 4rem;
    width: 100%;
    margin-top: 6rem;
    margin-bottom: 10rem;
    padding: var(--wrapper-padding);
    background-color: var(--color-background-dimmed)
}

@media(min-width: 1024px) {
    .blog-post__pagination {
    grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr))
    }
}

@media(max-width: 1023px) {
    .blog-post__pagination {
    margin-top: 4rem;
    margin-bottom: 6rem;
    text-align: center
    }
}

.blog-post__pagination-prev:only-child,
.blog-post__pagination-next:only-child {
    text-align: center
}

@media(min-width: 1024px) {
    .blog-post__pagination-prev {
    text-align: right
    }
}

.blog-post__pagination .label {
    color: var(--color-secondary)
}

.blog-post__pagination .link {
    --link-underline-scale: 1.5;
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4)
}

.blog-post--bespoke .blog-post__header {
    text-align: left
}

.blog-post--bespoke .blog-post__header .heading, .blog-post--bespoke .blog-post__header .heading span {
    font-size: var(--font-size-h1);
}

.blog-post--disruption .blog-post__aside {
    margin-top: 0
}

.blog-post:not(:has(.blog-post__hero)) .blog-post__header {
    padding-bottom: 5rem
}

.logo-wall .logos {
    --logos-item-max-width: 13rem;
    grid-gap: 8rem 5rem;
    justify-content: space-around
}

@media(min-width: 1024px)and (max-width: 1349px) {
    .logo-wall .logos {
    column-gap: 8rem
    }
}

@media(max-width: 767px) {
    .logo-wall .logos {
    gap: 6rem 3rem
    }
}

.logo-wall .logos__item {
    filter: grayscale(100%)
}

@media(min-width: 768px) {
    .logo-wall .logos:has(.logos__item:nth-of-type(4)) {
    justify-content: space-between
    }
}

@media(min-width: 1024px) {
    .logo-wall.layout--1 .wrapper {
    grid-template-columns: minmax(auto, 75rem) auto;
    justify-content: space-between
    }
}

.logo-wall.layout--1 .heading {
    font-size: 5rem;
    line-height: 1.25
}

.logo-wall.layout--1 .button {
    align-self: end;
    justify-self: start
}

.logo-wall.layout--1 .logos {
    grid-column: 1/-1
}

.logo-wall.layout--2 .wrapper {
    display: flex;
    flex-direction: column
}

.logo-wall.layout--2 .logos {
    grid-auto-flow: column;
    grid-auto-columns: var(--logos-item-max-width);
    width: auto
}

:root {
    --main-navbar-height: 7.5rem;
    --main-navbar-visible-height: var(--main-navbar-height);
    --main-navbar-burger-height: 12px;
    --main-navbar-burger-line-height: 2px
}

@media(max-width: 1349px) {
    :root {
    --main-navbar-height: 7rem
    }
}

@media(max-width: 767px) {
    :root {
    --main-navbar-height: 6rem
    }
}

:root:has(.main-navbar.is-hidden) {
    --main-navbar-visible-height: 0rem
}

.main-navbar {
    --animation-from-translateY: -50%;
    animation-duration: var(--duration-ultraslow);
    animation-delay: .2s;
    animation-fill-mode: backwards;
    animation-name: opacity, translateY;
    animation-play-state: paused;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    height: var(--main-navbar-height);
    z-index: 1000;
    transition-property: opacity, transform, background-color;
    transition-duration: var(--duration-slow);
    will-change: transform
}

.main-navbar>.wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    height: 100%;
    gap: 3rem;
    transition-property: opacity, transform;
    transition-duration: var(--duration-default), var(--duration-slow);
    will-change: opacity, transform
}

@media(max-width: 1023px) {
    .main-navbar>.wrapper {
    gap: 1.5rem
    }
}

@media(max-width: 1023px) {
    .main-navbar>.wrapper {
    transition-property: opacity;
    will-change: opacity
    }
}

.main-navbar__skip {
    margin-right: 1em;
    font-size: var(--font-size-small);
    line-height: var(--line-height-dense);
    text-decoration-color: initial
}

.main-navbar__skip:not(:focus) {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0
}

.main-navbar .logo {
    width: 13rem;
    min-width: 10rem;
    z-index: 10
}

.main-navbar__burger {
    display: grid;
    grid-gap: calc(var(--main-navbar-burger-height) - 2*var(--main-navbar-burger-line-height));
    place-content: center;
    height: var(--main-navbar-burger-height);
    z-index: 1000
}

.main-navbar__burger:before,
.main-navbar__burger:after {
    content: "";
    display: block;
    width: 2.4rem;
    height: var(--main-navbar-burger-line-height);
    background-color: currentColor;
    transition: transform var(--duration-fast);
    will-change: transform
}

@media(min-width: 1024px) {
    .main-navbar__burger {
    display: none
    }
}

.main-navbar__menu {
    display: flex;
    position: relative
}

@media(min-width: 1024px) {
    .main-navbar__menu {
    animation: opacity var(--duration-slow) backwards
    }

    .main-navbar__menu:hover {
    --main-navbar-submenu-change-duration: var(--duration-default)
    }
}

@media(max-width: 1023px) {
    .main-navbar__menu {
    display: block;
    overflow-y: auto;
    position: fixed;
    inset: 0 0 -10rem 0;
    min-height: 100dvh;
    padding-top: var(--main-navbar-height);
    padding-bottom: 8rem;
    background: var(--color-background)
    }
}

@media(min-width: 1024px) {
    .main-navbar__menu:before {
    content: "";
    position: fixed;
    inset: var(--main-navbar-height, 100%) -100vw auto;
    z-index: -10;
    width: 100vw;
    height: var(--main-navbar-dropdown-max-height, 100%);
    margin-top: -1px;
    margin-left: auto;
    margin-right: auto;
    background-color: var(--color-background);
    border-bottom: 1px solid var(--color-subtle);
    transform: scaleY(var(--main-navbar-dropdown-scale, 1));
    transform-origin: top;
    transition-property: opacity, transform, visibility;
    transition-duration: var(--duration-default);
    transition-delay: var(--main-navbar-submenu-change-duration);
    will-change: transform
    }
}

@media(hover: hover) {
    .main-navbar__menu:hover:before {
    --animation-from-scaleY: var(--main-navbar-dropdown-off-scale, 1);
    --animation-to-scaleY: var(--main-navbar-dropdown-scale, 1);
    animation: scaleY var(--duration-default) var(--main-navbar-submenu-change-duration) backwards
    }
}

@media(hover: hover)and (hover: hover) {
    .main-navbar__menu:hover .main-navbar__level-0:not(:hover) .main-navbar__level-1 {
    transition-duration: 0ms
    }
}

@media(hover: hover)and (hover: hover) {
    .main-navbar__menu:not(:hover):before {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: none
    }
}

@media(hover: hover) {
    .main-navbar__menu:not(:hover) .main-navbar__level-1 {
    transition: none
    }
}

@media(hover: hover) {
    .main-navbar__menu:has(.main-navbar__level-0:hover) .main-navbar__level-0:not(:hover)>.link {
    opacity: .5
    }
}

@media(max-width: 1023px) {
    .main-navbar__menu:not(:has(.main-navbar__level-0.is-active)) .main-navbar__back {
    visibility: hidden
    }
}

.main-navbar__opener {
    position: absolute;
    inset: 0;
    z-index: -5
}

.is-tabbed .main-navbar__opener:focus {
    background-image: url("images/chevron-down-grey.svg");
    background-position: calc(100% - .75rem) calc(50% + .1rem);
    background-repeat: no-repeat;
    background-size: 1.2rem
}

body:not(.is-tabbed) .main-navbar__opener {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    border: 0
}

@media(min-width: 1024px) {
    .main-navbar__back {
    display: none
    }
}

@media(max-width: 1023px) {
    .main-navbar__back {
    position: fixed;
    top: 0;
    z-index: 10;
    display: flex;
    align-items: center;
    width: 100vw;
    padding: 1rem var(--wrapper-padding);
    height: var(--main-navbar-height);
    background-color: var(--color-background);
    font-weight: 600
    }

    .main-navbar__back:before {
    content: "";
    position: relative;
    display: block;
    height: 1em;
    width: 1em;
    margin-right: 1em;
    background-image: url("images/arrow-backward.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
    }
}

.main-navbar__label {
    text-decoration: underline;
    text-decoration-color: rgba(0, 0, 0, 0);
    transition: inherit
}

.main-navbar__level-0 {
    position: relative;
    display: flex;
    align-items: center;
    height: var(--main-navbar-height)
}

@media(min-width: 1024px) {
    .main-navbar__level-0 {
    flex-direction: column
    }
}

@media(max-width: 1023px) {
    .main-navbar__level-0 {
    border-bottom: 1px solid var(--color-subtle)
    }
}

@media(min-width: 1024px) {
    .main-navbar__level-0:after {
    content: "";
    order: 10;
    display: block;
    width: 100%;
    height: 2px;
    margin-top: -2px;
    background-color: var(--color-brand);
    opacity: 0;
    transition: opacity 0ms var(--main-navbar-submenu-change-duration);
    will-change: opacity
    }
}

.main-navbar__level-0>.link {
    margin: auto 2.5rem;
    color: var(--color-strong);
    transition-property: color, opacity, text-decoration-color
}

@media(max-width: 1349px) {
    .main-navbar__level-0>.link {
    margin: auto 1.5rem
    }
}

@media(max-width: 767px) {
    .main-navbar__level-0>.link {
    margin: auto 1rem;
    font-size: var(--font-size-small)
    }
}

@media(max-width: 1023px) {
    .main-navbar__level-0>.link {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    margin: 0;
    padding: var(--wrapper-padding);
    pointer-events: none
    }
}

@media(max-width: 1023px) {
    .main-navbar__level-0>.link:after {
    content: "";
    display: block;
    height: 1em;
    width: 1em;
    margin-left: 1em;
    background-image: url("images/arrow-forward.svg");
    background-position: center;
    background-repeat: no-repeat;
    background-size: contain
    }
}

@media(hover: hover) {
    .main-navbar__level-0>.link:hover {
    color: var(--color-strong)
    }
}

@media(min-width: 1024px) {

    .main-navbar__level-0:first-of-type:before,
    .main-navbar__level-0:last-of-type:before {
    content: "";
    position: absolute;
    inset: 0;
    bottom: 0;
    z-index: -5
    }
}

@media(min-width: 1024px) {
    .main-navbar__level-0:first-of-type:before {
    transform: skewX(-45deg)
    }
}

@media(min-width: 1024px) {
    .main-navbar__level-0:last-of-type:before {
    transform: skewX(45deg)
    }
}

@media(max-width: 1023px) {
    .main-navbar__level-0:not(.is-active) .main-navbar__level-1 {
    opacity: 0;
    visibility: hidden
    }
}

@media(min-width: 1024px)and (hover: hover) {

    .main-navbar__level-0:hover:after,
    .main-navbar__level-0.is-active:after {
    opacity: 1
    }

    .main-navbar__level-0:hover .main-navbar__level-1,
    .main-navbar__level-0.is-active .main-navbar__level-1 {
    opacity: 1;
    visibility: visible
    }

    .main-navbar__level-0.is-active .main-navbar__level-1 {
    background-color: var(--color-background);
    border-bottom: 1px solid var(--color-subtle)
    }
}

.main-navbar__level-1 {
    position: fixed;
    inset: var(--main-navbar-height) -50vw auto;
    width: 100vw;
    margin: 0 auto;
    padding: 5rem 0;
    border-top: 1px solid var(--color-subtle);
    color: var(--color-strong)
}

@media(min-width: 1024px) {
    .main-navbar__level-1 {
    max-height: calc(90vh - var(--main-navbar-height));
    opacity: 0;
    overflow-y: auto;
    visibility: hidden;
    transition-property: opacity, visibility;
    transition-duration: var(--duration-default);
    transition-delay: var(--main-navbar-submenu-change-duration);
    will-change: opacity
    }
}

@media(max-width: 767px) {
    .main-navbar__level-1 {
    padding-bottom: 0
    }
}

@media(max-width: 1023px) {
    .main-navbar__level-1 {
    z-index: 10;
    height: calc(100dvh - var(--main-navbar-height));
    padding-bottom: 0;
    padding-top: 3rem;
    background-color: var(--color-background);
    overflow-y: auto
    }
}

.main-navbar__level-1>.wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr)) 22rem;
    gap: 5rem;
    justify-content: center;
    align-content: start;
    height: 100%
}

@media(max-width: 1349px) {
    .main-navbar__level-1>.wrapper {
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr)) 18rem
    }
}

@media(max-width: 1023px) {
    .main-navbar__level-1>.wrapper {
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr));
    column-gap: 2rem;
    align-content: stretch
    }
}

.main-navbar__level-1>.wrapper>.link {
    font-weight: normal
}

.main-navbar__level-1>.wrapper:has(.main-navbar__level-2:nth-child(5)) {
    grid-template-rows: repeat(2, auto)
}

.main-navbar__level-1>.wrapper:has(.main-navbar__level-2:nth-child(9)) {
    grid-template-rows: repeat(3, auto)
}

.hs-inline-edit .main-navbar__level-1 {
    display: none
}

.main-navbar__level-2 {
    display: flex;
    flex-direction: column;
    align-items: start;
    gap: 1.5rem
}

@media(max-width: 1023px) {
    .main-navbar__level-2 {
    align-self: start
    }
}

.main-navbar__level-2 .link {
    font-weight: normal;
    line-height: var(--line-height-dense)
}

.main-navbar__level-2 .label {
    color: var(--color-secondary)
}

.main-navbar__level-2--all {
    padding-left: 5rem
}

@media(max-width: 1349px) {
    .main-navbar__level-2--all {
    padding-left: 3rem
    }
}

@media(min-width: 1024px) {
    .main-navbar__level-2--all {
    grid-column-end: -1;
    justify-content: end;
    grid-row: 1/-1;
    border-left: 1px solid var(--color-subtle)
    }
}

@media(max-width: 1023px) {
    .main-navbar__level-2--all {
    grid-column: 1/-1;
    padding: 2rem 0;
    align-items: end;
    position: sticky;
    bottom: 0;
    order: 10;
    background: var(--color-background);
    border-top: 1px solid var(--color-subtle);
    align-self: end
    }
}

.main-navbar__level-2--all .link {
    color: var(--color-strong);
    font-weight: 600;
    text-decoration: underline
}

.main-navbar__level-2--only,
.main-navbar__level-2--tiles {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(22rem, 1fr))
}

@media(max-width: 1349px) {

    .main-navbar__level-2--only,
    .main-navbar__level-2--tiles {
    grid-template-columns: repeat(auto-fit, minmax(20rem, 1fr))
    }
}

.main-navbar__level-2--only .label,
.main-navbar__level-2--tiles .label {
    grid-column: 1/-1
}

.main-navbar__level-2--only {
    place-items: start;
    gap: 3rem
}

@media(max-width: 1023px) {
    .main-navbar__level-2--only {
    grid-column: 1/-1
    }
}

.main-navbar__level-2--only .link {
    color: var(--color-strong)
}

@media(hover: hover) {
    .main-navbar__level-2--only .link {
    text-decoration-color: rgba(0, 0, 0, 0)
    }

    .main-navbar__level-2--only .link:hover,
    .main-navbar__level-2--only .link:focus {
    text-decoration-color: rgba(0, 0, 0, 0)
    }

    .main-navbar__level-2--only .link:hover .main-navbar__label,
    .main-navbar__level-2--only .link:focus .main-navbar__label {
    text-decoration-color: currentColor
    }
}

.main-navbar__level-2--tiles {
    grid-column: span 2;
    align-items: stretch;
    gap: 2rem 5rem;
    place-content: start
}

@media(max-width: 1023px) {
    .main-navbar__level-2--tiles {
    grid-template-columns: auto
    }
}

.main-navbar__level-2--tiles .tile {
    font-size: var(--font-size-small);
    padding: 1.5rem;
    width: auto;
    min-height: 0;
    min-width: 0;
    max-width: none
}

@media(max-width: 1023px) {
    .main-navbar__level-2--tiles .tile {
    aspect-ratio: auto;
    min-height: 0
    }
}

.main-navbar__level-2--tiles .tile:before {
    margin-bottom: 0
}

@media(max-width: 1023px) {
    .main-navbar__level-2--tiles .tile:before {
    margin-right: 1.5rem;
    padding-top: 0;
    aspect-ratio: 1
    }
}

@media(hover: hover) {
    .main-navbar__level-2--tiles .tile__link:hover .arrow-right {
    opacity: 1
    }
}

@media(max-width: 1023px) {
    .main-navbar__level-2--tiles .tile__hero {
    inset: 0 auto 0 0;
    width: auto !important;
    height: 100%;
    aspect-ratio: 1
    }
}

.main-navbar__level-2--tiles .tile__title {
    align-self: center
}

@media(max-width: 1023px) {
    .main-navbar__level-2--tiles .tile__title {
    align-self: center
    }
}

.main-navbar__level-2--tiles .tile .rich-text {
    color: var(--color-primary);
    font-size: var(--font-size-tiny)
}

.main-navbar__level-2--tiles .tile .arrow-right {
    inset: auto 1.5rem 1rem auto;
    max-width: 1.8rem;
    opacity: 0;
    transition-property: opacity, translate
}

@media(max-width: 1023px) {
    .main-navbar__level-2--tiles .tile:has(.tile__hero) {
    display: flex;
    height: 10rem;
    padding-top: 1.5rem
    }

    .main-navbar__level-2--tiles .tile:has(.tile__hero):before {
    content: "";
    aspect-ratio: 1
    }
}

@media(max-width: 767px) {
    .main-navbar__level-2--tiles~.main-navbar__level-2 {
    grid-column: span 2
    }
}

.main-navbar__sublabel {
    color: var(--color-secondary);
    font-size: var(--font-size-tiny)
}

.main-navbar .button {
    flex: none
}

@media(min-width: 1024px) {
    .main-navbar .button {
    animation: opacity var(--duration-slow) backwards;
    transition-property: background-color, color;
    transition-duration: var(--duration-fast)
    }
}

@media(max-width: 1023px) {
    .main-navbar .button {
    position: fixed;
    inset: calc(100dvh - var(--main-navbar-height, 7rem)) var(--wrapper-padding) auto;
    width: 20em;
    margin: 0 auto;
    padding: .6em 1.2em;
    animation: opacity var(--duration-slow)
    }
}

@media(max-width: 1023px) {
    .main-navbar.has-menu-opened .main-navbar__burger:before {
    transform: translateY(calc((var(--main-navbar-burger-height) - var(--main-navbar-burger-line-height)) / 2)) rotateZ(45deg)
    }
}

@media(max-width: 1023px) {
    .main-navbar.has-menu-opened .main-navbar__burger:after {
    transform: translateY(calc(-1 * (var(--main-navbar-burger-height) - var(--main-navbar-burger-line-height)) / 2)) rotateZ(-45deg)
    }
}

@media(max-width: 1023px) {
    .main-navbar:not(.has-menu-opened) .main-navbar__menu {
    visibility: hidden
    }
}

@media(max-width: 1023px) {
    .main-navbar:not(.has-menu-opened) .button {
    display: none
    }
}

.main-navbar:has(.main-navbar__level-0.is-active) .logo {
    visibility: hidden
}

@media(max-width: 1023px) {
    .main-navbar:has(.main-navbar__level-0.is-active) .button {
    animation: none;
    visibility: hidden
    }
}

.main-navbar.is-hidden {
    animation-duration: 0ms;
    animation-delay: 0ms;
    transform: translateY(-100%);
    pointer-events: none
}

.main-navbar.is-hidden>.wrapper {
    opacity: 0
}

@media(hover: hover) {
    .main-navbar:not(:hover):not(.is-hidden) {
    --main-navbar-submenu-change-duration: 0ms;
    transform: translateY(var(--main-navbar-translateY, 0));
    will-change: transform
    }

    .main-navbar:not(:hover):not(.is-hidden) .wrapper {
    transform: translateY(calc(-0.5 * var(--main-navbar-translateY, 0)))
    }
}

.main-navbar.theme--dark {
    background: none
}

.main-navbar.theme--dark .button {
    color: var(--color-strong);
    box-shadow: 0 0 0 max(2px, .15rem) rgba(255, 255, 255, .5019607843) inset;
    background: none
}

.main-navbar.is-loading-animation-on {
    animation-play-state: running
}

.n23-pages .tiles {
    align-items: start
}

.n23-pages__link {
    justify-self: end
}

@media(min-width: 1024px) {
    .n23-pages__link {
    --parallax-ratio: 0.1
    }
}

.testimonials .tiles {
    align-items: start
}

@media(min-width: 1024px) {
    .testimonials .tiles {
    grid-auto-flow: dense
    }
}

.testimonials .tiles .tile {
    gap: 2.5rem;
    place-content: space-between;
    min-height: 30rem;
    padding-top: 5rem
}

.testimonials .tiles .tile .rich-text {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4)
}

@media(min-width: 1024px) {
    .testimonials .tiles .tile:nth-child(odd) {
    --parallax-ratio: -0.1;
    grid-column-start: -2;
    top: 0
    }
}

@media(min-width: 1024px) {
    .testimonials .tiles .tile:nth-child(even) {
    --parallax-ratio: -0.2;
    --parallax-origin: 50vh;
    top: 12rem
    }
}

.testimonials .tiles--small .tile .rich-text {
    font-size: inherit;
    line-height: inherit
}

.testimonials .tiles:has(.tile:only-child) {
    --tiles-columns: 1;
    grid-template-columns: 100%
}

.testimonials .tiles:has(.tile:only-child):before {
    content: none
}

@media(min-width: 768px) {
    .testimonials .tiles:has(.tile:only-child).tiles--small .tile .rich-text {
    font-size: var(--font-size-h4);
    line-height: var(--line-height-h4)
    }
}

.testimonials .tiles:has(.tile:only-child) .tile,
.testimonials:not(.layout--1) .tile:last-child:not(.tiles .tile) {
    --parallax-ratio: 0;
    position: static;
    width: 87.5%;
    max-width: 80rem;
    min-width: 0
}

@media(max-width: 767px) {

    .testimonials .tiles:has(.tile:only-child) .tile,
    .testimonials:not(.layout--1) .tile:last-child:not(.tiles .tile) {
    width: 100%
    }
}

@media(min-width: 768px) {

    .testimonials .tiles:has(.tile:only-child) .tile .rich-text,
    .testimonials:not(.layout--1) .tile:last-child:not(.tiles .tile) .rich-text {
    font-size: var(--font-size-h3);
    line-height: var(--line-height-h3)
    }
}

.testimonials.layout--1 .tile {
    grid-template-columns: 16rem 1fr 10rem;
    grid-template-rows: auto auto 3rem;
    gap: 3rem 8rem;
    max-width: 100%;
    min-height: 0;
    padding: 0;
    background: none
}

@media(max-width: 1349px) {
    .testimonials.layout--1 .tile {
    column-gap: 4rem
    }
}

@media(max-width: 1023px) {
    .testimonials.layout--1 .tile {
    grid-template-columns: 12rem 1fr
    }
}

@media(max-width: 767px) {
    .testimonials.layout--1 .tile {
    grid-template-columns: auto;
    grid-template-rows: auto
    }
}

.testimonials.layout--1 .tile .rich-text {
    grid-row: 2;
    color: var(--color-strong);
    font-size: var(--font-size-h2);
    line-height: var(--line-height-dense)
}

@media(max-width: 1023px) {
    .testimonials.layout--1 .tile .rich-text {
    font-size: var(--font-size-h3)
    }
}

.testimonials.layout--1 .logo {
    align-self: end
}

.testimonials.layout--1 .author {
    align-self: start;
    gap: 1em
}

@media(min-width: 768px) {
    .testimonials.layout--1 .author {
    order: -10;
    grid-template-columns: auto;
    grid-row: 1/-1
    }
}

@media(min-width: 768px) {
    .testimonials.layout--1 .author .image {
    aspect-ratio: calc(var(--image-ratio)/100%)
    }
}

@media(max-width: 1023px) {
    .testimonials.layout--1 .author .image {
    width: 100%
    }
}

@media(max-width: 767px) {
    .testimonials.layout--1 .author .image {
    width: 6.5rem;
    height: 6.5rem
    }
}

@media(min-width: 768px) {
    .testimonials.layout--1 .author__name {
    font-size: var(--font-size-h4)
    }
}