*,
*::before,
*::after {
    box-sizing: inherit;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-smooth: always;
    text-rendering: optimizeLegibility;
}

html {
    box-sizing: border-box;
}

body {
    margin: 0;
    padding: 0;
}

svg,
canvas,
img {
    display: inline-block;
    max-width: 100%;
    vertical-align: bottom;
}

.sr-only {
    display: none;
}

#wpadminbar {
    position: fixed;
}

a:any-link {
    color: inherit;
}

a:where(:not(.wp-element-button)):hover,
a:where(:not(.wp-element-button)):active {
    text-decoration: none;
}

:root {
    --copy-line-height: 180%;
    --admin-bar-height: 0px;
    --site-header-height: 98px;
    --section-block-padding: 3rem;
    --section-inline-padding: 1.2rem;
    --section-width: 85%;
    --flex-block-gap: 1rem;
    --flex-inline-gap: 1rem;
    --grid-block-gap: 2rem;
    --grid-inline-gap: 1rem;
    --col-start: start;
    --col-end: end;
    --list-padding: 0 0 0 1.5rem;
    --card-border-radius: 10px;
    --card-padding: 1.8rem;
    --team-member-thumbnail-width: max(6vw, 120px);
    --tag-border-radius: 10px;
    --tag-padding-block: 10px;
    --tag-padding-inline: 16px;
    --button-border-radius: 8px;
    --button-border-width: 1px;
    --button-gap: 10px;
    --button-padding-block: 12px;
    --button-padding-inline: 26px;
    --field-border-radius: 10px;
    --field-padding-block: 22px 12px;
    --field-padding-inline: 14px;
    --label-blurred-padding-block: 6px;
    --label-focused-padding-block: 20px;
}

@media (max-width: 1023px) {
    :root {
        --section-width: 77rem;
    }
}

@media (min-width: 768px) {
    :root {
        --section-block-padding: 6rem;
    }
}

:root body.admin-bar {
    --admin-bar-height: 46px;
}

@media (min-width: 783px) {
    :root body.admin-bar {
        --admin-bar-height: 32px;
    }
}

[data-padding="card"] {
    padding: var(--card-padding);
}

@media (max-width: 1023px) {
    [data-mobile-padding="card"] {
        padding: var(--card-padding);
    }
}

@media (min-width: 1024px) {
    [data-desktop-padding="card"] {
        padding: var(--card-padding);
    }
}

@media (max-width: 1023px) {
    [data-mobile-text-align="centre"] {
        text-align: center;
    }
}

[data-aspect-ratio="news-card"] {
    aspect-ratio: 574/400;
}

[data-aspect-ratio="news-featured-card"] {
    aspect-ratio: 555/395;
}

[data-aspect-ratio="case-studies-card"] {
    aspect-ratio: 368/233;
}

[data-aspect-ratio="team-members-card"] {
    aspect-ratio: 1/1;
}

[data-layout="section-a"] {
    align-items: center;
    column-gap: var(--flex-inline-gap);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: var(--section-block-padding) var(--section-inline-padding);
    row-gap: var(--flex-block-gap);
}

[data-layout="section-a"] > * {
    flex: 1;
    margin: 0;
    padding: 0;
    width: 100%;
}

[data-layout="inner-a"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
}

[data-layout="inner-a"] > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="inner-a"] {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

[data-layout="inner-a"] > *[data-cols="indent-1"] {
    --col-start: indent-1-start;
    --col-end: indent-1-end;
}

[data-layout="inner-a"] > *[data-cols="indent-2"] {
    --col-start: indent-2-start;
    --col-end: indent-2-end;
}

[data-layout="inner-a"] > *[data-cols="indent-3"] {
    --col-start: indent-3-start;
    --col-end: indent-3-end;
}

[data-layout="inner-a"] > *[data-cols="indent-4"] {
    --col-start: indent-4-start;
    --col-end: indent-4-end;
}

@media (min-width: 1024px) {
    [data-layout="inner-a"] > *[data-desktop-cols="indent-1"] {
        --col-start: indent-1-start;
        --col-end: indent-1-end;
    }

    [data-layout="inner-a"] > *[data-desktop-cols="indent-2"] {
        --col-start: indent-2-start;
        --col-end: indent-2-end;
    }

    [data-layout="inner-a"] > *[data-desktop-cols="indent-3"] {
        --col-start: indent-3-start;
        --col-end: indent-3-end;
    }

    [data-layout="inner-a"] > *[data-desktop-cols="indent-4"] {
        --col-start: indent-4-start;
        --col-end: indent-4-end;
    }
}

[data-layout="inner-b"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
}

[data-layout="inner-b"] > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="inner-b"] {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

@media (min-width: 768px) {
    [data-layout="inner-b"] > :nth-child(1) {
        grid-column: start/third-quarter;
        grid-row: 1;
    }

    [data-layout="inner-b"] > :nth-child(2) {
        grid-row: 2;
    }

    [data-layout="inner-b"] > :nth-child(3) {
        grid-column: third-quarter/end;
        grid-row: 1;
        justify-self: flex-end;
    }
}

@media (min-width: 1024px) {
    [data-layout="inner-b"] > :nth-child(1) {
        grid-column: start/fourth-quarter;
    }

    [data-layout="inner-b"] > :nth-child(3) {
        grid-column: fourth-quarter/end;
    }
}

[data-layout="inner-c"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
}

[data-layout="inner-c"] > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="inner-c"] {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

@media (min-width: 1024px) {
    [data-layout="inner-c"] > :first-child {
        grid-column: start/third-third;
        grid-row: 1;
    }

    [data-layout="inner-c"] > :last-child {
        grid-column: third-third/end;
        grid-row: 1;
    }
}

[data-layout="inner-d"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
}

[data-layout="inner-d"] > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="inner-d"] {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

@media (min-width: 1024px) {
    [data-layout="inner-d"] > :first-child {
        grid-column: start/second-third;
        grid-row: 1;
    }

    [data-layout="inner-d"] > :last-child {
        grid-column: second-third/end;
        grid-row: 1;
    }
}

[data-layout="inner-e"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
}

[data-layout="inner-e"] > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="inner-e"] {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

[data-layout="inner-e"] .wp-block-elementary-site-footer__alpha-column {
    grid-column: start/end;
    grid-row: 1;
}

[data-layout="inner-e"] .wp-block-elementary-site-footer__beta-column {
    align-items: flex-start;
    grid-column: start/end;
    grid-row: 2;
}

[data-layout="inner-e"] .wp-block-elementary-site-footer__logos {
    position: relative;
    --grid-inline-gap: 2em;
}

[data-layout="inner-e"] .wp-block-elementary-site-footer__logos > img {
    position: relative !important;
    height: auto !important;
    -o-object-fit: scale-down !important;
    object-fit: scale-down !important;
}

@media (min-width: 1024px) {
    [data-layout="inner-e"] .wp-block-elementary-site-footer__alpha-column,
    [data-layout="inner-e"] .wp-block-elementary-site-footer__beta-column {
        grid-row: 1;
    }

    [data-layout="inner-e"] .wp-block-elementary-site-footer__logos {
        grid-row: 2;
    }

    [data-layout="inner-e"] .wp-block-elementary-site-footer__socials {
        grid-column: start/third-third;
    }

    [data-layout="inner-e"] .wp-block-elementary-site-footer__small_print {
        grid-column: start/fourth-quarter;
    }

    [data-layout="inner-e"] .wp-block-elementary-site-footer__alpha-column {
        grid-column: start/centre;
    }

    [data-layout="inner-e"] .wp-block-elementary-site-footer__beta-column {
        grid-column: centre/end;
    }

    [data-layout="inner-e"] .wp-block-elementary-site-footer__logos {
        grid-column: third-third/end;
    }

    [data-layout="inner-e"] .wp-block-elementary-site-footer__shapes {
        grid-row: 3;
        grid-column: fourth-quarter/end;
    }

    [data-layout="inner-e"] .wp-block-elementary-site-footer__socials {
        grid-row: 2;
    }

    [data-layout="inner-e"] .wp-block-elementary-site-footer__small_print {
        grid-row: 3;
    }
}

[data-layout="inner-f"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
}

[data-layout="inner-f"] > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="inner-f"] {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

@media (min-width: 1024px) {
    [data-layout="inner-f"] > * {
        grid-row: 1;
    }

    [data-layout="inner-f"]:not([data-direction="-1"]) > :first-child {
        grid-column: start/centre;
    }

    [data-layout="inner-f"]:not([data-direction="-1"]) > :last-child {
        grid-column: centre/end;
    }

    [data-layout="inner-f"][data-direction="-1"] > :first-child {
        grid-column: centre/end;
    }

    [data-layout="inner-f"][data-direction="-1"] > :last-child {
        grid-column: start/centre;
    }
}

[data-layout="inner-g"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
}

[data-layout="inner-g"] > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="inner-g"] {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

@media (min-width: 1024px) {
    [data-layout="inner-g"] > * {
        align-self: flex-start;
        grid-row: 1;
    }

    [data-layout="inner-g"] > :first-child {
        grid-column: 8 / span 5;
    }

    [data-layout="inner-g"] > :last-child {
        grid-column: start/span 7;
    }
}

[data-layout="inner-h"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
}

[data-layout="inner-h"] > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="inner-h"] {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

@media (min-width: 1920px) {
    [data-layout="inner-h"] > * {
        --col-start: indent-2-start;
        --col-end: indent-2-end;
    }
}

@media (min-width: 1024px) {
    [data-layout="inner-h"] > :nth-child(2n + 1) {
        grid-column: start/centre;
    }

    [data-layout="inner-h"] > :nth-child(2n + 2) {
        grid-column: centre/end;
    }
}

@media (min-width: 1920px) {
    [data-layout="inner-h"] > :nth-child(2n + 1) {
        grid-column: indent-1/centre;
    }

    [data-layout="inner-h"] > :nth-child(2n + 2) {
        grid-column: centre/end;
    }
}

[data-layout="inner-i"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
}

[data-layout="inner-i"] > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="inner-i"] {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

@media (min-width: 1920px) {
    [data-layout="inner-i"] > * {
        --col-start: indent-2-start;
        --col-end: indent-2-end;
    }
}

[data-layout="inner-j"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
}

[data-layout="inner-j"] > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="inner-j"] {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

@media (min-width: 1024px) {
    [data-layout="inner-j"] > * {
        grid-row: 1;
    }

    [data-layout="inner-j"]:not([data-direction="-1"]) > :first-child {
        grid-column: indent-1/indent-1-end;
    }

    [data-layout="inner-j"][data-direction="-1"] > :first-child {
        grid-column: indent-1/indent-1-end;
    }
}

[data-layout="grid-a"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    grid-template-columns: minmax(0, 1fr);
}

[data-layout="grid-a"] > * {
    margin: 0;
    padding: 0;
}

@media (max-width: 1023px) {
    [data-layout="grid-a"] > * {
        justify-self: center;
    }
}

@media (min-width: 1024px) {
    [data-layout="grid-a"] {
        grid-template-columns: max-content minmax(0, 1fr);
    }

    [data-layout="grid-a"] > :nth-child(1) {
        grid-row: 1 / span 2;
    }

    [data-layout="grid-a"] > :nth-child(2) {
        align-self: flex-end;
    }

    [data-layout="grid-a"] > :nth-child(3) {
        align-self: flex-start;
    }
}

[data-layout="grid-b"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    --column-count: 1;
    grid-template-columns:
        [start] repeat(var(--column-count), minmax(0, 1fr))
        [end];
}

[data-layout="grid-b"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="grid-b"] {
        --column-count: 2;
    }
}

[data-layout="grid-b"][data-has-featured="0"] {
    grid-template-rows: 1fr;
    grid-auto-rows: 0;
    overflow-y: hidden;
}

@media (min-width: 1024px) {
    [data-layout="grid-b"] {
        --column-count: 3;
    }

    [data-layout="grid-b"] > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/end;
    }
}

@media (min-width: 1920px) {
    [data-layout="grid-b"] > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/span 2;
    }

    [data-layout="grid-b"][data-has-featured="0"] {
        --column-count: 4;
    }
}

@media (max-width: 1919px) {
    [data-layout="grid-b"] > :nth-child(5) {
        display: none;
    }
}

@media (max-width: 1023px) {
    [data-mobile-layout="grid-b"] {
        column-gap: var(--grid-inline-gap);
        display: grid;
        margin: 0;
        row-gap: var(--grid-block-gap);
        padding: 0;
        --column-count: 1;
        grid-template-columns:
            [start] repeat(var(--column-count), minmax(0, 1fr))
            [end];
    }

    [data-mobile-layout="grid-b"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 1023px) and (min-width: 768px) {
    [data-mobile-layout="grid-b"] {
        --column-count: 2;
    }
}

@media (max-width: 1023px) {
    [data-mobile-layout="grid-b"][data-has-featured="0"] {
        grid-template-rows: 1fr;
        grid-auto-rows: 0;
        overflow-y: hidden;
    }
}

@media (max-width: 1023px) and (min-width: 1024px) {
    [data-mobile-layout="grid-b"] {
        --column-count: 3;
    }

    [data-mobile-layout="grid-b"]
        > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/end;
    }
}

@media (max-width: 1023px) and (min-width: 1920px) {
    [data-mobile-layout="grid-b"]
        > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/span 2;
    }

    [data-mobile-layout="grid-b"][data-has-featured="0"] {
        --column-count: 4;
    }
}

