/* BLOCK: Tabbed Content */

.block-tabbed-content {
    position: relative;
    isolation: isolate;
    overflow: hidden;
}

.block-tabbed-content .design-curve {
    --size: 46rem;
    --curve-size: 13rem;
    width: var(--size);
    height: var(--size);
    aspect-ratio: 1 / 1;
    position: absolute;
    top: 0;
    left: var(--offset);
    transform: translate(-40%, -50%);
    z-index: -1;
}

.block-tabbed-content .design-curve::after {
    content: "";
    position: absolute;
    z-index: -1;
    inset: calc(-1 * var(--curve-size));
    padding: var(--curve-size);
    border-radius: 50%;
    background: linear-gradient(-90deg, var(--c-gradient-primary));
    mask: 
        linear-gradient(#000 0 0) exclude, 
        linear-gradient(#000 0 0) content-box;
}

.block-tabbed-content .content-wrapper > .text-content {
    margin-bottom: 4rem;
    text-wrap: balance;
}

.block-tabbed-content .content-wrapper > .text-content :is(p, li) {
    color: var(--c-alto);
}

.block-tabbed-content .content-wrapper > .text-content > * {
    margin-block: 0 1.75rem;
}

.block-tabbed-content .content-wrapper > .text-content > :last-child {
    margin-bottom: 0;
}

.block-tabbed-content .tabs-wrapper {
    display: flex;
    text-wrap: nowrap;
    overflow: auto;
    margin-inline: calc(-1 * var(--pad, 0px));
    padding-inline: var(--pad, 0px);
    scroll-padding-inline: var(--pad, 0px);
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.block-tabbed-content .tabs-wrapper::-webkit-scrollbar {
    display: none;
}

.block-tabbed-content .tab {
    flex-basis: 100%;
    background: none;
    border: 0;
    padding: 2rem 1rem;
    outline: none;
    font-family: "Museo", sans-serif;
    font-size: var(--font-28-20);
    font-weight: 400;
    font-style: normal;
    line-height: 1;
    letter-spacing: -0.04em;
    border-bottom: 2px solid rgb(from var(--c-alto) r g b / .2);
}

.block-tabbed-content .tab--active,
.block-tabbed-content .tab:hover,
.block-tabbed-content .tab:focus-visible {
    border-color: white;
}

.block-tabbed-content .tab-content {
    --cols: 2;
    --gap: 1.875rem;
    margin-top: 3.75rem;
}

.block-tabbed-content .tab-content:not(.tab-content--active) {
    display: none;
}

@media screen and (width > 640px) {
    .block-tabbed-content .tab-content .container {
        display: flex;
        flex-flow: row wrap;
        gap: var(--gap);
    }
    .block-tabbed-content .tab-content-item {
        flex-basis: calc(100% / var(--cols) - ( var(--cols) - 1 ) * var(--gap) );
        flex-grow: 1;
    }
    .block-tabbed-content .tab-content-item:is(.stat_data, .graph) {
        --cols: 2;
    }
}

.block-tabbed-content .tab-content-item {
    box-shadow: 0px 0px 50px 0px #08172C14;
    background-color: rgb(255 255 255 / .12);
    border: 1px solid rgb(255 255 255 / .2);
    border-radius: var(--radius-l);
    padding: 2.125rem 2rem;
}

.block-tabbed-content .tab-content-item.image {
    position: relative;
    overflow: hidden;
    border: none;
}

.block-tabbed-content .tab-content-item--image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.block-tabbed-content .tab-content-item.text {
    font-size: var(--font-15-12);
    color: var(--c-alto);
}

.block-tabbed-content .tab-content-item.text p:not(:last-child) {
    margin-block: 0 1.875rem;
}

.block-tabbed-content .tab-content-item.text ul {
    padding: 0;
    margin: 0;
    list-style: none;
}

.block-tabbed-content .tab-content-item.text ul li {
    padding-left: 1.875rem;
    background: var(--i-marker) no-repeat top left;
    background-size: 1.25rem;
}

.block-tabbed-content .tab-content-item.text ul li:not(:last-child) {
    margin-bottom: 1.125rem;
}

.block-tabbed-content .tab-content-item h5 {
    margin-bottom: 2rem;
}

.block-tabbed-content .graph-viz {
    display: flex;
    gap: 2px;
    height: 4.375rem;
    margin-bottom: 2.25rem;
}

.block-tabbed-content .graph-bar {
    flex-basis: calc(var(--size, 100) * 1%);
    background-color: var(--color);
    display: grid;
    place-items: center;
    border: 1px solid rgb(255 255 255 / .3);
    transition: opacity 200ms ease;
}

.block-tabbed-content .graph-bar:first-child {
    border-radius: 0.25rem 0 0 0.25rem;
}

.block-tabbed-content .graph-bar:last-child {
    border-radius: 0 0.25rem 0.25rem 0;
}

.block-tabbed-content .graph-bar.text-light {
    color: white;
}

.block-tabbed-content .graph-bar.text-dark {
    color: var(--c-tertiary);
}

.block-tabbed-content:has(.graph-bar:hover) .graph-bar:not(:hover),
.block-tabbed-content:has(.graph-bar.hover) .graph-bar:not(.hover) {
    opacity: .5;
}

.block-tabbed-content .graph-legend {
    display: flex;
    flex-wrap: wrap;
    gap: 1.5rem;
}

.block-tabbed-content .graph-legend-item {
    display: flex;
    align-items: center;
    transition: opacity 200ms ease;
    font-size: var(--font-15-12);
    line-height: 1;
    color: var(--c-alto);
}

.block-tabbed-content .graph-legend-item::before {
    content: '';
    display: block;
    width: 1.125rem;
    height: 1.125rem;
    aspect-ratio: 1;
    border: 1px solid rgb(255 255 255 / .3);
    border-radius: 0.25rem;
    background-color: var(--color);
    margin-right: 0.5rem;
}

.block-tabbed-content:has(.graph-legend-item:hover) .graph-legend-item:not(:hover),
.block-tabbed-content:has(.graph-legend-item.hover) .graph-legend-item:not(.hover) {
    opacity: .5;
}

.block-tabbed-content .graph-legend-item strong {
    margin-right: 0.25rem;
}

.block-tabbed-content .stat-data-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 1.875rem 2.125rem;
    align-items: flex-start;
}

.block-tabbed-content .stat-data {
    flex-basis: calc(50% - 2.125rem);
    padding-left: 1.25rem;
    border-left: 2px solid white;
}


.block-tabbed-content .stat-data--value {
    line-height: 1;
}

.block-tabbed-content .stat-data--subtitle {
    font-size: var(--font-15-13);
    color: var(--c-alto);
    margin-top: 0.75rem;
}

.block-tabbed-content .splide:not(.is-overflow) .splide__pagination {
    display: flex;
}

.block-tabbed-content .splide__pagination {
    position: static;
    display: flex;
    align-items: center;
    gap: 0.375rem;
    margin-top: 2.5rem;
}

.block-tabbed-content .splide__pagination__page {
    width: 2.25rem;
    height: 2px;
    box-sizing: content-box;
    padding-block: 0.5rem;
    margin: -0.5rem 0;
    opacity: 1;
    border: 0;
    border-radius: 0;
    background-color: rgb(from var(--c-text-dark) r g b / .2);
    background-clip: content-box;
    transform: none;
    cursor: pointer;
}

.block-tabbed-content .splide__pagination__page.is-active {
    background-color: var(--c-tertiary);
}

.block-tabbed-content .splide.is-focus-in .splide__pagination__page:focus {
    outline-color: var(--c-tertiary);
}

.block-tabbed-content:is(.bg-gradient) .splide__pagination__page {
    background-color: rgb(255 255 255 / .2);
}

.block-tabbed-content:is(.bg-gradient) .splide__pagination__page.is-active {
    background-color: white;
}

@media screen and (width <= 640px) {
    .block-tabbed-content .design-curve {
        --size: 44rem;
        --curve-size: 11rem;
        transform: translate(-75%, -50%);
    }
    .block-tabbed-content .design-curve::after {
        background: linear-gradient(-110deg, var(--c-gradient-primary));
    }
    .block-tabbed-content .content-wrapper > .text-content {
        margin-bottom: 2.5rem;
    }
    .block-tabbed-content .content-wrapper > .text-content > :not(h6) {
        text-align: left !important;
        margin-bottom: 1.25rem;
    }
    .block-tabbed-content .content-wrapper > .text-content h6 {
        margin-left: 0 !important;
    }
    .block-tabbed-content .splide__track {
        margin-inline: calc(-1 * var(--pad, 0px));
    }
    .block-tabbed-content .tab {
        padding: 1.25rem 1.5rem;
    }
    .block-tabbed-content .tab-content {
        margin-top: 2.5rem;
    }
    .block-tabbed-content .tab-content-item {
        padding: 1.5rem;
    }
    .block-tabbed-content .tab-content-item h5 {
        margin-bottom: 1.75rem;
    }
    .block-tabbed-content .graph-viz {
        height: 2.5rem;
        margin-bottom: 1.5rem;
    }
    .block-tabbed-content .graph-legend {
        gap: 1.125rem 1.75rem;
    }
    .block-tabbed-content .graph-legend-item::before {
        margin-right: 0.375rem;
    }
    .block-tabbed-content .tab-content-item.text ul li {
        background-size: 1rem;
        padding-left: 1.75rem;
    }
    .block-tabbed-content .stat-data-wrapper {
        gap: 1.5rem .9rem;
    }
    .block-tabbed-content .stat-data {
        flex-basis: calc(50% - .45rem);
        padding-left: 1rem;
    }
    .block-tabbed-content .stat-data--subtitle {
        margin-top: 0.75rem;
    }
    .block-tabbed-content .tab-content-item.text ul li:not(:last-child) {
        margin-bottom: 1rem;
    }
}