@media (max-width: 1023px) and (max-width: 1919px) {
    [data-mobile-layout="grid-b"] > :nth-child(5) {
        display: none;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="grid-b"] {
        column-gap: var(--grid-inline-gap);
        display: grid;
        margin: 0;
        row-gap: var(--grid-block-gap);
        padding: 0;
        --column-count: 1;
        grid-template-columns:
            [start] repeat(var(--column-count), minmax(0, 1fr))
            [end];
    }

    [data-desktop-layout="grid-b"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1024px) and (min-width: 768px) {
    [data-desktop-layout="grid-b"] {
        --column-count: 2;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="grid-b"][data-has-featured="0"] {
        grid-template-rows: 1fr;
        grid-auto-rows: 0;
        overflow-y: hidden;
    }
}

@media (min-width: 1024px) and (min-width: 1024px) {
    [data-desktop-layout="grid-b"] {
        --column-count: 3;
    }

    [data-desktop-layout="grid-b"]
        > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/end;
    }
}

@media (min-width: 1024px) and (min-width: 1920px) {
    [data-desktop-layout="grid-b"]
        > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/span 2;
    }

    [data-desktop-layout="grid-b"][data-has-featured="0"] {
        --column-count: 4;
    }
}

@media (min-width: 1024px) and (max-width: 1919px) {
    [data-desktop-layout="grid-b"] > :nth-child(5) {
        display: none;
    }
}

[data-layout="grid-c"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    --column-count: 1;
    grid-template-columns:
        [start] repeat(var(--column-count), minmax(0, 1fr))
        [end];
}

[data-layout="grid-c"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="grid-c"] {
        --column-count: 2;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="grid-c"] {
        column-gap: var(--grid-inline-gap);
        display: grid;
        margin: 0;
        row-gap: var(--grid-block-gap);
        padding: 0;
        --column-count: 1;
        grid-template-columns:
            [start] repeat(var(--column-count), minmax(0, 1fr))
            [end];
    }

    [data-desktop-layout="grid-c"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1024px) and (min-width: 768px) {
    [data-desktop-layout="grid-c"] {
        --column-count: 2;
    }
}

[data-layout="grid-d"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    --column-count: 3;
    grid-template-columns: repeat(var(--column-count), minmax(0, 1fr));
}

[data-layout="grid-d"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 960) {
    [data-layout="grid-d"] {
        --column-count: 4;
    }
}

@media (min-width: 1024px) {
    [data-layout="grid-d"] {
        --column-count: 7;
    }
}

[data-layout="grid-e"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    --column-count: 1;
    grid-template-columns: repeat(var(--column-count), minmax(0, 1fr));
}

[data-layout="grid-e"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 1024px) {
    [data-layout="grid-e"] {
        --column-count: 2;
    }

    [data-layout="grid-e"] > :nth-child(1) {
        grid-column: 1;
        grid-row: 1 / span 3;
    }

    [data-layout="grid-e"] > :nth-child(2),
    [data-layout="grid-e"] > :nth-child(3),
    [data-layout="grid-e"] > :nth-child(4) {
        grid-column: 2;
    }
}

[data-layout="grid-f"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    grid-template-columns: minmax(0, 1fr);
}

[data-layout="grid-f"] > * {
    margin: 0;
    padding: 0;
}

[data-layout="grid-f"] > * {
    grid-column: 1;
    grid-row: 1;
}

[data-layout="grid-g"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    align-items: center;
    grid-template-columns: minmax(0, 1fr);
    justify-content: center;
}

[data-layout="grid-g"] > * {
    margin: 0;
    padding: 0;
}

[data-layout="grid-g"] > * {
    grid-column: 1;
    grid-row: 1;
}

[data-layout="grid-h"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    --column-count: 1;
    grid-template-columns:
        [start] repeat(var(--column-count), minmax(0, 1fr))
        [end];
}

[data-layout="grid-h"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="grid-h"] {
        --column-count: 2;
    }

    [data-layout="grid-h"] > *:nth-child(odd):last-child {
        grid-column: start/end;
    }
}

[data-layout="grid-i"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    grid-template-columns: minmax(0, 1fr);
}

[data-layout="grid-i"] > * {
    margin: 0;
    padding: 0;
}

@media (max-width: 1023px) {
    [data-layout="grid-i"] > * {
        justify-self: center;
    }
}

@media (min-width: 1024px) {
    [data-layout="grid-i"] {
        grid-template-columns: max-content minmax(0, 1fr);
        grid-template-rows: max-content auto;
    }

    [data-layout="grid-i"] > :nth-child(1) {
        grid-row: 1 / span 2;
    }
}

[data-layout="grid-j"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    align-self: flex-start;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

[data-layout="grid-j"] > * {
    margin: 0;
    padding: 0;
}

[data-layout="grid-j"] > * {
    align-self: center;
    justify-self: center;
}

[data-layout="grid-k"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    grid-template-columns: minmax(0, 1fr);
}

[data-layout="grid-k"] > * {
    margin: 0;
    padding: 0;
}

@media (max-width: 1023px) {
    [data-layout="grid-k"] > * {
        align-self: center;
        justify-self: center;
    }
}

@media (min-width: 1024px) {
    [data-layout="grid-k"] {
        grid-template-columns: max-content minmax(0, 1fr);
        grid-template-rows: max-content auto;
    }

    [data-layout="grid-k"] > :nth-child(1) {
        align-self: center;
        grid-row: 1 / span 2;
    }
}

@media (max-width: 1023px) {
    [data-mobile-layout="grid-k"] {
        column-gap: var(--grid-inline-gap);
        display: grid;
        margin: 0;
        row-gap: var(--grid-block-gap);
        padding: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    [data-mobile-layout="grid-k"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 1023px) and (max-width: 1023px) {
    [data-mobile-layout="grid-k"] > * {
        align-self: center;
        justify-self: center;
    }
}

@media (max-width: 1023px) and (min-width: 1024px) {
    [data-mobile-layout="grid-k"] {
        grid-template-columns: max-content minmax(0, 1fr);
        grid-template-rows: max-content auto;
    }

    [data-mobile-layout="grid-k"] > :nth-child(1) {
        align-self: center;
        grid-row: 1 / span 2;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="grid-k"] {
        column-gap: var(--grid-inline-gap);
        display: grid;
        margin: 0;
        row-gap: var(--grid-block-gap);
        padding: 0;
        grid-template-columns: minmax(0, 1fr);
    }

    [data-desktop-layout="grid-k"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1024px) and (max-width: 1023px) {
    [data-desktop-layout="grid-k"] > * {
        align-self: center;
        justify-self: center;
    }
}

@media (min-width: 1024px) and (min-width: 1024px) {
    [data-desktop-layout="grid-k"] {
        grid-template-columns: max-content minmax(0, 1fr);
        grid-template-rows: max-content auto;
    }

    [data-desktop-layout="grid-k"] > :nth-child(1) {
        align-self: center;
        grid-row: 1 / span 2;
    }
}

[data-layout="grid-l"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    align-items: center;
    grid-template-columns: [start] minmax(0, 1fr) [end];
}

[data-layout="grid-l"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="grid-l"] {
        grid-template-columns: [start] 1fr max-content [end];
    }

    [data-layout="grid-l"] > :nth-child(1),
    [data-layout="grid-l"] > :nth-child(3) {
        grid-row: 1;
    }

    [data-layout="grid-l"] > :nth-child(2) {
        grid-row: 2;
    }
}

@media (max-width: 1023px) {
    [data-mobile-layout="grid-m"] {
        column-gap: var(--grid-inline-gap);
        display: grid;
        margin: 0;
        row-gap: var(--grid-block-gap);
        padding: 0;
        grid-template-columns: max-content minmax(0, 1fr);
        grid-template-rows: max-content auto;
    }

    [data-mobile-layout="grid-m"] > * {
        margin: 0;
        padding: 0;
    }
}

[data-layout="grid-n"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    --column-count: 1;
    grid-template-columns:
        [start] repeat(var(--column-count), minmax(0, 1fr))
        [end];
}

[data-layout="grid-n"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="grid-n"] {
        --column-count: 4;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="grid-n"] {
        column-gap: var(--grid-inline-gap);
        display: grid;
        margin: 0;
        row-gap: var(--grid-block-gap);
        padding: 0;
        --column-count: 1;
        grid-template-columns:
            [start] repeat(var(--column-count), minmax(0, 1fr))
            [end];
    }

    [data-desktop-layout="grid-n"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1024px) and (min-width: 768px) {
    [data-desktop-layout="grid-n"] {
        --column-count: 4;
    }
}

[data-layout="grid-o"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    --column-count: 1;
    grid-template-columns:
        [start] repeat(var(--column-count), minmax(0, 1fr))
        [end];
}

[data-layout="grid-o"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="grid-o"] {
        --column-count: 3;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="grid-o"] {
        column-gap: var(--grid-inline-gap);
        display: grid;
        margin: 0;
        row-gap: var(--grid-block-gap);
        padding: 0;
        --column-count: 1;
        grid-template-columns:
            [start] repeat(var(--column-count), minmax(0, 1fr))
            [end];
    }

    [data-desktop-layout="grid-o"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1024px) and (min-width: 768px) {
    [data-desktop-layout="grid-o"] {
        --column-count: 3;
    }
}

[data-layout="grid-p"] {
    column-gap: var(--grid-inline-gap);
    display: grid;
    margin: 0;
    row-gap: var(--grid-block-gap);
    padding: 0;
    --column-count: 1;
    grid-template-columns:
        [start] repeat(var(--column-count), minmax(0, 1fr))
        [end];
}

[data-layout="grid-p"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    [data-layout="grid-p"] {
        --column-count: 2;
    }
}

[data-layout="grid-p"][data-has-featured="0"] {
    grid-template-rows: 1fr;
    grid-auto-rows: 0;
    overflow-y: hidden;
}

@media (min-width: 1024px) {
    [data-layout="grid-p"] {
        --column-count: 3;
    }

    [data-layout="grid-p"] > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/end;
    }
}

@media (min-width: 1920px) {
    [data-layout="grid-p"] > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/span 2;
    }

    [data-layout="grid-p"][data-has-featured="0"] {
        --column-count: 4;
    }
}

@media (max-width: 1023px) {
    [data-mobile-layout="grid-p"] {
        column-gap: var(--grid-inline-gap);
        display: grid;
        margin: 0;
        row-gap: var(--grid-block-gap);
        padding: 0;
        --column-count: 1;
        grid-template-columns:
            [start] repeat(var(--column-count), minmax(0, 1fr))
            [end];
    }

    [data-mobile-layout="grid-p"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 1023px) and (min-width: 768px) {
    [data-mobile-layout="grid-p"] {
        --column-count: 2;
    }
}

@media (max-width: 1023px) {
    [data-mobile-layout="grid-p"][data-has-featured="0"] {
        grid-template-rows: 1fr;
        grid-auto-rows: 0;
        overflow-y: hidden;
    }
}

@media (max-width: 1023px) and (min-width: 1024px) {
    [data-mobile-layout="grid-p"] {
        --column-count: 3;
    }

    [data-mobile-layout="grid-p"]
        > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/end;
    }
}

@media (max-width: 1023px) and (min-width: 1920px) {
    [data-mobile-layout="grid-p"]
        > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/span 2;
    }

    [data-mobile-layout="grid-p"][data-has-featured="0"] {
        --column-count: 4;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="grid-p"] {
        column-gap: var(--grid-inline-gap);
        display: grid;
        margin: 0;
        row-gap: var(--grid-block-gap);
        padding: 0;
        --column-count: 1;
        grid-template-columns:
            [start] repeat(var(--column-count), minmax(0, 1fr))
            [end];
    }

    [data-desktop-layout="grid-p"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1024px) and (min-width: 768px) {
    [data-desktop-layout="grid-p"] {
        --column-count: 2;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="grid-p"][data-has-featured="0"] {
        grid-template-rows: 1fr;
        grid-auto-rows: 0;
        overflow-y: hidden;
    }
}

@media (min-width: 1024px) and (min-width: 1024px) {
    [data-desktop-layout="grid-p"] {
        --column-count: 3;
    }

    [data-desktop-layout="grid-p"]
        > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/end;
    }
}

@media (min-width: 1024px) and (min-width: 1920px) {
    [data-desktop-layout="grid-p"]
        > [data-featured="1"][data-featured-stretch="1"] {
        grid-column: start/span 2;
    }

    [data-desktop-layout="grid-p"][data-has-featured="0"] {
        --column-count: 4;
    }
}

[data-layout="flex-a"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: center;
    justify-content: space-between;
}

[data-layout="flex-a"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) and (max-width: 1023px) {
    [data-tablet-layout="flex-a"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        flex-direction: row;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: center;
        justify-content: space-between;
    }

    [data-tablet-layout="flex-a"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="flex-a"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: center;
        justify-content: space-between;
    }

    [data-desktop-layout="flex-a"] > * {
        margin: 0;
        padding: 0;
    }
}

[data-layout="flex-b"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: center;
    justify-content: flex-end;
}

[data-layout="flex-b"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 1024px) {
    [data-desktop-layout="flex-b"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: center;
        justify-content: flex-end;
    }

    [data-desktop-layout="flex-b"] > * {
        margin: 0;
        padding: 0;
    }
}

[data-layout="flex-c"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: center;
    flex-direction: column;
    justify-content: flex-start;
}

[data-layout="flex-c"] > * {
    margin: 0;
    padding: 0;
}

@media (max-width: 1023px) {
    [data-mobile-layout="flex-c"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: center;
        flex-direction: column;
        justify-content: flex-start;
    }

    [data-mobile-layout="flex-c"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (max-width: 1023px) {
    [data-mobile-layout="flex-d"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: center;
        flex-direction: column;
        justify-content: flex-start;
    }

    [data-mobile-layout="flex-d"] > * {
        margin: 0;
        padding: 0;
    }

    [data-mobile-layout="flex-d"] > :first-child {
        align-items: center;
        display: flex;
        flex: 1;
        flex-direction: column;
        justify-content: center;
    }

    [data-mobile-layout="flex-d"] > :last-child {
        margin-top: auto;
    }
}

[data-layout="flex-e"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    --grid-columns: 3;
    --flex-block-gap: 0;
    align-items: center;
    flex-wrap: wrap;
    justify-content: center;
}

[data-layout="flex-e"] > * {
    margin: 0;
    padding: 0;
}

[data-layout="flex-e"] > * {
    width: calc(100% / var(--grid-columns) - var(--flex-inline-gap));
    text-align: center;
    display: flex;
    align-items: center;
}

@media (min-width: 768px) {
    [data-layout="flex-e"] {
        --grid-columns: 6;
    }
}

@media (min-width: 1280px) {
    [data-layout="flex-e"] {
        --grid-columns: 9;
    }
}

[data-layout="flex-f"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
}

[data-layout="flex-f"] > * {
    margin: 0;
    padding: 0;
}

@media (max-width: 1023px) {
    [data-mobile-layout="flex-f"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: stretch;
        flex-direction: column;
        justify-content: flex-start;
    }

    [data-mobile-layout="flex-f"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="flex-g"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: center;
        justify-content: flex-start;
    }

    [data-desktop-layout="flex-g"] > * {
        margin: 0;
        padding: 0;
    }

    [data-desktop-layout="flex-g"][data-direction="-1"] {
        flex-direction: row-reverse;
    }

    [data-desktop-layout="flex-g"] > * {
        flex: 1;
    }
}

[data-layout="flex-h"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: center;
    justify-content: flex-start;
}

[data-layout="flex-h"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) and (max-width: 1023px) {
    [data-tablet-layout="flex-h"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        flex-direction: row;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: center;
        justify-content: flex-start;
    }

    [data-tablet-layout="flex-h"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="flex-h"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: center;
        justify-content: flex-start;
    }

    [data-desktop-layout="flex-h"] > * {
        margin: 0;
        padding: 0;
    }
}

[data-layout="flex-i"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: center;
    justify-content: center;
}

[data-layout="flex-i"] > * {
    margin: 0;
    padding: 0;
}

@media (max-width: 1023px) {
    [data-mobile-layout="flex-i"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: center;
        justify-content: center;
    }

    [data-mobile-layout="flex-i"] > * {
        margin: 0;
        padding: 0;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="flex-i"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: center;
        justify-content: center;
    }

    [data-desktop-layout="flex-i"] > * {
        margin: 0;
        padding: 0;
    }
}

[data-layout="flex-j"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
}

[data-layout="flex-j"] > * {
    margin: 0;
    padding: 0;
}

[data-layout="flex-j"] > :last-child {
    flex: 1;
}

[data-layout="flex-k"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: stretch;
    flex-direction: column;
    justify-content: flex-start;
}

[data-layout="flex-k"] > * {
    margin: 0;
    padding: 0;
}

[data-layout="flex-k"] > :last-child {
    margin-top: auto;
}

[data-layout="flex-l"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: stretch;
    justify-content: flex-start;
}

[data-layout="flex-l"] > * {
    margin: 0;
    padding: 0;
}

[data-layout="flex-l"] > * {
    flex: 1;
}

@media (min-width: 768px) and (max-width: 1023px) {
    [data-tablet-layout="flex-l"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        flex-direction: row;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: stretch;
        justify-content: flex-start;
    }

    [data-tablet-layout="flex-l"] > * {
        margin: 0;
        padding: 0;
    }

    [data-tablet-layout="flex-l"] > * {
        flex: 1;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="flex-l"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: stretch;
        justify-content: flex-start;
    }

    [data-desktop-layout="flex-l"] > * {
        margin: 0;
        padding: 0;
    }

    [data-desktop-layout="flex-l"] > * {
        flex: 1;
    }
}

[data-layout="flex-n"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: flex-start;
    flex-direction: column;
}

[data-layout="flex-n"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 1024px) {
    [data-desktop-layout="flex-n"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: flex-start;
        flex-direction: column;
    }

    [data-desktop-layout="flex-n"] > * {
        margin: 0;
        padding: 0;
    }
}

[data-layout="flex-o"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: stretch;
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
}

[data-layout="flex-o"] > * {
    margin: 0;
    padding: 0;
}

[data-layout="flex-o"] > a {
    display: flex;
    align-items: stretch;
    height: 100%;
    flex-direction: column;
    justify-content: flex-start;
}

@media (max-width: 1023px) {
    [data-layout="flex-o"] > a > :last-child {
        flex: 1;
    }
}

@media (min-width: 1024px) {
    [data-layout="flex-o"][data-featured="0"] > a > :last-child {
        flex: 1;
    }

    [data-layout="flex-o"][data-featured="1"] > a > * {
        width: 50%;
    }

    [data-layout="flex-o"][data-featured="1"][data-direction="1"] > a {
        flex-direction: row;
    }

    [data-layout="flex-o"][data-featured="1"][data-direction="-1"] > a {
        flex-direction: row-reverse;
    }
}

[data-layout="flex-p"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: flex-start;
    justify-content: center;
}

[data-layout="flex-p"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 1024px) {
    [data-desktop-layout="flex-p"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: flex-start;
        justify-content: center;
    }

    [data-desktop-layout="flex-p"] > * {
        margin: 0;
        padding: 0;
    }
}

[data-layout="flex-q"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: center;
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
}

[data-layout="flex-q"] > * {
    margin: 0;
    padding: 0;
}

@media (min-width: 1024px) {
    [data-layout="flex-q"] {
        align-items: flex-start;
        flex-direction: row;
    }

    [data-layout="flex-q"] > :first-child {
        flex: max-content 0 0;
    }

    [data-layout="flex-q"] > :last-child {
        flex: 1;
    }
}

@media (min-width: 1024px) {
    [data-desktop-layout="flex-r"] {
        column-gap: var(--flex-inline-gap);
        display: flex;
        margin: 0;
        row-gap: var(--flex-block-gap);
        padding: 0;
        align-items: center;
        flex-direction: row-reverse;
        flex-wrap: wrap;
        justify-content: flex-end;
    }

    [data-desktop-layout="flex-r"] > * {
        margin: 0;
        padding: 0;
    }
}

[data-layout="flex-s"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: center;
    flex-direction: column;
    justify-content: center;
}

[data-layout="flex-s"] > * {
    margin: 0;
    padding: 0;
}

[data-layout="flex-t"] {
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
    align-items: flex-start;
    justify-content: flex-start;
}

[data-layout="flex-t"] > * {
    margin: 0;
    padding: 0;
}

[data-layout*="section"]:not([class*="-background-color"]),
.has-white-background-color {
    --bg-colour: #fff;
    --fg-colour: #040404;
    --small-print-colour: #5c5c5c;
    --copy-colour: #414141;
    --border-colour: #f8ca44;
    --card-border-colour: #d2d2d2;
    --primary-button-off-bg-colour: #f8ca44;
    --primary-button-off-fg-colour: #040404;
    --primary-button-off-border-colour: #f8ca44;
    --primary-button-on-bg-colour: #fff;
    --primary-button-on-fg-colour: #040404;
    --primary-button-on-border-colour: #f8ca44;
    --secondary-button-off-bg-colour: transparent;
    --secondary-button-off-fg-colour: #040404;
    --secondary-button-off-border-colour: #f8ca44;
    --secondary-button-on-bg-colour: #f8ca44;
    --secondary-button-on-fg-colour: #040404;
    --secondary-button-on-border-colour: #f8ca44;
    --link-off-colour: #040404;
    --link-on-colour: #040404;
    --tag-off-colour: #040404;
    --tag-on-colour: #040404;
    --tag-border-off-colour: #f8ca44;
    --tag-border-on-colour: #f8ca44;
    --no-tag-off-colour: #5c5c5c;
    --no-tag-on-colour: #5c5c5c;
    --primary-icon-off-colour: #2d0a48;
    --primary-icon-on-colour: #ff00ff;
    --secondary-icon-off-colour: #040404;
    --secondary-icon-on-colour: #f8ca44;
    --alt-bg-colour: #2d0a48;
    --alt-fg-colour: #fff;
    --alt-link-off-colour: #fff;
    --alt-link-on-colour: #f8ca44;
    --cycled-colour-1: #eb5a7c;
    --cycled-colour-2: #7228aa;
    --cycled-colour-3: #70e4d4;
    --cycled-colour-4: #f8ca44;
    --field-border-off-colour: #d2d2d2;
    --field-border-on-colour: #5c5c5c;
    --field-color: #5c5c5c;
    --field-error-colour: #5c5c5c;
}

.has-violet-background-color {
    --bg-colour: #2d0a48;
    --fg-colour: #fff;
    --small-print-colour: #ff00ff;
    --copy-colour: #fff;
    --border-colour: #d2d2d2;
    --card-border-colour: #ff00ff;
    --primary-button-off-bg-colour: #f8ca44;
    --primary-button-off-fg-colour: #040404;
    --primary-button-off-border-colour: #f8ca44;
    --primary-button-on-bg-colour: #fff;
    --primary-button-on-fg-colour: #040404;
    --primary-button-on-border-colour: #f8ca44;
    --secondary-button-off-bg-colour: #ff00ff;
    --secondary-button-off-fg-colour: #ff00ff;
    --secondary-button-off-border-colour: #ff00ff;
    --secondary-button-on-bg-colour: #ff00ff;
    --secondary-button-on-fg-colour: #ff00ff;
    --secondary-button-on-border-colour: #ff00ff;
    --link-off-colour: #fff;
    --link-on-colour: #f8ca44;
    --tag-off-colour: #ff00ff;
    --tag-on-colour: #ff00ff;
    --tag-border-off-colour: #ff00ff;
    --tag-border-on-colour: #ff00ff;
    --no-tag-off-colour: #ff00ff;
    --no-tag-on-colour: #ff00ff;
    --primary-icon-off-colour: #fff;
    --primary-icon-on-colour: #f8ca44;
    --secondary-icon-off-colour: #f8ca44;
    --secondary-icon-on-colour: #f8ca44;
    --alt-bg-colour: #7228aa;
    --alt-fg-colour: #fff;
    --alt-link-off-colour: #fff;
    --alt-link-on-colour: #f8ca44;
    --cycled-colour-1: #eb5a7c;
    --cycled-colour-2: #7228aa;
    --cycled-colour-3: #70e4d4;
    --cycled-colour-4: #f8ca44;
    --field-border-off-colour: #d2d2d2;
    --field-border-on-colour: #5c5c5c;
    --field-color: #5c5c5c;
    --field-error-colour: #5c5c5c;
}

.has-casablanca-background-color {
    --bg-colour: #f8ca44;
    --fg-colour: #040404;
    --small-print-colour: #ff00ff;
    --copy-colour: #040404;
    --border-colour: #ff00ff;
    --card-border-colour: #ff00ff;
    --primary-button-off-bg-colour: #fff;
    --primary-button-off-fg-colour: #040404;
    --primary-button-off-border-colour: #daa81c;
    --primary-button-on-bg-colour: #daa81c;
    --primary-button-on-fg-colour: #fff;
    --primary-button-on-border-colour: #daa81c;
    --secondary-button-off-bg-colour: #ff00ff;
    --secondary-button-off-fg-colour: #ff00ff;
    --secondary-button-off-border-colour: #ff00ff;
    --secondary-button-on-bg-colour: #ff00ff;
    --secondary-button-on-fg-colour: #ff00ff;
    --secondary-button-on-border-colour: #ff00ff;
    --link-off-colour: #040404;
    --link-on-colour: #040404;
    --tag-off-colour: #ff00ff;
    --tag-on-colour: #ff00ff;
    --tag-border-off-colour: #ff00ff;
    --tag-border-on-colour: #ff00ff;
    --no-tag-off-colour: #ff00ff;
    --no-tag-on-colour: #ff00ff;
    --primary-icon-off-colour: #262626;
    --primary-icon-on-colour: #ff00ff;
    --secondary-icon-off-colour: #ff00ff;
    --secondary-icon-on-colour: #ff00ff;
    --alt-bg-colour: #ff00ff;
    --alt-fg-colour: #ff00ff;
    --alt-link-off-colour: #ff00ff;
    --alt-link-on-colour: #ff00ff;
    --cycled-colour-1: #ff00ff;
    --cycled-colour-2: #ff00ff;
    --cycled-colour-3: #ff00ff;
    --cycled-colour-4: #ff00ff;
    --field-border-off-colour: #d2d2d2;
    --field-border-on-colour: #5c5c5c;
    --field-color: #5c5c5c;
    --field-error-colour: #5c5c5c;
}

.has-aquamarine-background-color {
    --bg-colour: #70e4d4;
    --fg-colour: #040404;
    --small-print-colour: #ff00ff;
    --copy-colour: #040404;
    --border-colour: #ff00ff;
    --card-border-colour: #ff00ff;
    --primary-button-off-bg-colour: #ff00ff;
    --primary-button-off-fg-colour: #ff00ff;
    --primary-button-off-border-colour: #ff00ff;
    --primary-button-on-bg-colour: #ff00ff;
    --primary-button-on-fg-colour: #ff00ff;
    --primary-button-on-border-colour: #ff00ff;
    --secondary-button-off-bg-colour: #ff00ff;
    --secondary-button-off-fg-colour: #ff00ff;
    --secondary-button-off-border-colour: #ff00ff;
    --secondary-button-on-bg-colour: #ff00ff;
    --secondary-button-on-fg-colour: #ff00ff;
    --secondary-button-on-border-colour: #ff00ff;
    --link-off-colour: #ff00ff;
    --link-on-colour: #ff00ff;
    --tag-off-colour: #ff00ff;
    --tag-on-colour: #ff00ff;
    --tag-border-off-colour: #ff00ff;
    --tag-border-on-colour: #ff00ff;
    --no-tag-off-colour: #ff00ff;
    --no-tag-on-colour: #ff00ff;
    --primary-icon-off-colour: #ff00ff;
    --primary-icon-on-colour: #ff00ff;
    --secondary-icon-off-colour: #ff00ff;
    --secondary-icon-on-colour: #ff00ff;
    --alt-bg-colour: #fff;
    --alt-fg-colour: #ff00ff;
    --alt-link-off-colour: #ff00ff;
    --alt-link-on-colour: #ff00ff;
    --cycled-colour-1: #ff00ff;
    --cycled-colour-2: #ff00ff;
    --cycled-colour-3: #ff00ff;
    --cycled-colour-4: #ff00ff;
    --field-border-off-colour: #d2d2d2;
    --field-border-on-colour: #5c5c5c;
    --field-color: #5c5c5c;
    --field-error-colour: #5c5c5c;
}

.has-purple-heart-background-color {
    --bg-colour: #7228aa;
    --fg-colour: #fff;
    --small-print-colour: #ff00ff;
    --copy-colour: #fff;
    --border-colour: #fff;
    --card-border-colour: #ff00ff;
    --primary-button-off-bg-colour: #f8ca44;
    --primary-button-off-fg-colour: #040404;
    --primary-button-off-border-colour: #f8ca44;
    --primary-button-on-bg-colour: #fff;
    --primary-button-on-fg-colour: #040404;
    --primary-button-on-border-colour: #f8ca44;
    --secondary-button-off-bg-colour: #ff00ff;
    --secondary-button-off-fg-colour: #ff00ff;
    --secondary-button-off-border-colour: #ff00ff;
    --secondary-button-on-bg-colour: #ff00ff;
    --secondary-button-on-fg-colour: #ff00ff;
    --secondary-button-on-border-colour: #ff00ff;
    --link-off-colour: #fff;
    --link-on-colour: #f8ca44;
    --tag-off-colour: #ff00ff;
    --tag-on-colour: #ff00ff;
    --tag-border-off-colour: #ff00ff;
    --tag-border-on-colour: #ff00ff;
    --no-tag-off-colour: #ff00ff;
    --no-tag-on-colour: #ff00ff;
    --primary-icon-off-colour: #fff;
    --primary-icon-on-colour: #f8ca44;
    --secondary-icon-off-colour: #f8ca44;
    --secondary-icon-on-colour: #f8ca44;
    --alt-bg-colour: #7228aa;
    --alt-fg-colour: #fff;
    --alt-link-off-colour: #fff;
    --alt-link-on-colour: #f8ca44;
    --cycled-colour-1: #eb5a7c;
    --cycled-colour-2: #7228aa;
    --cycled-colour-3: #70e4d4;
    --cycled-colour-4: #f8ca44;
    --field-border-off-colour: #d2d2d2;
    --field-border-on-colour: #5c5c5c;
    --field-color: #5c5c5c;
    --field-error-colour: #5c5c5c;
}

[data-layout*="section"]:not([class*="-background-color"])
    + [data-layout*="section"]:not([class*="-background-color"]),
[data-layout*="section"]:not([class*="-background-color"])
    + .has-white-background-color,
.has-white-background-color
    + [data-layout*="section"]:not([class*="-background-color"]),
.has-white-background-color + .has-white-background-color,
.has-casablanca-background-color + .has-casablanca-background-color,
.has-violet-background-color + .has-violet-background-color,
.has-aquamarine-background-color + .has-aquamarine-background-color,
.has-purple-heart-background-color + .has-purple-heart-background-color {
    padding-top: 0;
}

[data-layout*="section"]:not([class*="-background-color"]),
.has-white-background-color,
.has-violet-background-color,
.has-casablanca-background-color,
.has-aquamarine-background-color,
.has-purple-heart-background-color {
    background-color: var(--bg-colour);
    color: var(--fg-colour);
}

[data-layout*="section"]:not([class*="-background-color"]) .link,
.has-white-background-color .link,
.has-violet-background-color .link,
.has-casablanca-background-color .link,
.has-aquamarine-background-color .link,
.has-purple-heart-background-color .link {
    color: var(--link-off-colour);
}

[data-layout*="section"]:not([class*="-background-color"]) .link:hover,
.has-white-background-color .link:hover,
.has-violet-background-color .link:hover,
.has-casablanca-background-color .link:hover,
.has-aquamarine-background-color .link:hover,
.has-purple-heart-background-color .link:hover {
    color: var(--link-off-colour);
}

[data-layout*="section"]:not([class*="-background-color"]) .tag,
.has-white-background-color .tag,
.has-violet-background-color .tag,
.has-casablanca-background-color .tag,
.has-aquamarine-background-color .tag,
.has-purple-heart-background-color .tag {
    color: var(--tag-off-colour);
}

[data-layout*="section"]:not([class*="-background-color"]) .tag:hover,
.has-white-background-color .tag:hover,
.has-violet-background-color .tag:hover,
.has-casablanca-background-color .tag:hover,
.has-aquamarine-background-color .tag:hover,
.has-purple-heart-background-color .tag:hover {
    color: var(--tag-off-colour);
}

[data-layout*="section"]:not([class*="-background-color"]) .no-tag,
.has-white-background-color .no-tag,
.has-violet-background-color .no-tag,
.has-casablanca-background-color .no-tag,
.has-aquamarine-background-color .no-tag,
.has-purple-heart-background-color .no-tag {
    color: var(--no-tag-off-colour);
}

.wp-block-button__link {
    align-items: center;
    border-style: solid;
    border-width: var(--button-border-width) !important;
    border-radius: var(--button-border-radius) !important;
    cursor: pointer;
    display: flex;
    gap: var(--button-gap);
    justify-content: center;
    padding: var(--button-padding-block) var(--button-padding-inline) !important;
    text-align: center;
}

@media (prefers-reduced-motion: no-preference) {
    .wp-block-button__link {
        transition: all 0.3s ease-in-out;
    }
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link {
    background-color: var(--primary-button-off-bg-colour);
    border-color: var(--primary-button-off-border-colour);
    color: var(--primary-button-off-fg-colour);
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
    background-color: var(--primary-button-on-bg-colour);
    border-color: var(--primary-button-on-border-colour);
    color: var(--primary-button-on-fg-colour);
}

.wp-block-button.is-style-outline .wp-block-button__link {
    background-color: var(--secondary-button-off-bg-colour);
    border-color: var(--secondary-button-off-border-colour);
    color: var(--secondary-button-off-fg-colour);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
    background-color: var(--secondary-button-on-bg-colour);
    border-color: var(--secondary-button-on-border-colour);
    color: var(--secondary-button-on-fg-colour);
}

@media (prefers-reduced-motion: no-preference) {
    [data-frame] svg[data-initialised="0"] .shape {
        transform: scale(0);
    }

    [data-frame] svg[data-initialised="1"] .shape {
        transition: all 0.3s ease-out;
    }

    [data-frame] svg {
        height: auto !important;
    }
}

.home .wp-block-template-part.site-header + *:before {
    background-color: #2d0a48;
}

body:not(.home) .wp-block-template-part.site-header + * {
    margin-top: var(--site-header-height);
}

body:not(.home) .wp-block-template-part.site-header + *:before {
    background-color: var(--wp--preset--color--white);
    content: "";
    top: 0;
    left: 0;
    right: 0;
    position: absolute;
}

.wp-block-template-part.site-header {
    position: fixed;
    top: var(--admin-bar-height);
    left: 0;
    right: 0;
    z-index: 100;
    transition: transform 0.4s;
}

.header--up
    .wp-block-template-part.site-header
    .wp-block-elementary-site-header,
.header--down
    .wp-block-template-part.site-header
    .wp-block-elementary-site-header {
    --bg-colour: #fff;
    --fg-colour: #040404;
    --small-print-colour: #5c5c5c;
    --copy-colour: #414141;
    --border-colour: #f8ca44;
    --card-border-colour: #d2d2d2;
    --primary-button-off-bg-colour: #f8ca44;
    --primary-button-off-fg-colour: #040404;
    --primary-button-off-border-colour: #f8ca44;
    --primary-button-on-bg-colour: #fff;
    --primary-button-on-fg-colour: #040404;
    --primary-button-on-border-colour: #f8ca44;
    --secondary-button-off-bg-colour: transparent;
    --secondary-button-off-fg-colour: #040404;
    --secondary-button-off-border-colour: #f8ca44;
    --secondary-button-on-bg-colour: #f8ca44;
    --secondary-button-on-fg-colour: #040404;
    --secondary-button-on-border-colour: #f8ca44;
    --link-off-colour: #040404;
    --link-on-colour: #040404;
    --tag-off-colour: #040404;
    --tag-on-colour: #040404;
    --tag-border-off-colour: #f8ca44;
    --tag-border-on-colour: #f8ca44;
    --no-tag-off-colour: #5c5c5c;
    --no-tag-on-colour: #5c5c5c;
    --primary-icon-off-colour: #2d0a48;
    --primary-icon-on-colour: #ff00ff;
    --secondary-icon-off-colour: #040404;
    --secondary-icon-on-colour: #f8ca44;
    --alt-bg-colour: #2d0a48;
    --alt-fg-colour: #fff;
    --alt-link-off-colour: #fff;
    --alt-link-on-colour: #f8ca44;
    --cycled-colour-1: #eb5a7c;
    --cycled-colour-2: #7228aa;
    --cycled-colour-3: #70e4d4;
    --cycled-colour-4: #f8ca44;
    --field-border-off-colour: #d2d2d2;
    --field-border-on-colour: #5c5c5c;
    --field-color: #5c5c5c;
    --field-error-colour: #5c5c5c;
    background-color: rgba(255, 255, 255, 0.8) !important;
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
}

.header--down:not(.primary-nav-open) .wp-block-template-part.site-header,
.header--scroll:not(.primary-nav-open) .wp-block-template-part.site-header {
    transform: translate3d(0, -100%, 0);
}

.header--up:not(.primary-nav-open) .wp-block-template-part.site-header {
    transform: none;
    top: 0;
}

body.primary-nav-open {
    position: fixed;
}

@media (max-width: 1023px) {
    body:not(.primary-nav-open) .wp-block-elementary-site-header__tray {
        opacity: 0;
        pointer-events: none;
    }
}

.wp-block-elementary-site-header {
    --section-block-padding: 1rem;
}

.wp-block-elementary-site-header__toggle .burger-line {
    fill: none;
    stroke: currentColor;
    stroke-width: 6;
    transition: stroke-dasharray 600ms cubic-bezier(0.4, 0, 0.2, 1),
        stroke-dashoffset 600ms cubic-bezier(0.4, 0, 0.2, 1);
}

.wp-block-elementary-site-header__toggle .burger-line--1 {
    stroke-dasharray: 60 207;
    stroke-width: 6;
}

.wp-block-elementary-site-header__toggle .burger-line--2 {
    stroke-dasharray: 60 60;
    stroke-width: 6;
}

.wp-block-elementary-site-header__toggle .burger-line--3 {
    stroke-dasharray: 60 207;
    stroke-width: 6;
}

.wp-block-elementary-site-header__toggle .opened .burger-line--1 {
    stroke-dasharray: 90 207;
    stroke-dashoffset: -134;
    stroke-width: 6;
}

.wp-block-elementary-site-header__toggle .opened .burger-line--2 {
    stroke-dasharray: 1 60;
    stroke-dashoffset: -30;
    stroke-width: 6;
}

.wp-block-elementary-site-header__toggle .opened .burger-line--3 {
    stroke-dasharray: 90 207;
    stroke-dashoffset: -134;
    stroke-width: 6;
}

@media (max-width: 1023px) {
    .wp-block-elementary-site-header__tray {
        --bg-colour: #fff;
        --fg-colour: #040404;
        --small-print-colour: #5c5c5c;
        --copy-colour: #414141;
        --border-colour: #f8ca44;
        --card-border-colour: #d2d2d2;
        --primary-button-off-bg-colour: #f8ca44;
        --primary-button-off-fg-colour: #040404;
        --primary-button-off-border-colour: #f8ca44;
        --primary-button-on-bg-colour: #fff;
        --primary-button-on-fg-colour: #040404;
        --primary-button-on-border-colour: #f8ca44;
        --secondary-button-off-bg-colour: transparent;
        --secondary-button-off-fg-colour: #040404;
        --secondary-button-off-border-colour: #f8ca44;
        --secondary-button-on-bg-colour: #f8ca44;
        --secondary-button-on-fg-colour: #040404;
        --secondary-button-on-border-colour: #f8ca44;
        --link-off-colour: #040404;
        --link-on-colour: #040404;
        --tag-off-colour: #040404;
        --tag-on-colour: #040404;
        --tag-border-off-colour: #f8ca44;
        --tag-border-on-colour: #f8ca44;
        --no-tag-off-colour: #5c5c5c;
        --no-tag-on-colour: #5c5c5c;
        --primary-icon-off-colour: #2d0a48;
        --primary-icon-on-colour: #ff00ff;
        --secondary-icon-off-colour: #040404;
        --secondary-icon-on-colour: #f8ca44;
        --alt-bg-colour: #2d0a48;
        --alt-fg-colour: #fff;
        --alt-link-off-colour: #fff;
        --alt-link-on-colour: #f8ca44;
        --cycled-colour-1: #eb5a7c;
        --cycled-colour-2: #7228aa;
        --cycled-colour-3: #70e4d4;
        --cycled-colour-4: #f8ca44;
        --field-border-off-colour: #d2d2d2;
        --field-border-on-colour: #5c5c5c;
        --field-color: #5c5c5c;
        --field-error-colour: #5c5c5c;
        bottom: 0;
        flex-direction: column;
        left: 0;
        overflow: auto;
        position: fixed;
        top: calc(var(--admin-bar-height) + var(--site-header-height));
        width: 100%;
    }
}

@media (min-width: 1024px) {
    .wp-block-elementary-site-header__toggle {
        display: none;
    }

    .wp-block-elementary-site-header__tray [data-primary-nav] {
        display: none;
    }
}

@media (min-width: 1024px) and (max-width: 1279px) {
    .wp-block-elementary-stats [data-layout="grid-b"] {
        --column-count: 2;
    }
}

.wp-block-elementary-news__list[data-desktop-layout="grid-e"]
    > :nth-child(2)
    .thumbnail,
.wp-block-elementary-news__list[data-desktop-layout="grid-e"]
    > :nth-child(3)
    .thumbnail,
.wp-block-elementary-news__list[data-desktop-layout="grid-e"]
    > :nth-child(4)
    .thumbnail {
    display: none;
}

.wp-block-elementary-image-strip[data-width="full"] {
    padding-inline: 0;
}

.wp-block-elementary-image-strip[data-width="full"] > * {
    max-width: none;
}

.wp-block-elementary-image-strip:not([data-height="parallax"]) img {
    -o-object-fit: cover;
    object-fit: cover;
}

.wp-block-elementary-image-strip img {
    width: 100%;
}

@media (min-width: 1024px) {
    .wp-block-elementary-image-strip[data-width="slim"] {
        --col-start: indent-2-start;
        --col-end: indent-2-end;
    }
}

@media (max-width: 1024px) {
    .wp-block-elementary-selected-services__panels {
        display: none;
    }
}

.wp-block-elementary-services-archive,
.wp-block-elementary-case-studies-archive {
    --shape-scale: 0.5;
    --shape-rotation: 0deg;
    overflow: hidden;
    position: relative;
}

.wp-block-elementary-services-archive__shape,
.wp-block-elementary-case-studies-archive__shape {
    pointer-events: none;
    position: absolute;
    top: 0;
}

.wp-block-elementary-services-archive__shape--one,
.wp-block-elementary-case-studies-archive__shape--one {
    left: 0;
    transform: translate(-50%, -50%) scale(var(--shape-scale))
        rotateZ(var(--shape-rotation));
}

.wp-block-elementary-services-archive__shape--two,
.wp-block-elementary-case-studies-archive__shape--two {
    right: 0;
    transform: translate(50%, -50%) scale(var(--shape-scale))
        rotateZ(var(--shape-rotation));
}

@media (min-width: 1024px) {
    .wp-block-elementary-services-archive,
    .wp-block-elementary-case-studies-archive {
        --shape-scale: 1;
    }
}

@media (min-width: 1920px) {
    .wp-block-elementary-services-archive,
    .wp-block-elementary-case-studies-archive {
        --shape-scale: 1.5;
    }
}

.wp-block-elementary-services-archive__shape--two {
    --shape-rotation: 80.48deg;
}

.wp-block-elementary-case-studies-archive__shape--one,
.wp-block-elementary-case-studies-archive__shape--two {
    --shape-rotation: 75deg;
}

form input[type="text"],
form input[type="email"],
form input[type="tel"],
form textarea {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 130%;
    border: 1px solid var(--field-border-off-colour);
    border-radius: var(--field-border-radius);
    color: var(--field-color);
    display: block;
    max-width: 100%;
    padding-block: var(--field-padding-block);
    padding-inline: var(--field-padding-inline);
    transition: all 0.3s ease-in-out;
    width: 100%;
}

form input[type="text"]:focus,
form input[type="email"]:focus,
form input[type="tel"]:focus,
form textarea:focus {
    border-color: var(--field-border-on-colour);
    outline: none !important;
}

.gform_confirmation_wrapper {
    align-items: center;
    column-gap: var(--flex-inline-gap);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: var(--section-block-padding) var(--section-inline-padding);
    row-gap: var(--flex-block-gap);
}

.gform_confirmation_wrapper > * {
    flex: 1;
    margin: 0;
    padding: 0;
    width: 100%;
}

.gform_confirmation_wrapper .gform_confirmation_message {
    text-align: center;
}

.success-message {
    grid-column: var(--col-start) / var(--col-end);
    text-align: center;
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    font-size: 24px;
}

@media (min-width: 768px) {
    .success-message {
        font-size: 36px;
        line-height: 140%;
    }
}

.gform_wrapper {
    --section-block-padding: 0;
    --grid-inline-gap: 2rem;
    --flex-block-gap: 2rem;
    align-items: center;
    column-gap: var(--flex-inline-gap);
    display: flex;
    flex-direction: column;
    justify-content: flex-start;
    padding: var(--section-block-padding) var(--section-inline-padding);
    row-gap: var(--flex-block-gap);
    grid-column: var(--col-start) / var(--col-end);
    background-color: var(--bg-colour);
    color: var(--fg-colour);
}

.gform_wrapper > * {
    flex: 1;
    margin: 0;
    padding: 0;
    width: 100%;
}

.gform_wrapper .gform_required_legend {
    display: none;
}

.gform_wrapper .gform_title {
    text-align: center;
    margin: 0;
}

.gform_wrapper .gform_submission_error.hide_summary {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 130%;
    text-align: center;
}

.gform_wrapper > * {
    max-width: var(--section-width);
}

.gform_wrapper form .gform_fields {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
    --section-width: 100%;
}

.gform_wrapper form .gform_fields > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    .gform_wrapper form .gform_fields {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

.gform_wrapper form .gform_body {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns:
        [start] minmax(0, 1fr) [indent-1-start] minmax(0, 1fr)
        [indent-2-start] minmax(0, 1fr) [indent-3-start centre] minmax(0, 1fr)
        [indent-2-end indent-3-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
        [end];
    max-width: var(--section-width);
    row-gap: var(--grid-block-gap);
    --section-width: 100%;
}

.gform_wrapper form .gform_body > * {
    grid-column: var(--col-start) / var(--col-end);
    margin: 0;
    padding: 0;
}

@media (min-width: 768px) {
    .gform_wrapper form .gform_body {
        grid-template-columns:
            [start first-quarter first-third] minmax(0, 1fr)
            [indent-1-start] minmax(0, 1fr) [indent-2-start] minmax(0, 1fr)
            [indent-3-start second-quarter] minmax(0, 1fr)
            [indent-4-start second-third] minmax(0, 1fr)
            minmax(0, 1fr) [third-quarter centre] minmax(0, 1fr) minmax(0, 1fr)
            [indent-4-end third-third] minmax(0, 1fr)
            [indent-3-end fourth-quarter] minmax(0, 1fr)
            [indent-2-end] minmax(0, 1fr) [indent-1-end] minmax(0, 1fr)
            [end];
    }
}

.gform_wrapper form .validation_message {
    color: var(--field-error-colour);
}

.gform_wrapper form .gfield.is-empty:not(:focus-within) label,
.gform_wrapper form .gform-grid-col.is-empty:not(:focus-within) label {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 14px;
    line-height: 130%;
    padding-block: var(--label-focused-padding-block);
}

.gform_wrapper form .gfield-checkbox {
    position: relative;
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-size: 21px;
    font-weight: 400;
    line-height: 34px;
}

.gform_wrapper form .gfield-checkbox > div {
    display: grid;
    grid-template-columns: 1em auto;
    gap: 0.5em;
}

.gform_wrapper form .gfield-checkbox input[type="checkbox"] {
    -webkit-appearance: none;
    appearance: none;
    background-color: #fff;
    margin: auto;
    font: inherit;
    color: currentColor;
    width: 1.15em;
    height: 1.15em;
    border: 0.15em solid currentColor;
    border-radius: 0.15em;
    transform: translateY(-0.075em);
    display: grid;
    place-content: center;
}

.gform_wrapper form .gfield-checkbox input[type="checkbox"]::before {
    content: "";
    width: 0.65em;
    height: 0.65em;
    transform: scale(0);
    transition: 120ms transform ease-in-out;
    box-shadow: inset 1em 1em var(--wp--preset--color--violet);
}

.gform_wrapper form .gfield-checkbox input[type="checkbox"]:checked::before {
    transform: scale(1);
}

.gform_wrapper form .gfield-name .name_first,
.gform_wrapper form .gfield-name .name_last,
.gform_wrapper form .gfield-text,
.gform_wrapper form .gfield-phone,
.gform_wrapper form .gfield-email,
.gform_wrapper form .gfield-textarea {
    position: relative;
}

.gform_wrapper form .gfield-name .name_first label,
.gform_wrapper form .gfield-name .name_last label,
.gform_wrapper form .gfield-text label,
.gform_wrapper form .gfield-phone label,
.gform_wrapper form .gfield-email label,
.gform_wrapper form .gfield-textarea label {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-size: 10px;
    font-weight: 400;
    line-height: 13px;
    color: var(--field-color);
    display: block;
    left: 0;
    margin: 0;
    padding-block: var(--label-blurred-padding-block);
    padding-inline: var(--field-padding-inline);
    position: absolute;
    top: 0;
    transition: all 0.3s ease-in-out;
}

.gform_wrapper form .ginput_container--name {
    column-gap: var(--grid-inline-gap);
    display: grid;
    grid-template-columns: repeat(var(--columns, 1), 1fr);
    row-gap: var(--grid-block-gap);
}

.gform_wrapper form .gform_footer {
    justify-content: center;
    align-items: center;
    column-gap: var(--flex-inline-gap);
    display: flex;
    margin: 0;
    row-gap: var(--flex-block-gap);
    padding: 0;
}

@media (min-width: 768px) {
    .gform_wrapper form .gform_footer {
        justify-content: flex-end;
    }
}

.gform_wrapper form .gform_footer input[type="submit"] {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 155%;
    align-items: center;
    border-style: solid;
    border-width: var(--button-border-width) !important;
    border-radius: var(--button-border-radius) !important;
    cursor: pointer;
    display: flex;
    gap: var(--button-gap);
    justify-content: center;
    padding: var(--button-padding-block) var(--button-padding-inline) !important;
    text-align: center;
    background-color: var(--primary-button-off-bg-colour);
    border-color: var(--primary-button-off-border-colour);
    color: var(--primary-button-off-fg-colour);
    min-width: 188px;
    width: 100%;
}

@media (prefers-reduced-motion: no-preference) {
    .gform_wrapper form .gform_footer input[type="submit"] {
        transition: all 0.3s ease-in-out;
    }
}

.gform_wrapper form .gform_footer input[type="submit"]:hover {
    background-color: var(--primary-button-on-bg-colour);
    border-color: var(--primary-button-on-border-colour);
    color: var(--primary-button-on-fg-colour);
}

@media (min-width: 768px) {
    .gform_wrapper form .gform_footer input[type="submit"] {
        width: auto;
    }
}

.gform_wrapper fieldset.gfield {
    border-width: 0;
    margin: 0;
    padding: 0;
}

.gform_wrapper fieldset.gfield legend {
    display: none;
}

.gform_wrapper .gfield.gfield--type-captcha {
    display: none;
}

.gform_wrapper .gfield .error-message {
    padding: var(--field-padding-inline);
    color: #721c24;
    background-color: #f8d7da;
    border-color: #f5c6cb;
    border-radius: var(--button-border-radius);
}

@media (min-width: 768px) {
    .gform_wrapper form .ginput_container--name.gf_name_has_2 {
        --columns: 2;
    }

    .gform_wrapper form .gf_left_half {
        grid-column: start/centre;
    }

    .gform_wrapper form .gf_right_half {
        grid-column: centre/end;
    }
}

[data-layout*="section"][class*="wp-block-elementary-form-placeholder"] {
    --bg-colour: #f8ca44;
    --fg-colour: #040404;
    --small-print-colour: #ff00ff;
    --copy-colour: #040404;
    --border-colour: #ff00ff;
    --card-border-colour: #ff00ff;
    --primary-button-off-bg-colour: #fff;
    --primary-button-off-fg-colour: #040404;
    --primary-button-off-border-colour: #daa81c;
    --primary-button-on-bg-colour: #daa81c;
    --primary-button-on-fg-colour: #fff;
    --primary-button-on-border-colour: #daa81c;
    --secondary-button-off-bg-colour: #ff00ff;
    --secondary-button-off-fg-colour: #ff00ff;
    --secondary-button-off-border-colour: #ff00ff;
    --secondary-button-on-bg-colour: #ff00ff;
    --secondary-button-on-fg-colour: #ff00ff;
    --secondary-button-on-border-colour: #ff00ff;
    --link-off-colour: #040404;
    --link-on-colour: #040404;
    --tag-off-colour: #ff00ff;
    --tag-on-colour: #ff00ff;
    --tag-border-off-colour: #ff00ff;
    --tag-border-on-colour: #ff00ff;
    --no-tag-off-colour: #ff00ff;
    --no-tag-on-colour: #ff00ff;
    --primary-icon-off-colour: #262626;
    --primary-icon-on-colour: #ff00ff;
    --secondary-icon-off-colour: #ff00ff;
    --secondary-icon-on-colour: #ff00ff;
    --alt-bg-colour: #ff00ff;
    --alt-fg-colour: #ff00ff;
    --alt-link-off-colour: #ff00ff;
    --alt-link-on-colour: #ff00ff;
    --cycled-colour-1: #ff00ff;
    --cycled-colour-2: #ff00ff;
    --cycled-colour-3: #ff00ff;
    --cycled-colour-4: #ff00ff;
    --field-border-off-colour: #d2d2d2;
    --field-border-on-colour: #5c5c5c;
    --field-color: #5c5c5c;
    --field-error-colour: #5c5c5c;
    background-color: var(--bg-colour);
    color: var(--fg-colour);
}

[data-layout*="section"][class*="wp-block-elementary-form-placeholder"]
    + [data-layout*="section"]:not([class*="-background-color"]) {
    padding-top: var(--section-block-padding);
}

body {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 155%;
}

h1 {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    font-size: 34px;
}

@media (min-width: 768px) {
    h1 {
        font-size: 54px;
    }
}

h2 {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    font-size: 28px;
}

@media (min-width: 768px) {
    h2 {
        font-size: 42px;
        line-height: 130%;
    }
}

h3 {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    font-size: 24px;
}

@media (min-width: 768px) {
    h3 {
        font-size: 36px;
        line-height: 140%;
    }
}

h4 {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    font-size: 20px;
}

@media (min-width: 768px) {
    h4 {
        font-size: 28px;
        line-height: 134%;
    }
}

h5 {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
    font-size: 18px;
}

@media (min-width: 768px) {
    h5 {
        font-size: 22px;
        line-height: 150%;
    }
}

h6 {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    line-height: 120%;
}

.ed-breadcrumbs {
    list-style-type: none;
}

.ed-breadcrumbs li {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-size: 14px;
    font-weight: 400;
    line-height: 18px;
    position: relative;
}

.ed-breadcrumbs li:not(:first-child)::before {
    content: ">";
    display: block;
    right: calc(100% + var(--flex-inline-gap) / 2);
    position: absolute;
    top: 50%;
    transform: translate(50%, -50%);
}

.ed-breadcrumbs li:last-child a {
    text-decoration: none;
    pointer-events: none;
}

.ed-case-study-category {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
    border: 1px solid var(--tag-border-off-colour);
    border-radius: var(--tag-border-radius);
    color: var(--tag-off-colour);
    padding: var(--tag-padding-block) var(--tag-padding-inline);
    justify-content: center;
    text-decoration: none;
}

@media (min-width: 768px) {
    .ed-case-study-category {
        font-size: 22px;
    }
}

.ed-case-study-category.active,
.ed-case-study-category:hover {
    background-color: var(--tag-border-on-colour);
    border: 1px solid var(--tag-border-on-colour);
}

.ed-case-study-category svg {
    stroke: var(--tag-off-colour);
    transition: all 0.3s ease-in-out;
}

@media (prefers-reduced-motion: no-preference) {
    .ed-case-study-category {
        transition: all 0.3s ease-in-out;
    }
}

.ed-case-studies-card {
    column-gap: 0;
    row-gap: 0;
    overflow: hidden;
    position: relative;
}

.ed-case-studies-card > a {
    text-decoration: none;
}

.ed-case-studies-card__thumbnail {
    position: relative;
    background-color: var(--cycled-colour);
    border-color: var(--cycled-colour);
    border-style: solid;
    border-width: var(--card-padding) var(--card-padding) 0;
}

.ed-case-studies-card__logo {
    position: absolute;
    z-index: 5;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 50%;
    color: #fff;
    fill: #fff;
}

.ed-case-studies-card__logo-overlay {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color: rgba(0, 0, 0, 0.15);
    z-index: 2;
}

.ed-case-studies-card__logo-shape {
    position: absolute;
}

.ed-case-studies-card__content {
    flex: 1;
    border-color: var(--card-border-colour);
    border-style: solid;
    padding: var(--card-padding);
}

.ed-case-studies-card__excerpt {
    display: none;
}

.ed-case-studies-card__client-name {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
}

@media (min-width: 768px) {
    .ed-case-studies-card__client-name {
        font-size: 22px;
    }
}

.ed-case-studies-card__heading {
    text-decoration: none;
}

.ed-case-studies-card__heading:hover,
.ed-case-studies-card__heading:active {
    text-decoration-color: #eb5a7c;
    text-decoration-line: underline;
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 0.15rem;
    text-underline-offset: 0.2rem;
}

@media (min-width: 768px) {
    .ed-case-studies-card__heading {
        font-family: "Recoleta", serif;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        font-size: 20px;
    }
}

@media (min-width: 768px) and (min-width: 768px) {
    .ed-case-studies-card__heading {
        font-size: 28px;
        line-height: 134%;
    }
}

.ed-case-studies-card__tags {
    display: none;
    list-style-type: none;
    flex-wrap: wrap;
}

.ed-case-studies-card__tags a {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 16px;
    line-height: 155%;
}

.ed-case-studies-card__excerpt {
    color: var(--copy-colour);
}

@media (min-width: 768px) {
    .ed-case-studies-card__footer {
        padding-top: var(--flex-block-gap);
    }
}

.ed-case-studies-card[data-featured="0"] .ed-case-studies-card__thumbnail {
    --card-padding: 0;
    border-top-left-radius: var(--card-border-radius);
    border-top-right-radius: var(--card-border-radius);
}

.ed-case-studies-card[data-featured="0"] .ed-case-studies-card__content {
    border-bottom-left-radius: var(--card-border-radius);
    border-bottom-right-radius: var(--card-border-radius);
    border-width: 0 1px 1px 1px;
}

@media (min-width: 1024px) {
    .ed-case-studies-card[data-featured="0"] .ed-case-studies-card__heading {
        font-family: "Recoleta", serif;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        font-size: 20px;
    }
}

@media (min-width: 1024px) and (min-width: 768px) {
    .ed-case-studies-card[data-featured="0"] .ed-case-studies-card__heading {
        font-size: 28px;
        line-height: 134%;
    }
}

.ed-case-studies-card[data-featured="1"] .ed-case-studies-card__thumbnail {
    --card-padding: 0;
}

@media (min-width: 1024px) {
    .ed-case-studies-card[data-featured="1"] .ed-case-studies-card__heading {
        font-family: "Recoleta", serif;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        font-size: 24px;
    }
}

@media (min-width: 1024px) and (min-width: 768px) {
    .ed-case-studies-card[data-featured="1"] .ed-case-studies-card__heading {
        font-size: 36px;
        line-height: 140%;
    }
}

@media (min-width: 1024px) {
    .ed-case-studies-card[data-featured="1"] .ed-case-studies-card__tags,
    .ed-case-studies-card[data-featured="1"] .ed-case-studies-card__excerpt {
        display: initial;
    }
}

@media (max-width: 1023px) {
    .ed-case-studies-card[data-featured="1"] .ed-case-studies-card__thumbnail {
        border-top-left-radius: var(--card-border-radius);
        border-top-right-radius: var(--card-border-radius);
    }

    .ed-case-studies-card[data-featured="1"] .ed-case-studies-card__content {
        border-bottom-left-radius: var(--card-border-radius);
        border-bottom-right-radius: var(--card-border-radius);
        border-width: 0 1px 1px 1px;
    }
}

@media (min-width: 1024px) {
    .ed-case-studies-card[data-featured="1"][data-direction="1"]
        .ed-case-studies-card__thumbnail {
        border-bottom-left-radius: var(--card-border-radius);
        border-top-left-radius: var(--card-border-radius);
    }

    .ed-case-studies-card[data-featured="1"][data-direction="1"]
        .ed-case-studies-card__content {
        border-bottom-right-radius: var(--card-border-radius);
        border-top-right-radius: var(--card-border-radius);
        border-width: 1px 1px 1px 0;
    }
}

@media (min-width: 1024px) {
    .ed-case-studies-card[data-featured="1"][data-direction="-1"]
        .ed-case-studies-card__thumbnail {
        border-bottom-right-radius: var(--card-border-radius);
        border-top-right-radius: var(--card-border-radius);
    }

    .ed-case-studies-card[data-featured="1"][data-direction="-1"]
        .ed-case-studies-card__content {
        border-bottom-left-radius: var(--card-border-radius);
        border-top-left-radius: var(--card-border-radius);
        border-width: 1px 0 1px 1px;
    }
}

.ed-services-card__inner {
    background-color: var(--bg-colour);
    border: 1px solid var(--card-border-colour);
    border-radius: var(--card-border-radius);
    color: inherit;
    padding: var(--card-padding);
    text-decoration: none;
}

.ed-services-card__inner:hover .ed-services-card__heading,
.ed-services-card__inner:active .ed-services-card__heading {
    text-decoration-color: #eb5a7c;
    text-decoration-line: underline;
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 0.15rem;
    text-underline-offset: 0.3rem;
}

.ed-services-card__icon svg:last-child {
    margin-inline: auto;
    stroke: var(--secondary-icon-off-colour);
    max-width: 32px;
}

.ed-services-card__excerpt {
    color: var(--copy-colour);
}

.ed-services-card__footer {
    padding-top: var(--flex-block-gap);
}

.wp-block-elementary-careers-archive__super-text {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
}

@media (min-width: 768px) {
    .wp-block-elementary-careers-archive__super-text {
        font-size: 22px;
    }
}

.wp-block-elementary-careers-archive__heading {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-size: min(34px, 1rem + 3vw);
    font-weight: 400;
    line-height: 120%;
}

@media (min-width: 768px) {
    .wp-block-elementary-careers-archive__heading {
        font-size: min(48px, 1rem + 3vw);
        line-height: 125%;
    }
}

@media (min-width: 1028px) {
    .wp-block-elementary-careers-archive__heading {
        font-size: min(56px, 1rem + 3vw);
        line-height: 125%;
    }
}

@media (min-width: 1920px) {
    .wp-block-elementary-careers-archive__heading {
        font-size: min(64px, 1rem + 3vw);
        line-height: 125%;
    }
}

.wp-block-elementary-careers-archive__list {
    margin: 0;
    padding: 0;
    list-style-type: none;
}

@media (min-width: 768px) {
    .wp-block-elementary-case-studies-archive__inner {
        --section-width: min(85%, 90rem);
    }
}

.wp-block-elementary-case-studies-archive__inner--two {
    display: none;
}

@media (min-width: 768px) {
    .wp-block-elementary-case-studies-archive__inner--two {
        display: block;
        --section-width: 95%;
    }
}

.wp-block-elementary-case-studies-archive__inner--one {
    row-gap: 1rem;
}

.wp-block-elementary-case-studies-archive__intro {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-size: 21px;
    font-weight: 400;
    line-height: 34px;
    color: var(--copy-colour);
}

.wp-block-elementary-case-studies-archive__filters {
    list-style-type: none;
}

.wp-block-elementary-case-studies-archive__inner
    .wp-block-elementary-case-studies-archive__filters {
    flex-wrap: wrap;
}

@media (max-width: 1023px) {
    .wp-block-elementary-case-studies-archive__inner
        .wp-block-elementary-case-studies-archive__filters {
        flex-wrap: nowrap;
        overflow: scroll;
        scrollbar-width: none;
        -ms-overflow-style: none;
        justify-content: flex-start;
    }

    .wp-block-elementary-case-studies-archive__inner
        .wp-block-elementary-case-studies-archive__filters::-webkit-scrollbar {
        display: none;
    }
}

.wp-block-elementary-case-studies-archive__list {
    list-style-type: none;
}

@media (min-width: 1024px) {
    .wp-block-elementary-case-studies-archive {
        row-gap: 4rem;
    }

    .wp-block-elementary-case-studies-archive__list {
        row-gap: 4rem;
    }

    .wp-block-elementary-case-studies-archive__list
        .ed-case-studies-card[data-direction="-1"]
        > a {
        flex-direction: row-reverse;
    }

    .wp-block-elementary-case-studies-archive__list
        .ed-case-studies-card[data-direction="-1"]
        .ed-case-studies-card__thumbnail {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: var(--card-border-radius);
        border-top-right-radius: var(--card-border-radius);
    }

    .wp-block-elementary-case-studies-archive__list
        .ed-case-studies-card[data-direction="-1"]
        .ed-case-studies-card__content {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: var(--card-border-radius);
        border-top-left-radius: var(--card-border-radius);
        border-width: 1px 0 1px 1px;
    }

    .wp-block-elementary-case-studies-archive__list
        .ed-case-studies-card[data-direction="1"]
        > a {
        flex-direction: row;
    }

    .wp-block-elementary-case-studies-archive__list
        .ed-case-studies-card[data-direction="1"]
        .ed-case-studies-card__thumbnail {
        border-top-right-radius: 0;
        border-bottom-right-radius: 0;
        border-bottom-left-radius: var(--card-border-radius);
        border-top-left-radius: var(--card-border-radius);
    }

    .wp-block-elementary-case-studies-archive__list
        .ed-case-studies-card[data-direction="1"]
        .ed-case-studies-card__content {
        border-top-left-radius: 0;
        border-bottom-left-radius: 0;
        border-bottom-right-radius: var(--card-border-radius);
        border-top-right-radius: var(--card-border-radius);
        border-width: 1px 1px 1px 0;
    }

    .wp-block-elementary-case-studies-archive__list
        .ed-case-studies-card
        .ed-case-studies-card__thumbnail {
        flex: 1;
    }

    .wp-block-elementary-case-studies-archive__list
        .ed-case-studies-card
        .ed-case-studies-card__content {
        flex: 1;
    }

    .wp-block-elementary-case-studies-archive__list
        .ed-case-studies-card
        .ed-case-studies-card__excerpt {
        display: initial !important;
    }
}

@keyframes hexagon {
    0% {
        transform: translateY(0) translateX(0);
    }

    30% {
        transform: translateY(0) translateX(10vh) rotate(25deg);
    }

    50% {
        transform: translateY(10vh) translateX(10vh) rotate(45deg);
    }

    80% {
        transform: translateY(10vh) translateX(0) rotate(25deg);
    }

    to {
        transform: translateY(0) translateX(0);
    }
}

@keyframes triangle {
    0% {
        transform: translateY(0) translateX(0);
    }

    30% {
        transform: translateY(10vh) translateX(0) rotate(25deg);
    }

    50% {
        transform: translateY(10vh) translateX(10vh) rotate(45deg);
    }

    80% {
        transform: translateY(0) translateX(10vh) rotate(25deg);
    }

    to {
        transform: translateY(0) translateX(0);
    }
}

@keyframes circle {
    0% {
        transform: translateY(0) translateX(0);
    }

    30% {
        transform: translateY(-5vh) translateX(0) rotate(25deg);
    }

    50% {
        transform: translateY(-5vh) translateX(-10vh) rotate(45deg);
    }

    80% {
        transform: translateY(0) translateX(-10vh) rotate(25deg);
    }

    to {
        transform: translateY(0) translateX(0);
    }
}

.wp-block-elementary-home-mast {
    position: relative;
    overflow: hidden;
    height: 100vh;
    --section-block-padding: max(10vh, 3rem);
}

.wp-block-elementary-home-mast:not([class*="-background-color"]) {
    --bg-colour: #2d0a48;
    --fg-colour: #fff;
    --small-print-colour: #ff00ff;
    --copy-colour: #fff;
    --border-colour: #d2d2d2;
    --card-border-colour: #ff00ff;
    --primary-button-off-bg-colour: #f8ca44;
    --primary-button-off-fg-colour: #040404;
    --primary-button-off-border-colour: #f8ca44;
    --primary-button-on-bg-colour: #fff;
    --primary-button-on-fg-colour: #040404;
    --primary-button-on-border-colour: #f8ca44;
    --secondary-button-off-bg-colour: #ff00ff;
    --secondary-button-off-fg-colour: #ff00ff;
    --secondary-button-off-border-colour: #ff00ff;
    --secondary-button-on-bg-colour: #ff00ff;
    --secondary-button-on-fg-colour: #ff00ff;
    --secondary-button-on-border-colour: #ff00ff;
    --link-off-colour: #fff;
    --link-on-colour: #f8ca44;
    --tag-off-colour: #ff00ff;
    --tag-on-colour: #ff00ff;
    --tag-border-off-colour: #ff00ff;
    --tag-border-on-colour: #ff00ff;
    --no-tag-off-colour: #ff00ff;
    --no-tag-on-colour: #ff00ff;
    --primary-icon-off-colour: #fff;
    --primary-icon-on-colour: #f8ca44;
    --secondary-icon-off-colour: #f8ca44;
    --secondary-icon-on-colour: #f8ca44;
    --alt-bg-colour: #7228aa;
    --alt-fg-colour: #fff;
    --alt-link-off-colour: #fff;
    --alt-link-on-colour: #f8ca44;
    --cycled-colour-1: #eb5a7c;
    --cycled-colour-2: #7228aa;
    --cycled-colour-3: #70e4d4;
    --cycled-colour-4: #f8ca44;
    --field-border-off-colour: #d2d2d2;
    --field-border-on-colour: #5c5c5c;
    --field-color: #5c5c5c;
    --field-error-colour: #5c5c5c;
}

.wp-block-elementary-home-mast__inner {
    text-align: center;
    align-items: center;
}

@media (min-width: 1024px) {
    .wp-block-elementary-home-mast__inner {
        margin-top: var(--site-header-height);
    }
}

.wp-block-elementary-home-mast__content {
    z-index: 5;
    grid-column: indent-2/indent-2-end;
    flex-wrap: wrap;
}

@media (max-width: 1023px) {
    .wp-block-elementary-home-mast__content {
        grid-column: start/end;
    }

    .wp-block-elementary-home-mast__content[data-row-spacing="large"] {
        --flex-block-gap: 2rem;
    }
}

.wp-block-elementary-home-mast__content[data-row-spacing="large"] {
    --flex-block-gap: 3rem;
}

.wp-block-elementary-home-mast__heading {
    flex-basis: 100%;
}

.wp-block-elementary-home-mast .wp-block-button {
    flex-basis: 100%;
}

.wp-block-elementary-home-mast .wp-block-button__link {
    display: inline-block;
}

.wp-block-elementary-home-mast__list {
    flex-basis: 100%;
    --flex-inline-gap: 2rem;
}

.wp-block-elementary-home-mast [data-frame="top-banner"] {
    position: absolute;
    left: 0;
    right: 0;
    top: 0;
    bottom: 0;
    overflow: hidden;
}

.wp-block-elementary-home-mast [data-frame="top-banner"] > * {
    position: absolute;
    width: min(80vw, 60vh);
    top: var(--shape-top, auto);
    bottom: var(--shape-bottom, auto);
    left: var(--shape-left, auto);
    right: var(--shape-right, auto);
    zoom: var(--shape-zoom, 0);
    transform: translate(var(--shape-transform-x), var(--shape-transform-y));
    rotate: var(--shape-rotate, 0deg);
}

@media (prefers-reduced-motion: no-preference) {
    .wp-block-elementary-home-mast [data-frame="top-banner"] svg {
        animation-duration: 30s;
        animation-timing-function: linear;
        animation-iteration-count: infinite;
    }
}

.wp-block-elementary-home-mast
    [data-frame="top-banner"]
    [data-shape="hexagon"] {
    --shape-top: -25vh;
    --shape-right: -25vh;
    --shape-rotate: 25deg;
    --shape-transform-x: 0;
    --shape-transform-y: 0;
    --shape-zoom: 1;
}

.wp-block-elementary-home-mast
    [data-frame="top-banner"]
    [data-shape="hexagon"]
    svg {
    animation-name: hexagon;
}

.wp-block-elementary-home-mast [data-frame="top-banner"] [data-shape="circle"] {
    --shape-bottom: -25vh;
    --shape-right: -25vh;
    --shape-rotate: 0;
    --shape-transform-x: 0;
    --shape-transform-y: 0;
    --shape-zoom: 1;
}

.wp-block-elementary-home-mast
    [data-frame="top-banner"]
    [data-shape="circle"]
    svg {
    animation-name: circle;
}

.wp-block-elementary-home-mast
    [data-frame="top-banner"]
    [data-shape="triangle"] {
    --shape-bottom: -10vh;
    --shape-left: -25vh;
    --shape-rotate: 67deg;
    --shape-transform-x: 0;
    --shape-transform-y: 0;
    --shape-zoom: 1;
}

.wp-block-elementary-home-mast
    [data-frame="top-banner"]
    [data-shape="triangle"]
    svg {
    animation-name: triangle;
}

.wp-block-elementary-home-mast__super-text {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
}

@media (min-width: 768px) {
    .wp-block-elementary-home-mast__super-text {
        font-size: 22px;
    }
}

.wp-block-elementary-home-mast__heading {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-size: max(34px, 1rem + 3vw);
    font-weight: 400;
    line-height: 120%;
}

@media (min-width: 768px) {
    .wp-block-elementary-home-mast__heading {
        font-size: max(48px, 1rem + 3vw);
        line-height: 125%;
    }
}

@media (min-width: 1028px) {
    .wp-block-elementary-home-mast__heading {
        font-size: max(56px, 1rem + 3vw);
        line-height: 125%;
    }
}

@media (min-width: 1920px) {
    .wp-block-elementary-home-mast__heading {
        font-size: max(64px, 1rem + 3vw);
        line-height: 125%;
    }
}

.wp-block-elementary-home-mast__list {
    list-style-type: none;
}

.wp-block-elementary-home-mast__copy {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-size: 21px;
    font-weight: 400;
    line-height: 170%;
    color: var(--copy-colour);
}

.wp-block-elementary-news-archive {
    row-gap: 2rem;
}

.wp-block-elementary-news-archive__filters {
    flex-wrap: wrap;
    list-style-type: none;
    padding: 1.2rem;
}

.wp-block-elementary-news-archive__filters a {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
    border: 1px solid var(--tag-border-off-colour);
    border-radius: var(--tag-border-radius);
    color: var(--tag-off-colour);
    padding: var(--tag-padding-block) var(--tag-padding-inline);
    justify-content: center;
    text-decoration: none;
}

@media (min-width: 768px) {
    .wp-block-elementary-news-archive__filters a {
        font-size: 22px;
    }
}

.wp-block-elementary-news-archive__filters a.active,
.wp-block-elementary-news-archive__filters a:hover {
    background-color: var(--tag-border-on-colour);
    border: 1px solid var(--tag-border-on-colour);
}

@media (prefers-reduced-motion: no-preference) {
    .wp-block-elementary-news-archive__filters a {
        transition: all 0.3s ease-in-out;
    }
}

.wp-block-elementary-news-archive__list {
    list-style-type: none;
}

@media (min-width: 768px) {
    .wp-block-elementary-news-archive__inner--filters {
        --section-width: 95%;
    }
}

@media (min-width: 1024px) {
    .wp-block-elementary-news-archive {
        row-gap: 3rem;
    }
}

@media (min-width: 1024px) {
    .wp-block-elementary-news-archive__list {
        column-gap: 2rem;
        row-gap: 4rem;
    }
}

@media (min-width: 1280px) {
    .wp-block-elementary-news-archive__content {
        --col-start: indent-1;
        --col-end: indent-1-end;
    }
}

@media (min-width: 1280px) {
    .wp-block-elementary-news-archive__inner .ed-news-featured-card {
        --col-start: indent-1;
        --col-end: indent-1-end;
    }
}

@media (min-width: 1920px) {
    .wp-block-elementary-news-archive__inner .ed-news-featured-card {
        --col-start: indent-2;
        --col-end: indent-2-end;
    }
}

.wp-block-elementary-news-archive__inner .ed-news-featured-card__footer {
    margin-top: initial;
}

.wp-block-elementary-news-archive .ed-news-card__thumbnail {
    width: 100%;
}

.wp-block-elementary-news-archive .ed-news-card__thumbnail img {
    width: 100%;
    height: 100%;
}

.wp-block-elementary-news-single-mast {
    padding-bottom: calc(var(--section-block-padding) / 2);
    position: relative;
}

.wp-block-elementary-news-single-mast::before {
    background-color: #fff;
    content: "";
    display: block;
    position: absolute;
    inset: 0rem 0rem var(--section-block-padding);
    z-index: 10;
}

.wp-block-elementary-news-single-mast__inner {
    position: relative;
    z-index: 20;
}

.wp-block-elementary-news-single-mast__image {
    margin: 0 auto;
}

.wp-block-elementary-news-single-mast__image img {
    border-radius: var(--card-border-radius);
    max-height: 30rem;
}

@media (min-width: 1024px) {
    .wp-block-elementary-news-single-mast__header {
        row-gap: 1.5rem;
    }
}

.wp-block-elementary-services-archive {
    --shape-scale: 0.4;
    overflow: hidden;
    position: relative;
}

.wp-block-elementary-services-archive__background-one,
.wp-block-elementary-services-archive__background-two {
    pointer-events: none;
    position: absolute;
    top: 0;
    z-index: 10;
}

.wp-block-elementary-services-archive__background-one {
    left: 0;
    transform: translate(-50%, -50%) scale(var(--shape-scale));
}

.wp-block-elementary-services-archive__background-two {
    right: 0;
    transform: translate(50%, -50%) scale(var(--shape-scale)) rotateZ(90deg);
}

.wp-block-elementary-services-archive__inner {
    position: relative;
    z-index: 20;
}

@media (min-width: 1920px) {
    .wp-block-elementary-services-archive__list {
        --column-count: 4;
    }
}

.wp-block-elementary-services-archive__inner--one {
    row-gap: 1rem;
}

.wp-block-elementary-services-archive__intro {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-size: 21px;
    font-weight: 400;
    line-height: 34px;
    color: var(--copy-colour);
}

@media (min-width: 1024px) {
    .wp-block-elementary-services-archive__intro {
        --col-start: indent-3-start;
        --col-end: indent-3-end;
    }
}

@media (min-width: 1920px) {
    .wp-block-elementary-services-archive__intro {
        --col-start: indent-4-start;
        --col-end: indent-4-end;
    }
}

@media (min-width: 1024px) {
    .wp-block-elementary-services-archive {
        --shape-scale: 1;
        row-gap: 4rem;
    }
}

.wp-block-elementary-shape-mast__super-text {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
}

@media (min-width: 768px) {
    .wp-block-elementary-shape-mast__super-text {
        font-size: 22px;
    }
}

.wp-block-elementary-shape-mast__heading {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-size: min(34px, 1rem + 3vw);
    font-weight: 400;
    line-height: 120%;
}

@media (min-width: 768px) {
    .wp-block-elementary-shape-mast__heading {
        font-size: min(48px, 1rem + 3vw);
        line-height: 125%;
    }
}

@media (min-width: 1028px) {
    .wp-block-elementary-shape-mast__heading {
        font-size: min(56px, 1rem + 3vw);
        line-height: 125%;
    }
}

@media (min-width: 1920px) {
    .wp-block-elementary-shape-mast__heading {
        font-size: min(64px, 1rem + 3vw);
        line-height: 125%;
    }
}

.wp-block-elementary-shape-mast svg {
    height: auto;
}

.wp-block-elementary-single-mast {
    --shape-scale: 0.5;
    --shape-rotation: 0deg;
    overflow: hidden;
}

.wp-block-elementary-single-mast__inner {
    position: relative;
}

.wp-block-elementary-single-mast__container {
    position: relative;
}

.wp-block-elementary-single-mast__shape {
    left: 100%;
    max-width: none;
    pointer-events: none;
    position: absolute;
    top: 0;
    transform: translate(-55%, -40%) scale(var(--shape-scale))
        rotateZ(var(--shape-rotation));
    z-index: 10;
}

.wp-block-elementary-single-mast__shape--hexagon {
    --shape-rotation: 15deg;
    height: 40rem !important;
}

.wp-block-elementary-single-mast__shape--diamond {
    --shape-rotation: 60deg;
    height: 50rem !important;
}

.wp-block-elementary-single-mast .wp-block-button > * {
    display: inline-block;
}

.wp-block-elementary-single-mast__image {
    position: relative;
    z-index: 20;
    height: min(min(65vh, 100vw), 28em);
}

.wp-block-elementary-single-mast__excerpt {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-size: 21px;
    font-weight: 400;
    line-height: 170%;
    color: var(--copy-colour);
}

.wp-block-elementary-single-mast__terms {
    list-style-type: none;
    flex-wrap: wrap;
}

.wp-block-elementary-single-mast__content {
    row-gap: 2rem;
}

@media (min-width: 1024px) {
    .wp-block-elementary-single-mast {
        --shape-scale: 0.75;
    }

    .wp-block-elementary-single-mast__terms {
        margin-top: 2rem;
        column-gap: 3rem;
    }
}

@media (min-width: 1280px) {
    .wp-block-elementary-single-mast {
        --shape-scale: 1;
    }
}

@media (max-width: 1023px) {
    body:not(.primary-nav-open) .wp-block-elementary-site-header__menu li {
        opacity: 0;
        transform: translateY(1rem);
        transition-delay: 0s;
    }
}

.wp-block-elementary-site-header {
    --local-link-off-colour: var(--link-off-colour);
    --local-link-on-colour: var(--link-off-colour);
    --section-block-padding: 2rem;
}

body.home .wp-block-elementary-site-header {
    --bg-colour: #2d0a48;
    --fg-colour: #fff;
    --small-print-colour: #ff00ff;
    --copy-colour: #fff;
    --border-colour: #d2d2d2;
    --card-border-colour: #ff00ff;
    --primary-button-off-bg-colour: #f8ca44;
    --primary-button-off-fg-colour: #040404;
    --primary-button-off-border-colour: #f8ca44;
    --primary-button-on-bg-colour: #fff;
    --primary-button-on-fg-colour: #040404;
    --primary-button-on-border-colour: #f8ca44;
    --secondary-button-off-bg-colour: #ff00ff;
    --secondary-button-off-fg-colour: #ff00ff;
    --secondary-button-off-border-colour: #ff00ff;
    --secondary-button-on-bg-colour: #ff00ff;
    --secondary-button-on-fg-colour: #ff00ff;
    --secondary-button-on-border-colour: #ff00ff;
    --link-off-colour: #fff;
    --link-on-colour: #f8ca44;
    --tag-off-colour: #ff00ff;
    --tag-on-colour: #ff00ff;
    --tag-border-off-colour: #ff00ff;
    --tag-border-on-colour: #ff00ff;
    --no-tag-off-colour: #ff00ff;
    --no-tag-on-colour: #ff00ff;
    --primary-icon-off-colour: #fff;
    --primary-icon-on-colour: #f8ca44;
    --secondary-icon-off-colour: #f8ca44;
    --secondary-icon-on-colour: #f8ca44;
    --alt-bg-colour: #7228aa;
    --alt-fg-colour: #fff;
    --alt-link-off-colour: #fff;
    --alt-link-on-colour: #f8ca44;
    --cycled-colour-1: #eb5a7c;
    --cycled-colour-2: #7228aa;
    --cycled-colour-3: #70e4d4;
    --cycled-colour-4: #f8ca44;
    --field-border-off-colour: #d2d2d2;
    --field-border-on-colour: #5c5c5c;
    --field-color: #5c5c5c;
    --field-error-colour: #5c5c5c;
    --bg-colour: rgba(0, 0, 0, 0);
}

.wp-block-elementary-site-header__logo a {
    display: block;
}

.wp-block-elementary-site-header__logo a svg:last-child {
    display: none;
}

body.home .wp-block-elementary-site-header__logo a svg:first-child {
    display: none;
}

body.home .wp-block-elementary-site-header__logo a svg:last-child {
    display: block;
}

body.home.header--up .wp-block-elementary-site-header__logo a svg:first-child,
body.home.header--down
    .wp-block-elementary-site-header__logo
    a
    svg:first-child {
    display: block;
}

body.home.header--up .wp-block-elementary-site-header__logo a svg:last-child,
body.home.header--down .wp-block-elementary-site-header__logo a svg:last-child {
    display: none;
}

.wp-block-elementary-site-header__toggle button {
    aspect-ratio: 1/1;
    background-color: rgba(0, 0, 0, 0);
    border-width: 0;
    cursor: pointer;
    padding: 0;
    color: var(--fg-colour);
}

.wp-block-elementary-site-header__toggle svg {
    pointer-events: none;
}

.wp-block-elementary-site-header__tray a {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 155%;
    color: var(--local-link-off-colour);
    text-decoration: none;
}

.wp-block-elementary-site-header__tray a:hover {
    color: var(--local-link-on-colour);
}

.wp-block-elementary-site-header__menu {
    list-style: none;
}

body:not(.primary-nav-open)
    .wp-block-elementary-site-header__menu
    .current-menu-item
    a {
    text-decoration-color: #eb5a7c;
    text-decoration-line: underline;
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 0.15rem;
    text-underline-offset: 0.4rem;
}

body:not(.primary-nav-open) .wp-block-elementary-site-header__tray a {
    text-decoration: none;
}

body:not(.primary-nav-open) .wp-block-elementary-site-header__tray a:hover,
body:not(.primary-nav-open) .wp-block-elementary-site-header__tray a:active {
    text-decoration-color: #eb5a7c;
    text-decoration-line: underline;
    -webkit-text-decoration-skip: ink;
    text-decoration-skip-ink: auto;
    text-decoration-thickness: 0.15rem;
    text-underline-offset: 0.4rem;
}

@media (prefers-reduced-motion: no-preference) and (max-width: 1023px) {
    .wp-block-elementary-site-header__tray {
        transition: opacity 0.3s ease-out;
    }

    .wp-block-elementary-site-header__menu li {
        transition: all 0.3s ease-out;
        transition-delay: var(--transition-addition, 0);
    }

    .wp-block-elementary-site-header__menu li:nth-child(2) {
        --transition-addition: 0.05s;
    }

    .wp-block-elementary-site-header__menu li:nth-child(3) {
        --transition-addition: 0.1s;
    }

    .wp-block-elementary-site-header__menu li:nth-child(4) {
        --transition-addition: 0.15s;
    }

    .wp-block-elementary-site-header__menu li:nth-child(5) {
        --transition-addition: 0.2s;
    }

    .wp-block-elementary-site-header__menu li:nth-child(6) {
        --transition-addition: 0.25s;
    }

    .wp-block-elementary-site-header__menu li:nth-child(7) {
        --transition-addition: 0.3s;
    }

    .wp-block-elementary-site-header__menu li:nth-child(8) {
        --transition-addition: 0.35s;
    }

    .wp-block-elementary-site-header__menu li:nth-child(9) {
        --transition-addition: 0.4s;
    }
}

@media (max-width: 1023px) {
    .wp-block-elementary-site-header {
        --local-link-off-colour: var(--alt-link-off-colour);
        --local-link-on-colour: var(--alt-link-on-colour);
    }

    .wp-block-elementary-site-header__tray {
        background-color: var(--alt-bg-colour);
        color: var(--alt-fg-colour);
        overscroll-behavior: none;
        padding: var(--card-padding);
    }

    .wp-block-elementary-site-header__tray [data-primary-nav="close"] {
        font-family: "Open Sans", sans-serif;
        font-style: normal;
        font-size: 16px;
        font-weight: 400;
        line-height: 24px;
        color: var(--local-link-off-colour);
        cursor: pointer;
        text-decoration: underline;
    }

    .wp-block-elementary-site-header__menu {
        --flex-block-gap: 2.5rem;
    }

    .wp-block-elementary-site-header__menu a {
        font-family: "Recoleta", serif;
        font-style: normal;
        font-weight: 400;
        line-height: 120%;
        font-size: 20px;
    }
}

@media (max-width: 1023px) and (min-width: 768px) {
    .wp-block-elementary-site-header__menu a {
        font-size: 28px;
        line-height: 134%;
    }
}

@media (min-width: 1280px) {
    .wp-block-elementary-site-header__menu {
        --flex-inline-gap: 2.3rem;
    }
}

.wp-block-elementary-text-mast__super-text {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
}

@media (min-width: 768px) {
    .wp-block-elementary-text-mast__super-text {
        font-size: 22px;
    }
}

.wp-block-elementary-text-mast__heading {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-size: min(34px, 1rem + 3vw);
    font-weight: 400;
    line-height: 120%;
}

@media (min-width: 768px) {
    .wp-block-elementary-text-mast__heading {
        font-size: min(48px, 1rem + 3vw);
        line-height: 125%;
    }
}

@media (min-width: 1028px) {
    .wp-block-elementary-text-mast__heading {
        font-size: min(56px, 1rem + 3vw);
        line-height: 125%;
    }
}

@media (min-width: 1920px) {
    .wp-block-elementary-text-mast__heading {
        font-size: min(64px, 1rem + 3vw);
        line-height: 125%;
    }
}

.wp-block-elementary-text-mast__copy {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-size: 21px;
    font-weight: 400;
    line-height: 170%;
    color: var(--copy-colour);
}

@media (min-width: 1024px) {
    .wp-block-elementary-text-mast__heading {
        grid-column: start/centre;
    }

    .wp-block-elementary-text-mast__copy {
        grid-column: centre/end;
    }
}

.wp-block-elementary-top-mast {
    padding-top: calc(var(--section-block-padding) / 2);
}

@media (max-width: 1023px) {
    .wp-block-elementary-top-mast__content {
        order: -1;
    }
}

@media (min-width: 1280px) {
    .wp-block-elementary-top-mast__content {
        justify-content: center;
    }
}

@media (min-width: 1920px) {
    .wp-block-elementary-top-mast__content {
        grid-column: indent-1-start/centre !important;
    }
}

.wp-block-elementary-top-mast__super-text {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-weight: 400;
    font-size: 18px;
    line-height: 100%;
}

@media (min-width: 768px) {
    .wp-block-elementary-top-mast__super-text {
        font-size: 22px;
    }
}

.wp-block-elementary-top-mast__heading {
    font-family: "Recoleta", serif;
    font-style: normal;
    font-size: min(34px, 1rem + 3vw);
    font-weight: 400;
    line-height: 120%;
}

@media (min-width: 768px) {
    .wp-block-elementary-top-mast__heading {
        font-size: min(48px, 1rem + 3vw);
        line-height: 125%;
    }
}

@media (min-width: 1028px) {
    .wp-block-elementary-top-mast__heading {
        font-size: min(56px, 1rem + 3vw);
        line-height: 125%;
    }
}

@media (min-width: 1920px) {
    .wp-block-elementary-top-mast__heading {
        font-size: min(64px, 1rem + 3vw);
        line-height: 125%;
    }
}

.wp-block-elementary-top-mast__list {
    list-style-type: none;
}

.wp-block-elementary-top-mast__copy {
    font-family: "DM Sans", sans-serif;
    font-style: normal;
    font-size: 21px;
    font-weight: 400;
    line-height: 170%;
    color: var(--copy-colour);
}

@media (max-width: 1023px) {
    .wp-block-elementary-top-mast__copy,
    .wp-block-elementary-top-mast__heading {
        text-align: center;
    }
}

.has-text-align-center {
    text-align: center;
}

.cs-logo-row-gap {
    row-gap: var(--flex-inline-gap) !important;
}
