@layer settings {
    :root {
        --sgds-animation-duration: .15s;
        --sgds-animation-easing: ease-out;
        --sgds-border-offset: 0;
        --sgds-border-offset-focus: var(--sgds-size-25);
        --sgds-border-radius: var(--sgds-size-50);
        --sgds-border-radius-lg: var(--sgds-size-100);
        --sgds-border-radius-pill: 100vw;
        --sgds-border-radius-round: 50%;
        --sgds-border-style: solid;
        --sgds-border-width: var(--sgds-size-10);
        --sgds-border-width-focus: var(--sgds-size-25);
        --sgds-text-decoration: underline currentColor var(--sgds-border-style)var(--sgds-border-width);
        --sgds-color-black: #080a0c;
        --sgds-color-black-a100: rgba(0, 0, 0, .1);
        --sgds-color-black-a150: rgba(0, 0, 0, .15);
        --sgds-color-black-a300: rgba(0, 0, 0, .3);
        --sgds-color-blue-300: #0094ff;
        --sgds-color-blue-600: #0460a2;
        --sgds-color-blue-900: #042c49;
        --sgds-color-cyan-50: #e7fbfa;
        --sgds-color-cyan-200: #79e7ee;
        --sgds-color-cyan-400: #0bd4e0;
        --sgds-color-cyan-700: #067582;
        --sgds-color-cyan-800: #055763;
        --sgds-color-cyan-900: #033a43;
        --sgds-color-green-300: #0ed11b;
        --sgds-color-green-400: #0eb719;
        --sgds-color-green-800: #09540e;
        --sgds-color-moss-50: #dbf4f5;
        --sgds-color-moss-100: #a7dcde;
        --sgds-color-moss-200: #7ebdc0;
        --sgds-color-moss-300: #5fa2a6;
        --sgds-color-moss-400: #358b8f;
        --sgds-color-moss-500: #1a7277;
        --sgds-color-moss-600: #065d62;
        --sgds-color-moss-700: #06464f;
        --sgds-color-moss-800: #003941;
        --sgds-color-moss-900: #012d36;
        --sgds-color-warm-gray-50: #f2f1ef;
        --sgds-color-warm-gray-100: #d7d6cf;
        --sgds-color-warm-gray-200: #b9bbaf;
        --sgds-color-warm-gray-300: #a5a79c;
        --sgds-color-warm-gray-400: #919389;
        --sgds-color-warm-gray-500: #7d7f76;
        --sgds-color-warm-gray-600: #696b64;
        --sgds-color-warm-gray-700: #555751;
        --sgds-color-warm-gray-800: #41433e;
        --sgds-color-warm-gray-900: #2d2f2b;
        --sgds-color-white: #fff;
        --sgds-color-white-a200: rgba(255, 255, 255, .2);
        --sgds-color-white-a500: rgba(255, 255, 255, .5);
        --sgds-color-white-a800: rgba(255, 255, 255, .8);
        --sgds-color-bg: var(--sgds-color-white);
        --sgds-color-bg-alternate: var(--sgds-color-warm-gray-50);
        --sgds-color-bg-primary: var(--sgds-color-green-400);
        --sgds-color-bg-prominent: var(--sgds-color-warm-gray-900);
        --sgds-color-border: var(--sgds-color-warm-gray-100);
        --sgds-color-border-focus: var(--sgds-color-cyan-400);
        --sgds-color-border-hover: var(--sgds-color-warm-gray-200);
        --sgds-color-border-hover-on-dark: var(--sgds-color-warm-gray-200);
        --sgds-color-border-on-dark: var(--sgds-color-white);
        --sgds-color-border-primary: var(--sgds-color-green-400);
        --sgds-color-border-prominent: var(--sgds-color-moss-800);
        --sgds-color-icon: var(--sgds-color-moss-800);
        --sgds-color-icon-disabled: var(--sgds-color-warm-gray-300);
        --sgds-color-icon-hover: var(--sgds-color-moss-600);
        --sgds-color-icon-on-dark: var(--sgds-color-white);
        --sgds-color-icon-hover-on-dark: var(--sgds-color-green-400);
        --sgds-color-icon-primary-hover: var(--sgds-color-moss-600);
        --sgds-color-icon-primary-on-dark: var(--sgds-color-green-400);
        --sgds-color-icon-primary-hover-on-dark: var(--sgds-color-white);
        --sgds-color-text: var(--sgds-color-warm-gray-600);
        --sgds-color-text-hover: var(--sgds-color-moss-600);
        --sgds-color-text-on-dark: var(--sgds-color-warm-gray-200);
        --sgds-color-text-hover-on-dark: var(--sgds-color-white);
        --sgds-color-text-primary-on-dark: var(--sgds-color-green-400);
        --sgds-color-text-prominent-on-dark: var(--sgds-color-warm-gray-50);
        --sgds-color-text-prominent-hover-on-dark: var(--sgds-color-white);
        --sgds-color-text-prominent: var(--sgds-color-warm-gray-900);
        --sgds-color-text-subtle: #75776e;
        --sgds-font-family: "Beausite Classic", Arial, sans-serif;
        --sgds-font-family-serif: "Gothia Serif Text", Georgia, "Times New Roman", serif;
        --sgds-font-family-mono: "FT System Mono", "Roboto Mono", monospace;
        --sgds-font-size-150: .75em;
        --sgds-font-size-175: .875em;
        --sgds-font-size-200: 1em;
        --sgds-font-size-225: 1.125em;
        --sgds-font-size-250: 1.25em;
        --sgds-font-size-275: 1.375em;
        --sgds-font-size-300: 1.5em;
        --sgds-font-size-350: 1.75em;
        --sgds-font-size-375: 1.875em;
        --sgds-font-size-400: 2em;
        --sgds-font-size-450: 2.25em;
        --sgds-font-size-500: 2.5em;
        --sgds-font-size-550: 2.75em;
        --sgds-font-size-600: 3em;
        --sgds-font-size-700: 3.5em;
        --sgds-font-size-900: 4.5em;
        --sgds-font-size-1200: 6em;
        --sgds-font-size-2400: 12em;
        --sgds-font-weight-normal: 400;
        --sgds-font-weight-semibold: 600;
        --sgds-font-weight-bold: 700;
        --sgds-font-line-height-none: 1;
        --sgds-font-line-height-xs: 1.1;
        --sgds-font-line-height-sm: 1.2;
        --sgds-font-line-height-md: 1.3;
        --sgds-font-line-height-lg: 1.4;
        --sgds-font-line-height-xl: 1.5;
        --sgds-font-line-height-2xl: 1.6;
        --sgds-font-letter-spacing-2xs: -.03em;
        --sgds-font-letter-spacing-xs: -.02em;
        --sgds-font-letter-spacing-sm: -.01em;
        --sgds-icon-add-sm: "M29 23h-4v-4c0-.6-.4-1-1-1s-1 .4-1 1v4h-4c-.6 0-1 .4-1 1s.4 1 1 1h4v4c0 .6.4 1 1 1s1-.4 1-1v-4h4c.6 0 1-.4 1-1s-.4-1-1-1Z";
        --sgds-icon-subtract-sm: "M30 23H18v2h12v-2Z";
        --sgds-size-10: .0625rem;
        --sgds-size-25: .125rem;
        --sgds-size-50: .25rem;
        --sgds-size-100: .5rem;
        --sgds-size-150: .75rem;
        --sgds-size-200: 1rem;
        --sgds-size-225: 1.125rem;
        --sgds-size-250: 1.25rem;
        --sgds-size-300: 1.5rem;
        --sgds-size-400: 2rem;
        --sgds-size-600: 3rem;
        --sgds-size-800: 4rem;
        --sgds-size-1000: 5rem;
        --sgds-size-1200: 6rem;
        --sgds-size-1400: 7rem;
        --sgds-size-1600: 8rem;
        --sgds-size-1800: 9rem;
        --sgds-size-2000: 10rem;
        --sgds-size-2400: 12rem;
        --sgds-size-2600: 13rem;
        --sgds-size-2800: 14rem;
        --sgds-size-3200: 16rem;
        --sgds-size-5000: 25rem;
        --sgds-size-5300: 26.5rem;
        --sgds-size-8000: 40rem;
        --sgds-size-3xs: var(--sgds-size-50);
        --sgds-size-2xs: var(--sgds-size-100);
        --sgds-size-xs: var(--sgds-size-150);
        --sgds-size-sm: var(--sgds-size-200);
        --sgds-size-md: var(--sgds-size-300);
        --sgds-size-lg: var(--sgds-size-400);
        --sgds-size-xl: var(--sgds-size-600);
        --sgds-size-2xl: var(--sgds-size-800);
        --sgds-size-3xl: var(--sgds-size-1200);
        --sgds-size-4xl: var(--sgds-size-2400)
    }
}

@layer generic {

    html,
    summary:before,
    summary:after {
        box-sizing: border-box
    }

    *,
    :before,
    :after {
        box-sizing: inherit
    }

    @font-face {
        font-display: swap;
        font-family: Beausite Classic;
        font-style: normal;
        font-weight: 400;
        src: url(/fonts/beausiteclassic-regular.woff2)format("woff2")
    }

    @font-face {
        font-display: swap;
        font-family: Beausite Classic;
        font-style: italic;
        font-weight: 400;
        src: url(/fonts/beausiteclassic-regularitalic.woff2)format("woff2")
    }

    @font-face {
        font-display: swap;
        font-family: Beausite Classic;
        font-style: normal;
        font-weight: 600;
        src: url(/fonts/beausiteclassic-semibold.woff2)format("woff2")
    }

    @font-face {
        font-display: swap;
        font-family: Beausite Classic;
        font-style: italic;
        font-weight: 600;
        src: url(/fonts/beausiteclassic-semibolditalic.woff2)format("woff2")
    }

    @font-face {
        font-display: swap;
        font-family: Gothia Serif Text;
        font-style: normal;
        font-weight: 400;
        src: url(/fonts/gothiaseriftext-regular.woff2)format("woff2")
    }

    @font-face {
        font-display: swap;
        font-family: Gothia Serif Text;
        font-style: italic;
        font-weight: 400;
        src: url(/fonts/gothiaseriftext-regularitalic.woff2)format("woff2")
    }

    @font-face {
        font-display: swap;
        font-family: FT System Mono;
        font-style: normal;
        font-weight: 400;
        src: url(/fonts/ftsystemmono-regular.woff2)format("woff2")
    }

    blockquote,
    body,
    caption,
    dd,
    dl,
    fieldset,
    figure,
    form,
    h1,
    h2,
    h3,
    h4,
    h5,
    h6,
    hr,
    legend,
    ol,
    p,
    pre,
    table,
    td,
    th,
    ul {
        margin: 0;
        padding: 0
    }

    input,
    textarea,
    select {
        font-family: inherit
    }

    iframe {
        border: 0
    }
}

@layer elements {
    a {
        -webkit-text-decoration: var(--sgds-text-decoration);
        text-decoration: var(--sgds-text-decoration);
        text-underline-offset: .18em;
        transition: text-decoration var(--sgds-animation-duration)var(--sgds-animation-easing);
        text-decoration-line: underline
    }

    :is(a, button, input, select, summary, textarea, [role=tabpanel]):focus-visible {
        outline: var(--sgds-border-width-focus)var(--sgds-border-style)var(--sgds-color-border-focus);
        outline-offset: var(--sgds-border-offset-focus)
    }

    html {
        --scroll-padding: var(--sgds-size-md);
        background-color: var(--sgds-color-bg);
        transition: background var(--sgds-animation-duration)var(--sgds-animation-easing);
        height: 100%;
        scroll-padding-block-start: var(--scroll-padding);
        overflow-x: hidden
    }

    @media (min-width:48em) {
        html {
            --scroll-padding: calc(var(--nav-secondary-height, 5rem) + var(--sgds-size-lg))
        }
    }

    @media (prefers-reduced-motion:no-preference) {
        html {
            scroll-behavior: smooth
        }
    }

    body {
        color: var(--sgds-color-text);
        font-family: var(--sgds-font-family);
        -moz-osx-font-smoothing: grayscale;
        -webkit-font-smoothing: antialiased;
        line-height: var(--sgds-font-line-height-none);
        text-rendering: optimizelegibility;
        transition: color var(--sgds-animation-duration)var(--sgds-animation-easing);
        grid-template-rows: auto 1fr auto;
        min-height: 100%;
        display: grid
    }

    img {
        shape-margin: 1rem;
        background-repeat: no-repeat;
        background-size: cover;
        max-width: 100%;
        height: auto;
        font-style: italic;
        display: block
    }

    svg {
        max-width: 100%;
        height: auto
    }

    input {
        accent-color: var(--sgds-color-bg-primary)
    }
}

@layer objects {
    .grid {
        --align: stretch;
        --align-self: inherit;
        --column: 1/-1;
        --column-gap: var(--sgds-size-md, 1.5rem);
        --justify-self: inherit;
        --row-gap: var(--sgds-size-md, 1.5rem);
        align-items: var(--align);
        gap: var(--row-gap)var(--column-gap);
        list-style-type: none;
        display: grid
    }

    @media (min-width:48em) {
        .grid {
            grid-template-columns: repeat(12, minmax(0, 1fr))
        }
    }

    @media (min-width:120em) {
        .grid {
            --column-gap: var(--sgds-size-xl)
        }
    }

    .grid__col {
        align-self: var(--align-self);
        justify-self: var(--justify-self);
        grid-column: var(--column)
    }

    .grid--auto-rows-2-grow-1 {
        grid-auto-rows: 1fr auto
    }

    .grid--gap-0 {
        --column-gap: 0;
        --row-gap: 0
    }

    .grid--row-gap-xl {
        --row-gap: var(--sgds-size-xl)
    }

    .grid--row-gap-2xl {
        --row-gap: var(--sgds-size-2xl)
    }

    .grid--row-gap-3xl {
        --row-gap: var(--sgds-size-3xl)
    }

    .grid--align-start {
        --align: start
    }

    .grid--align-center {
        --align: center
    }

    .grid--align-end {
        --align: end
    }

    .grid--align-baseline {
        --align: baseline
    }

    .grid--align-stretch {
        --align: stretch
    }

    .grid__col--align-center {
        --align-self: center
    }

    .grid__col--align-end {
        --align-self: end
    }

    @media (min-width:48em) {
        .sm\:grid__col--span-5 {
            --column: span 5/span 5
        }

        .sm\:grid__col--span-6 {
            --column: span 6/span 6
        }

        .sm\:grid__col--span-8 {
            --column: span 8/span 8
        }

        .sm\:grid__col--span-full {
            --column: 1/-1
        }
    }

    @media (min-width:64em) {
        .md\:grid__col--span-3 {
            --column: span 3/span 3
        }

        .md\:grid__col--span-4 {
            --column: span 4/span 4
        }

        .md\:grid__col--span-5 {
            --column: span 5/span 5
        }

        .md\:grid__col--span-6 {
            --column: span 6/span 6
        }

        .md\:grid__col--span-7 {
            --column: span 7/span 7
        }

        .md\:grid__col--span-8 {
            --column: span 8/span 8
        }

        .md\:grid__col--span-9 {
            --column: span 9/span 9
        }

        .md\:grid__col--span-full {
            --column: 1/-1
        }

        .md\:grid__col--start-6 {
            grid-column-start: 6
        }

        .md\:grid__col--start-7 {
            grid-column-start: 7
        }

        .md\:grid__col--start-8 {
            grid-column-start: 8
        }

        .md\:grid__col--start-9 {
            grid-column-start: 9
        }

        .md\:grid__col--justify-end {
            --justify-self: end
        }
    }

    @media (max-width:calc(64em - .001px)) {
        .to-md\:grid__col--order-1 {
            order: 1
        }
    }

    @media (min-width:90em) {
        .lg\:grid__col--span-2 {
            --column: span 2/span 2
        }

        .lg\:grid__col--span-3 {
            --column: span 3/span 3
        }

        .lg\:grid__col--span-4 {
            --column: span 4/span 4
        }

        .lg\:grid__col--span-6 {
            --column: span 6/span 6
        }

        .lg\:grid__col--span-8 {
            --column: span 8/span 8
        }

        .lg\:grid__col--start-5 {
            grid-column-start: 5
        }
    }

    @media (min-width:105em) {
        .xl\:grid__col--span-2 {
            --column: span 2/span 2
        }

        .xl\:grid__col--span-4 {
            --column: span 4/span 4
        }

        .xl\:grid__col--span-6 {
            --column: span 6/span 6
        }
    }

    .inline {
        --gap: var(--gap, 0);
        --align: stretch;
        --justify: normal;
        align-items: var(--align);
        gap: var(--gap);
        justify-content: var(--justify);
        flex-wrap: wrap;
        list-style-type: none;
        display: flex
    }

    .inline--gap-3xs {
        --gap: var(--sgds-size-3xs)
    }

    .inline--gap-2xs {
        --gap: var(--sgds-size-2xs)
    }

    .inline--gap-xs {
        --gap: var(--sgds-size-xs)
    }

    .inline--gap-sm {
        --gap: var(--sgds-size-sm)
    }

    .inline--gap-md {
        --gap: var(--sgds-size-md)
    }

    .inline--gap-lg {
        --gap: var(--sgds-size-lg)
    }

    .inline--gap-xl {
        --gap: var(--sgds-size-xl)
    }

    .inline--gap-2xl {
        --gap: var(--sgds-size-2xl)
    }

    .inline--gap-3xl {
        --gap: var(--sgds-size-3xl)
    }

    .inline--align-start {
        --align: flex-start
    }

    .inline--align-center {
        --align: center
    }

    .inline--align-end {
        --align: flex-end
    }

    .inline--align-stretch {
        --align: stretch
    }

    .inline--justify-between {
        --justify: space-between
    }

    .inline--justify-normal {
        --justify: normal
    }

    .inline--nowrap {
        flex-wrap: nowrap
    }

    @media (min-width:48em) {
        .sm\:inline--gap-3xs {
            --gap: var(--sgds-size-3xs)
        }

        .sm\:inline--gap-2xs {
            --gap: var(--sgds-size-2xs)
        }

        .sm\:inline--gap-xs {
            --gap: var(--sgds-size-xs)
        }

        .sm\:inline--gap-sm {
            --gap: var(--sgds-size-sm)
        }

        .sm\:inline--gap-md {
            --gap: var(--sgds-size-md)
        }

        .sm\:inline--gap-lg {
            --gap: var(--sgds-size-lg)
        }

        .sm\:inline--gap-xl {
            --gap: var(--sgds-size-xl)
        }

        .sm\:inline--gap-2xl {
            --gap: var(--sgds-size-2xl)
        }

        .sm\:inline--gap-3xl {
            --gap: var(--sgds-size-3xl)
        }

        .sm\:inline--align-start {
            --align: flex-start
        }

        .sm\:inline--align-center {
            --align: center
        }

        .sm\:inline--align-end {
            --align: flex-end
        }

        .sm\:inline--align-stretch {
            --align: stretch
        }

        .sm\:inline--justify-between {
            --justify: space-between
        }

        .sm\:inline--justify-normal {
            --justify: normal
        }

        .sm\:inline--nowrap {
            flex-wrap: nowrap
        }
    }

    @media (min-width:64em) {
        .md\:inline--gap-3xs {
            --gap: var(--sgds-size-3xs)
        }

        .md\:inline--gap-2xs {
            --gap: var(--sgds-size-2xs)
        }

        .md\:inline--gap-xs {
            --gap: var(--sgds-size-xs)
        }

        .md\:inline--gap-sm {
            --gap: var(--sgds-size-sm)
        }

        .md\:inline--gap-md {
            --gap: var(--sgds-size-md)
        }

        .md\:inline--gap-lg {
            --gap: var(--sgds-size-lg)
        }

        .md\:inline--gap-xl {
            --gap: var(--sgds-size-xl)
        }

        .md\:inline--gap-2xl {
            --gap: var(--sgds-size-2xl)
        }

        .md\:inline--gap-3xl {
            --gap: var(--sgds-size-3xl)
        }

        .md\:inline--align-start {
            --align: flex-start
        }

        .md\:inline--align-center {
            --align: center
        }

        .md\:inline--align-end {
            --align: flex-end
        }

        .md\:inline--align-stretch {
            --align: stretch
        }

        .md\:inline--justify-between {
            --justify: space-between
        }

        .md\:inline--justify-normal {
            --justify: normal
        }

        .md\:inline--nowrap {
            flex-wrap: nowrap
        }
    }

    @media (min-width:90em) {
        .lg\:inline--gap-3xs {
            --gap: var(--sgds-size-3xs)
        }

        .lg\:inline--gap-2xs {
            --gap: var(--sgds-size-2xs)
        }

        .lg\:inline--gap-xs {
            --gap: var(--sgds-size-xs)
        }

        .lg\:inline--gap-sm {
            --gap: var(--sgds-size-sm)
        }

        .lg\:inline--gap-md {
            --gap: var(--sgds-size-md)
        }

        .lg\:inline--gap-lg {
            --gap: var(--sgds-size-lg)
        }

        .lg\:inline--gap-xl {
            --gap: var(--sgds-size-xl)
        }

        .lg\:inline--gap-2xl {
            --gap: var(--sgds-size-2xl)
        }

        .lg\:inline--gap-3xl {
            --gap: var(--sgds-size-3xl)
        }

        .lg\:inline--align-start {
            --align: flex-start
        }

        .lg\:inline--align-center {
            --align: center
        }

        .lg\:inline--align-end {
            --align: flex-end
        }

        .lg\:inline--align-stretch {
            --align: stretch
        }

        .lg\:inline--justify-between {
            --justify: space-between
        }

        .lg\:inline--justify-normal {
            --justify: normal
        }

        .lg\:inline--justify-end {
            --justify: end
        }

        .lg\:inline--nowrap {
            flex-wrap: nowrap
        }
    }

    @media (max-width:calc(48em - .001px)) {
        .to-sm\:inline--stack {
            flex-direction: column
        }
    }

    .section {
        padding-block: var(--sgds-size-lg)
    }

    @media (min-width:64em) {
        .section {
            padding-block: var(--sgds-size-4xl)
        }
    }

    [class=section]+[class=section],
    [class="section md:pbs-none"]+[class=section],
    .section.bg-alternate+.section.bg-alternate {
        padding-block-start: 0
    }

    .page-header+.section {
        padding-block-start: var(--sgds-size-lg)
    }

    @media (min-width:64em) {
        .page-header[class*=-dark]+.section {
            padding-block-start: var(--sgds-size-lg)
        }
    }

    .stack {
        --align: stretch;
        --gap: var(--gap, 0);
        align-items: var(--align);
        gap: var(--gap);
        flex-direction: column;
        list-style-type: none;
        display: flex
    }

    .stack--gap-3xs {
        --gap: var(--sgds-size-3xs)
    }

    .stack--gap-2xs {
        --gap: var(--sgds-size-2xs)
    }

    .stack--gap-xs {
        --gap: var(--sgds-size-xs)
    }

    .stack--gap-sm {
        --gap: var(--sgds-size-sm)
    }

    .stack--gap-md {
        --gap: var(--sgds-size-md)
    }

    .stack--gap-lg {
        --gap: var(--sgds-size-lg)
    }

    .stack--gap-xl {
        --gap: var(--sgds-size-xl)
    }

    .stack--gap-2xl {
        --gap: var(--sgds-size-2xl)
    }

    .stack--gap-3xl {
        --gap: var(--sgds-size-3xl)
    }

    .stack--gap-4xl {
        --gap: var(--sgds-size-4xl)
    }

    .stack--align-start {
        --align: flex-start
    }

    .stack--align-center {
        --align: center
    }

    .stack--align-end {
        --align: flex-end
    }

    .stack--align-stretch {
        --align: stretch
    }

    @media (min-width:48em) {
        .sm\:stack--gap-3xs {
            --gap: var(--sgds-size-3xs)
        }

        .sm\:stack--gap-2xs {
            --gap: var(--sgds-size-2xs)
        }

        .sm\:stack--gap-xs {
            --gap: var(--sgds-size-xs)
        }

        .sm\:stack--gap-sm {
            --gap: var(--sgds-size-sm)
        }

        .sm\:stack--gap-md {
            --gap: var(--sgds-size-md)
        }

        .sm\:stack--gap-lg {
            --gap: var(--sgds-size-lg)
        }

        .sm\:stack--gap-xl {
            --gap: var(--sgds-size-xl)
        }

        .sm\:stack--gap-2xl {
            --gap: var(--sgds-size-2xl)
        }

        .sm\:stack--gap-3xl {
            --gap: var(--sgds-size-3xl)
        }

        .sm\:stack--align-start {
            --align: flex-start
        }

        .sm\:stack--align-center {
            --align: center
        }

        .sm\:stack--align-end {
            --align: flex-end
        }

        .sm\:stack--align-stretch {
            --align: stretch
        }
    }

    @media (min-width:64em) {
        .md\:stack--gap-3xs {
            --gap: var(--sgds-size-3xs)
        }

        .md\:stack--gap-2xs {
            --gap: var(--sgds-size-2xs)
        }

        .md\:stack--gap-xs {
            --gap: var(--sgds-size-xs)
        }

        .md\:stack--gap-sm {
            --gap: var(--sgds-size-sm)
        }

        .md\:stack--gap-md {
            --gap: var(--sgds-size-md)
        }

        .md\:stack--gap-lg {
            --gap: var(--sgds-size-lg)
        }

        .md\:stack--gap-xl {
            --gap: var(--sgds-size-xl)
        }

        .md\:stack--gap-2xl {
            --gap: var(--sgds-size-2xl)
        }

        .md\:stack--gap-3xl {
            --gap: var(--sgds-size-3xl)
        }

        .md\:stack--gap-4xl {
            --gap: var(--sgds-size-4xl)
        }

        .md\:stack--align-start {
            --align: flex-start
        }

        .md\:stack--align-center {
            --align: center
        }

        .md\:stack--align-end {
            --align: flex-end
        }

        .md\:stack--align-stretch {
            --align: stretch
        }
    }

    @media (min-width:90em) {
        .lg\:stack--gap-3xs {
            --gap: var(--sgds-size-3xs)
        }

        .lg\:stack--gap-2xs {
            --gap: var(--sgds-size-2xs)
        }

        .lg\:stack--gap-xs {
            --gap: var(--sgds-size-xs)
        }

        .lg\:stack--gap-sm {
            --gap: var(--sgds-size-sm)
        }

        .lg\:stack--gap-md {
            --gap: var(--sgds-size-md)
        }

        .lg\:stack--gap-lg {
            --gap: var(--sgds-size-lg)
        }

        .lg\:stack--gap-xl {
            --gap: var(--sgds-size-xl)
        }

        .lg\:stack--gap-2xl {
            --gap: var(--sgds-size-2xl)
        }

        .lg\:stack--gap-3xl {
            --gap: var(--sgds-size-3xl)
        }

        .lg\:stack--gap-4xl {
            --gap: var(--sgds-size-4xl)
        }

        .lg\:stack--align-start {
            --align: flex-start
        }

        .lg\:stack--align-center {
            --align: center
        }

        .lg\:stack--align-end {
            --align: flex-end
        }

        .lg\:stack--align-stretch {
            --align: stretch
        }
    }

    :root {
        --wrapper-padding-inline: var(--sgds-size-md);
        --wrapper-padding-inline-wide: var(--sgds-size-md)
    }

    @media (min-width:48em) {
        :root {
            --wrapper-padding-inline: var(--sgds-size-3xl);
            --wrapper-padding-inline-wide: var(--sgds-size-xl)
        }
    }

    .wrapper {
        padding-inline: var(--wrapper-padding-inline);
        max-width: 108rem;
        margin-inline: auto
    }

    .wrapper--wide {
        padding-inline: var(--wrapper-padding-inline-wide);
        max-width: 120rem
    }

    .wrapper--prose {
        max-width: calc(68ch + var(--wrapper-padding-inline)*2)
    }

    .blockquote,
    .richtext blockquote {
        hanging-punctuation: first last
    }

    .button,
    .hs-button {
        border: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-border-prominent);
        border-radius: var(--sgds-border-radius-pill);
        color: var(--sgds-color-text-prominent);
        cursor: pointer;
        font-size: var(--sgds-font-size-200);
        font-weight: var(--sgds-font-weight-semibold);
        align-items: center;
        gap: var(--sgds-size-2xs);
        line-height: var(--sgds-font-line-height-sm);
        transition: background-color var(--sgds-animation-duration)var(--sgds-animation-easing), color var(--sgds-animation-duration)var(--sgds-animation-easing);
        background-color: transparent;
        padding: .85em 1em;
        text-decoration: none;
        display: inline-flex
    }

    :is(.button, .hs-button):hover {
        background-color: var(--sgds-color-bg-prominent);
        color: var(--sgds-color-text-hover-on-dark)
    }

    .button--on-dark {
        border-color: var(--sgds-color-border-on-dark);
        color: var(--sgds-color-text-prominent-on-dark)
    }

    .button--on-dark:hover {
        background-color: var(--sgds-color-bg);
        border-color: var(--sgds-color-border-on-dark);
        color: var(--sgds-color-text-prominent)
    }

    .button--primary,
    .button--active,
    .button[aria-current=page],
    .button[aria-selected=true] {
        background-color: var(--sgds-color-bg-prominent);
        border-color: var(--sgds-color-border-prominent);
        color: var(--sgds-color-text-prominent-on-dark)
    }

    .button--primary:hover,
    .button--primary[aria-current=page] {
        background-color: var(--sgds-color-bg-primary);
        border-color: var(--sgds-color-bg-primary);
        color: var(--sgds-color-text-prominent)
    }

    .button--nowrap {
        white-space: nowrap
    }

    .button path {
        transition: fill var(--sgds-animation-duration)var(--sgds-animation-easing), stroke var(--sgds-animation-duration)var(--sgds-animation-easing)
    }

    .button path[fill] {
        fill: currentColor
    }

    [stroke] :is(.button path) {
        stroke: currentColor
    }

    .button path[stroke] {
        stroke: currentColor
    }

    .button__icon {
        flex-shrink: 0;
        width: 1em
    }

    .display-text {
        --font-size: var(--sgds-font-size-600);
        --line-height: var(--sgds-font-line-height-none);
        color: var(--sgds-color-text-prominent);
        font-family: var(--sgds-font-family);
        font-size: var(--font-size);
        font-weight: var(--sgds-font-weight-normal);
        letter-spacing: var(--sgds-font-letter-spacing-sm);
        line-height: var(--line-height);
        text-wrap: balance
    }

    .display-text--serif {
        font-family: var(--sgds-font-family-serif)
    }

    @media (min-width:64em) {
        .display-text {
            --font-size: var(--sgds-font-size-700)
        }
    }

    @media (min-width:90em) {
        .display-text {
            --font-size: var(--sgds-font-size-900)
        }
    }
}

@layer components {
    .tiles {
        --align: stretch;
        --border: var(--sgds-border-width);
        --column: 1;
        --column-gap: var(--sgds-size-md, 1.5rem);
        --justify: stretch;
        --row-gap: var(--sgds-size-md, 1.5rem);
        align-items: var(--align);
        justify-items: var(--justify);
        gap: var(--row-gap)var(--column-gap);
        grid-template-columns: repeat(var(--column), minmax(0, 1fr));
        list-style-type: none;
        display: grid
    }

    @media (min-width:120em) {
        .tiles {
            --column-gap: var(--sgds-size-xl);
            --row-gap: var(--sgds-size-xl)
        }
    }

    .tiles>* {
        border: 0 var(--sgds-border-style)var(--sgds-color-border)
    }

    .tiles--divider>* {
        border-block-start-width: var(--border)
    }

    .tiles--gap-0 {
        --column-gap: 0;
        --row-gap: 0
    }

    .tiles--row-gap-2xl {
        --row-gap: var(--sgds-size-2xl)
    }

    .tiles--row-gap-3xl {
        --row-gap: var(--sgds-size-3xl)
    }

    .tiles--cols-2 {
        --column: 2
    }

    .tiles--justify-center {
        --justify: center
    }

    @media (min-width:48em) {
        .tiles--divider[class*=sm\:tiles--cols]>* {
            border-block-start-width: 0;
            border-inline-start-width: var(--border)
        }

        .sm\:tiles--cols-2 {
            --column: 2
        }
    }

    @media (min-width:64em) {
        .tiles--divider[class*=md\:tiles--cols]>* {
            border-block-start-width: 0;
            border-inline-start-width: var(--border)
        }

        .md\:tiles--row-gap-3xl {
            --row-gap: var(--sgds-size-3xl)
        }

        .md\:tiles--cols-1 {
            --column: 1
        }

        .md\:tiles--cols-2 {
            --column: 2
        }

        .md\:tiles--cols-3 {
            --column: 3
        }

        .md\:tiles--cols-4 {
            --column: 4
        }
    }

    @media (min-width:90em) {
        .lg\:tiles--cols-3 {
            --column: 3
        }

        .lg\:tiles--cols-4 {
            --column: 4
        }
    }

    .accordion {
        flex-direction: column;
        align-items: stretch;
        gap: 0;
        list-style-type: none;
        display: flex
    }

    .accordion__item {
        border-block-start: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-border)
    }

    .accordion__toggle {
        border-radius: var(--sgds-border-radius);
        cursor: pointer;
        font-size: var(--sgds-font-size-250);
        font-weight: var(--sgds-font-weight-semibold);
        align-items: center;
        gap: var(--sgds-size-md);
        letter-spacing: var(--sgds-font-letter-spacing-sm);
        line-height: var(--sgds-font-line-height-lg);
        transition: color var(--sgds-animation-duration)var(--sgds-animation-easing);
        justify-content: space-between;
        padding-block: 1.5em;
        padding-inline-end: var(--sgds-size-2xl);
        display: flex;
        position: relative
    }

    @media (min-width:90em) {
        .accordion__toggle {
            font-size: var(--sgds-font-size-300);
            padding-block: 1em
        }
    }

    .accordion__toggle:hover {
        color: var(--sgds-color-text-hover);
        text-decoration-color: currentColor
    }

    [open] .accordion__toggle {
        color: var(--sgds-color-text-prominent)
    }

    .accordion__toggle::marker {
        display: none
    }

    .accordion__toggle::-webkit-details-marker {
        display: none
    }

    .accordion__toggle:before,
    .accordion__toggle:after {
        content: "";
        height: var(--sgds-size-xl);
        transition: all var(--sgds-animation-duration)var(--sgds-animation-easing);
        width: var(--sgds-size-xl);
        position: absolute;
        right: 0
    }

    .accordion__toggle:before {
        border: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-border);
        border-radius: var(--sgds-border-radius-round)
    }

    .accordion__toggle:hover:before {
        border-color: var(--sgds-color-border-hover)
    }

    [open] .accordion__toggle:before {
        border-color: var(--sgds-color-border-prominent)
    }

    .accordion__toggle:after {
        --color: var(--sgds-color-text);
        background-color: var(--color);
        clip-path: path(var(--sgds-icon-add-sm))
    }

    .accordion__toggle:hover:after {
        --color: var(--sgds-color-icon-primary)
    }

    [open] .accordion__toggle:after {
        --color: var(--sgds-color-icon);
        clip-path: path(var(--sgds-icon-subtract-sm))
    }

    .accordion__content {
        padding-block: var(--sgds-size-sm)var(--sgds-size-lg)
    }

    .card {
        background-color: var(--sgds-color-bg);
        border-radius: var(--sgds-border-radius);
        transition: background-color var(--sgds-animation-duration)var(--sgds-animation-easing);
        flex-direction: column;
        display: flex;
        position: relative;
        overflow: hidden
    }

    .card--border {
        border: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-border)
    }

    .card--border:hover {
        background-color: var(--sgds-color-bg-alternate)
    }

    .card--download {
        flex: 0 0 100%;
    }
    @media (min-width: 48em) {
        .card--download {
            flex: 0 0 120px;
        }
    }

    .card__img-container {
        flex: 0 1 50%;
    }
    @media (min-width: 48em) {
        .card__img-container {
            flex: 0 1 150px;
        }
    }

    .card__body {
        flex: 0 1 100%;
    }

    .card__icon-container {
        flex: 0 0 24px;
    }

    .card__icon {
        color: var(--sgds-color-icon);
        flex-shrink: 0
    }

    .card:hover .card__icon {
        color: var(--sgds-color-icon-hover)
    }

    .card__image>picture {
        aspect-ratio: 200/175;
        align-items: end;
        display: flex
    }

    .card__image>picture img {
        width: auto;
        max-height: 100%
    }

    [data-carousel] {
        max-width: calc(100vw - var(--wrapper-padding-inline)*2)
    }

    section:has([data-carousel]) {
        overflow-x: hidden
    }

    section:has([data-carousel])>.wrapper {
        padding-block-start: var(--sgds-size-3xs)
    }

    [data-carousel-container] {
        --gap: var(--sgds-size-md);
        backface-visibility: hidden;
        touch-action: pan-y;
        margin-inline-start: calc(-1*var(--gap));
        display: flex
    }

    @media (min-width:120em) {
        [data-carousel-container] {
            --gap: var(--sgds-size-xl)
        }
    }

    [data-carousel]:not(.carousel--init) [data-carousel-container] {
        flex-wrap: wrap
    }

    [data-carousel-slide] {
        flex: 0 0 82%;
        min-width: 0;
        padding-inline-start: var(--gap)
    }

    @media (min-width:48em) {
        [data-carousel-slide] {
            flex: 0 0 100%
        }
    }

    @media (min-width:48em) {
        [data-carousel-container=cols-3] [data-carousel-slide] {
            flex: 0 0 50%
        }
    }

    @media (min-width:64em) {
        [data-carousel-container=cols-3] [data-carousel-slide] {
            flex: 0 0 33.333%
        }
    }

    [data-carousel]:not(.carousel--init) :is([data-carousel-prev], [data-carousel-next]) {
        display: none
    }

    .carousel__control {
        border-radius: var(--sgds-border-radius);
        color: var(--sgds-color-icon);
        padding: var(--sgds-size-xs);
        transition: color var(--sgds-animation-duration)var(--sgds-animation-easing);
        background-color: transparent;
        border: 0
    }

    .carousel__control:hover {
        color: var(--sgds-color-icon-hover)
    }

    .carousel__control:not([disabled]) {
        cursor: pointer
    }

    .carousel__control[disabled] {
        color: var(--sgds-color-icon-disabled)
    }

    .carousel__control path {
        fill: currentColor
    }

    [data-carousel=gallery] .hover\:cursor-next [data-carousel-slide] {
        cursor: url("data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" fill=\"none\"%3E%3Crect width=\"48\" height=\"48\" fill=\"%23003941\" rx=\"24\"/%3E%3Cpath stroke=\"%23F2F1EF\" stroke-miterlimit=\"10\" stroke-width=\"2\" d=\"M14 24h20\"/%3E%3Cpath stroke=\"%23F2F1EF\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" stroke-width=\"2\" d=\"m27 17 7 7-7 7\"/%3E%3C/svg%3E") 24 24, auto
    }

    [data-carousel=gallery] .hover\:cursor-next [data-carousel-slide=active]:last-child {
        cursor: url("data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" opacity=\"0.5\" fill=\"none\"%3E%3Crect width=\"48\" height=\"48\" fill=\"%23a5a79c\" rx=\"24\"/%3E%3Cpath stroke=\"%23F2F1EF\" stroke-miterlimit=\"10\" stroke-width=\"2\" d=\"M14 24h20\"/%3E%3Cpath stroke=\"%23F2F1EF\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" stroke-width=\"2\" d=\"m27 17 7 7-7 7\"/%3E%3C/svg%3E") 24 24, auto
    }

    [data-carousel=gallery] .hover\:cursor-prev [data-carousel-slide] {
        cursor: url("data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" fill=\"none\"%3E%3Crect width=\"48\" height=\"48\" x=\"48\" y=\"48\" fill=\"%23003941\" rx=\"24\" transform=\"rotate(-180 48 48)\"/%3E%3Cpath stroke=\"%23F2F1EF\" stroke-miterlimit=\"10\" stroke-width=\"2\" d=\"M34 24H14\"/%3E%3Cpath stroke=\"%23F2F1EF\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" stroke-width=\"2\" d=\"m21 31-7-7 7-7\"/%3E%3C/svg%3E") 24 24, auto
    }

    [data-carousel=gallery] .hover\:cursor-prev [data-carousel-slide=active]:first-child {
        cursor: url("data:image/svg+xml,%3Csvg xmlns=\"http://www.w3.org/2000/svg\" width=\"48\" height=\"48\" opacity=\"0.5\" fill=\"none\"%3E%3Crect width=\"48\" height=\"48\" x=\"48\" y=\"48\" fill=\"%23a5a79c\" rx=\"24\" transform=\"rotate(-180 48 48)\"/%3E%3Cpath stroke=\"%23F2F1EF\" stroke-miterlimit=\"10\" stroke-width=\"2\" d=\"M34 24H14\"/%3E%3Cpath stroke=\"%23F2F1EF\" stroke-linecap=\"square\" stroke-miterlimit=\"10\" stroke-width=\"2\" d=\"m21 31-7-7 7-7\"/%3E%3C/svg%3E") 24 24, auto
    }

    :is(.code, .mono, .pre) {
        font-family: var(--sgds-font-family-mono), monospace
    }

    .richtext :is(code, pre) {
        font-family: var(--sgds-font-family-mono), monospace
    }

    .pre {
        font-size: var(--sgds-font-size-250)
    }

    .richtext :is(.mono, pre) {
        font-size: var(--sgds-font-size-250)
    }

    .pre,
    .richtext pre {
        background-color: var(--sgds-color-bg-alternate);
        border-radius: var(--sgds-border-radius);
        line-height: var(--sgds-font-line-height-lg);
        max-width: calc(100vw - var(--wrapper-padding-inline)*2);
        padding: var(--sgds-size-sm);
        width: 100%;
        overflow-x: auto
    }

    :not(.pre)>.code,
    .richtext :not(pre)>code {
        background-color: var(--sgds-color-bg-alternate);
        border-radius: var(--sgds-border-radius);
        color: var(--sgds-color-text-prominent);
        padding: var(--sgds-size-3xs)
    }

    .code,
    .richtext code {
        word-break: break-all
    }

    .code--wrap {
        white-space: break-spaces
    }

    [data-dialog-open],
    [data-dialog-open] body {
        overflow: hidden
    }

    .divider,
    .richtext hr {
        border: 0;
        border-block-start: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-border)
    }

    .hs-form-container {
        min-height: 26rem
    }

    .hs-form {
        gap: var(--sgds-size-md);
        flex-direction: column;
        display: flex
    }

    .hs-form-field {
        gap: var(--sgds-size-2xs);
        flex-direction: column;
        display: flex
    }

    .hs-error-msgs {
        color: var(--sgds-color-text-danger);
        font-size: var(--sgds-font-size-200);
        line-height: var(--sgds-font-line-height-lg);
        list-style-type: none
    }

    :is(.h1, .h2, .h3, .h4, .h5, .h6) {
        --font-size: var(--sgds-font-size-400);
        --line-height: var(--sgds-font-line-height-xs);
        color: var(--sgds-color-text-prominent);
        font-family: var(--sgds-font-family);
        font-size: var(--font-size);
        font-weight: var(--sgds-font-weight-semibold);
        letter-spacing: var(--sgds-font-letter-spacing-xs);
        line-height: var(--line-height);
        text-wrap: balance
    }

    .richtext :is(h1, h2, h3, h4, h5, h6) {
        --font-size: var(--sgds-font-size-400);
        --line-height: var(--sgds-font-line-height-xs);
        color: var(--sgds-color-text-prominent);
        font-family: var(--sgds-font-family);
        font-size: var(--font-size);
        font-weight: var(--sgds-font-weight-semibold);
        letter-spacing: var(--sgds-font-letter-spacing-xs);
        line-height: var(--line-height);
        text-wrap: balance
    }

    .h1,
    .richtext h1 {
        --font-size: var(--sgds-font-size-450)
    }

    @media (min-width:64em) {
        :is(.h1, .richtext h1) {
            --font-size: var(--sgds-font-size-500)
        }
    }

    @media (min-width:90em) {
        :is(.h1, .richtext h1) {
            --font-size: var(--sgds-font-size-550)
        }
    }

    @media (min-width:90em) {
        :is(.h2, .richtext h2) {
            --font-size: var(--sgds-font-size-450)
        }
    }

    .h3,
    .richtext h3 {
        --font-size: var(--sgds-font-size-300)
    }

    @media (min-width:90em) {
        :is(.h3, .richtext h3) {
            --font-size: var(--sgds-font-size-375)
        }
    }

    .h4,
    .richtext h4 {
        --font-size: var(--sgds-font-size-250)
    }

    @media (min-width:90em) {
        :is(.h4, .richtext h4) {
            --font-size: var(--sgds-font-size-300)
        }
    }

    .h5,
    .richtext h5 {
        --font-size: var(--sgds-font-size-200)
    }

    @media (min-width:90em) {
        :is(.h5, .richtext h5) {
            --font-size: var(--sgds-font-size-250)
        }
    }

    .h6,
    .richtext h6 {
        --font-size: var(--sgds-font-size-175)
    }

    @media (min-width:90em) {
        :is(.h6, .richtext h6) {
            --font-size: var(--sgds-font-size-200)
        }
    }

    :is(.h1--serif, .h2--serif, .h3--serif, .h4--serif, .h5--serif, .h6--serif) {
        font-family: var(--sgds-font-family-serif);
        font-weight: var(--sgds-font-weight-normal)
    }

    .h404 {
        color: transparent;
        font-family: var(--sgds-font-family);
        font-size: clamp(3rem, 18vw, 17rem);
        font-weight: var(--sgds-font-weight-semibold);
        letter-spacing: var(--sgds-font-letter-spacing-2xs);
        line-height: var(--sgds-font-line-height-none);
        -webkit-text-stroke-width: var(--sgds-border-width);
        -webkit-text-stroke-color: var(--sgds-color-text-prominent)
    }

    @media (min-width:48em) {
        .h404 {
            -webkit-text-stroke-width: calc(2*var(--sgds-border-width))
        }
    }

    .label,
    .hs-form-field>label {
        color: var(--sgds-color-text-prominent);
        font-size: var(--sgds-size-200);
        font-weight: var(--sgds-font-weight-semibold)
    }

    :root {
        --cap-height: 700;
        --ascender: 950;
        --descender: -250;
        --line-gap: 200;
        --units-per-em: 1000
    }

    .display-text--serif {
        --cap-height: 680;
        --ascender: 920;
        --descender: -250;
        --line-gap: 0;
        --units-per-em: 1000
    }

    :is(.h1--serif, .h2--serif, .h3--serif, .h4--serif, .h5--serif, .h6--serif) {
        --cap-height: 680;
        --ascender: 920;
        --descender: -250;
        --line-gap: 0;
        --units-per-em: 1000
    }

    @supports (text-edge:alphabetic) and (leading-trim:both) {

        .richtext p,
        .display-text,
        .nav-primary__link,
        .nav-primary__link--button,
        .nav-sub__link,
        .text {
            text-edge: cap alphabetic;
            leading-trim: both
        }

        :is(.h1, .h2, .h3, .h4, .h5, .h6) {
            text-edge: cap alphabetic;
            leading-trim: both
        }

        .richtext :is(h1, h2, h3, h4, h5, h6) {
            text-edge: cap alphabetic;
            leading-trim: both
        }

        :is(.ol, .ul) {
            text-edge: cap alphabetic;
            leading-trim: both
        }

        .richtext :is(ol, ul) {
            text-edge: cap alphabetic;
            leading-trim: both
        }
    }

    @supports (not (text-edge:alphabetic)) and (not (leading-trim:both)) {

        .richtext p,
        .display-text,
        .nav-primary__link,
        .nav-primary__link--button,
        .nav-sub__link,
        .text {
            --content-area: calc(var(--ascender) + var(--descender)*-1);
            --line-height-scale: calc(var(--line-height)*var(--units-per-em));
            --half-leading: calc((var(--line-height-scale) - var(--content-area))/2);
            --start-adjust: calc((var(--ascender) - var(--cap-height) + var(--half-leading))/var(--units-per-em)*-1em);
            --end-adjust: calc((var(--descender)*-1 + var(--half-leading))/var(--units-per-em)*-1em);
            display: flow-root
        }

        :is(.h1, .h2, .h3, .h4, .h5, .h6) {
            --content-area: calc(var(--ascender) + var(--descender)*-1);
            --line-height-scale: calc(var(--line-height)*var(--units-per-em));
            --half-leading: calc((var(--line-height-scale) - var(--content-area))/2);
            --start-adjust: calc((var(--ascender) - var(--cap-height) + var(--half-leading))/var(--units-per-em)*-1em);
            --end-adjust: calc((var(--descender)*-1 + var(--half-leading))/var(--units-per-em)*-1em);
            display: flow-root
        }

        :is(.h1, .h2, .h3, .h4, .h5, .h6):before {
            content: "";
            display: block
        }

        :is(.h1, .h2, .h3, .h4, .h5, .h6):after {
            content: "";
            display: block
        }

        :is(.h1, .h2, .h3, .h4, .h5, .h6):before {
            margin-block-start: var(--start-adjust)
        }

        :is(.h1, .h2, .h3, .h4, .h5, .h6):after {
            margin-block-end: var(--end-adjust)
        }

        :is(.h1, .h2, .h3, .h4, .h5, .h6) :is(.h1, .h2, .h3, .h4, .h5, .h6):before {
            content: none
        }

        :is(.h1, .h2, .h3, .h4, .h5, .h6) :is(.h1, .h2, .h3, .h4, .h5, .h6):after {
            content: none
        }

        .richtext :is(h1, h2, h3, h4, h5, h6) {
            --content-area: calc(var(--ascender) + var(--descender)*-1);
            --line-height-scale: calc(var(--line-height)*var(--units-per-em));
            --half-leading: calc((var(--line-height-scale) - var(--content-area))/2);
            --start-adjust: calc((var(--ascender) - var(--cap-height) + var(--half-leading))/var(--units-per-em)*-1em);
            --end-adjust: calc((var(--descender)*-1 + var(--half-leading))/var(--units-per-em)*-1em);
            display: flow-root
        }

        .richtext :is(h1, h2, h3, h4, h5, h6):before {
            content: "";
            display: block
        }

        .richtext :is(h1, h2, h3, h4, h5, h6):after {
            content: "";
            display: block
        }

        .richtext :is(h1, h2, h3, h4, h5, h6):before {
            margin-block-start: var(--start-adjust)
        }

        .richtext :is(h1, h2, h3, h4, h5, h6):after {
            margin-block-end: var(--end-adjust)
        }

        .richtext :is(h1, h2, h3, h4, h5, h6) :is(.richtext :is(h1, h2, h3, h4, h5, h6)):before {
            content: none
        }

        .richtext :is(h1, h2, h3, h4, h5, h6) :is(.richtext :is(h1, h2, h3, h4, h5, h6)):after {
            content: none
        }

        :is(.ol, .ul) {
            --content-area: calc(var(--ascender) + var(--descender)*-1);
            --line-height-scale: calc(var(--line-height)*var(--units-per-em));
            --half-leading: calc((var(--line-height-scale) - var(--content-area))/2);
            --start-adjust: calc((var(--ascender) - var(--cap-height) + var(--half-leading))/var(--units-per-em)*-1em);
            --end-adjust: calc((var(--descender)*-1 + var(--half-leading))/var(--units-per-em)*-1em);
            display: flow-root
        }

        :is(.ol, .ul):before {
            content: "";
            display: block
        }

        :is(.ol, .ul):after {
            content: "";
            display: block
        }

        :is(.ol, .ul):before {
            margin-block-start: var(--start-adjust)
        }

        :is(.ol, .ul):after {
            margin-block-end: var(--end-adjust)
        }

        :is(.ol, .ul) :is(.ol, .ul):before {
            content: none
        }

        :is(.ol, .ul) :is(.ol, .ul):after {
            content: none
        }

        .richtext :is(ol, ul) {
            --content-area: calc(var(--ascender) + var(--descender)*-1);
            --line-height-scale: calc(var(--line-height)*var(--units-per-em));
            --half-leading: calc((var(--line-height-scale) - var(--content-area))/2);
            --start-adjust: calc((var(--ascender) - var(--cap-height) + var(--half-leading))/var(--units-per-em)*-1em);
            --end-adjust: calc((var(--descender)*-1 + var(--half-leading))/var(--units-per-em)*-1em);
            display: flow-root
        }

        .richtext :is(ol, ul):before {
            content: "";
            display: block
        }

        .richtext :is(ol, ul):after {
            content: "";
            display: block
        }

        .richtext :is(ol, ul):before {
            margin-block-start: var(--start-adjust)
        }

        .richtext :is(ol, ul):after {
            margin-block-end: var(--end-adjust)
        }

        .richtext :is(ol, ul) :is(.richtext :is(ol, ul)):before {
            content: none
        }

        .richtext :is(ol, ul) :is(.richtext :is(ol, ul)):after {
            content: none
        }

        :is(.richtext p, .display-text, .nav-primary__link, .nav-primary__link--button, .nav-sub__link, .text):before {
            content: "";
            display: block
        }

        :is(.richtext p, .display-text, .nav-primary__link, .nav-primary__link--button, .nav-sub__link, .text):after {
            content: "";
            display: block
        }

        :is(.richtext p, .display-text, .nav-primary__link, .nav-primary__link--button, .nav-sub__link, .text):before {
            margin-block-start: var(--start-adjust)
        }

        :is(.richtext p, .display-text, .nav-primary__link, .nav-primary__link--button, .nav-sub__link, .text):after {
            margin-block-end: var(--end-adjust)
        }

        :is(.richtext p, .display-text, .nav-primary__link, .nav-primary__link--button, .nav-sub__link, .text) :is(.richtext p, .display-text, .nav-primary__link, .nav-primary__link--button, .nav-sub__link, .text):before {
            content: none
        }

        :is(.richtext p, .display-text, .nav-primary__link, .nav-primary__link--button, .nav-sub__link, .text) :is(.richtext p, .display-text, .nav-primary__link, .nav-primary__link--button, .nav-sub__link, .text):after {
            content: none
        }
    }

    :where(.link, :is(.richtext, .hs-richtext) :is(h2, h3, h4, h5, h6, p, li) a) {
        --color: var(--sgds-color-text-prominent);
        --font-size: var(--sgds-font-size-250);
        --text-decoration-color: var(--sgds-color-border);
        border-radius: var(--sgds-border-radius);
        color: var(--color);
        -webkit-text-decoration-color: var(--text-decoration-color);
        text-decoration-color: var(--text-decoration-color);
        transition: color var(--sgds-animation-duration)var(--sgds-animation-easing), text-decoration var(--sgds-animation-duration)var(--sgds-animation-easing)
    }

    :where(.link, :is(.richtext, .hs-richtext) :is(h2, h3, h4, h5, h6, p, li) a):hover {
        --color: var(--sgds-color-text-hover);
        --text-decoration-color: currentColor
    }

    .link__icon {
        flex-shrink: 0
    }

    .link__icon path[fill] {
        fill: currentColor
    }

    .link__icon [stroke] path {
        stroke: currentColor
    }

    .link__icon path[stroke] {
        stroke: currentColor
    }

    .link--cover {
        display: block
    }

    .link--cover:after {
        content: "";
        position: absolute;
        inset: 0
    }

    .link--cover:not(:hover) {
        --text-decoration-color: transparent
    }

    .link--on-dark {
        --color: var(--sgds-color-text-prominent-on-dark)
    }

    .link--on-dark:hover {
        --color: var(--sgds-color-text-prominent-hover-on-dark)
    }

    .link--icon {
        align-items: center;
        gap: var(--sgds-size-2xs);
        display: inline-flex
    }

    .link--icon .link__icon {
        max-width: var(--sgds-size-sm);
        width: 1em
    }

    .link--icon:not(:hover) {
        --text-decoration-color: transparent
    }

    .link--cta {
        border-block-end: var(--sgds-border-width)solid currentColor;
        font-size: var(--font-size);
        gap: var(--sgds-size-xs);
        letter-spacing: var(--sgds-font-letter-spacing-sm);
        line-height: var(--sgds-font-line-height-lg);
        padding-block: .46em;
        text-decoration: none;
        display: inline-flex
    }

    .link--cta .link__icon--start {
        width: 1em
    }

    .link--cta .link__icon--end {
        margin-inline-start: 1.5em
    }

    @media (min-width:64em) {
        .link--cta .link__icon--end {
            margin-inline-start: 2em
        }
    }

    .link--cta:not(:focus-visible) {
        border-radius: 0
    }

    @media (min-width:64em) {
        .link--cta {
            --font-size: var(--sgds-font-size-300)
        }
    }

    :is(.ol, .ul) {
        --font-size: var(--sgds-font-size-225);
        --line-height: var(--sgds-font-line-height-lg);
        font-size: var(--font-size);
        letter-spacing: var(--sgds-font-letter-spacing-sm);
        line-height: var(--line-height);
        text-wrap: pretty;
        padding-inline-start: 1.25em
    }

    .richtext :is(ol, ul) {
        --font-size: var(--sgds-font-size-225);
        --line-height: var(--sgds-font-line-height-lg);
        font-size: var(--font-size);
        letter-spacing: var(--sgds-font-letter-spacing-sm);
        line-height: var(--line-height);
        text-wrap: pretty;
        padding-inline-start: 1.25em
    }

    :is(.ol, .ul) :is(.ol, .ul) {
        font-size: inherit
    }

    .richtext :is(ol, ul) :is(ol, ul) {
        font-size: inherit
    }

    :is(.ol, .ul, .richtext) li strong {
        color: var(--sgds-color-text-prominent);
        font-weight: var(--sgds-font-weight-semibold)
    }

    :is(.ol, .ul, .richtext) li:not(:first-child) {
        margin-block-start: .5em
    }

    li :is(.ol, .ul, .richtext ol, .richtext ul) {
        margin-block-start: .5em
    }

    .ul--checkmark li {
        margin-block-end: .75em;
        padding-inline-start: .25em;
        list-style-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%230C8514' fill-rule='evenodd' d='M8 16A8 8 0 1 0 8 0a8 8 0 0 0 0 16Zm3.4-11 1.4 1.4-5.4 5.4L4 8.4 5.4 7l2 2 4-4Z' clip-rule='evenodd'/%3E%3C/svg%3E")
    }

    @media (min-width:64em) {
        :is(.ol, .ul) {
            --font-size: var(--sgds-font-size-250)
        }

        .richtext :is(ol, ul) {
            --font-size: var(--sgds-font-size-250)
        }
    }

    @media (min-width:90em) {
        :is(.ol, .ul) {
            --font-size: var(--sgds-font-size-275)
        }

        .richtext :is(ol, ul) {
            --font-size: var(--sgds-font-size-275)
        }
    }

    .list-icons a {
        border-radius: var(--sgds-border-radius);
        color: var(--sgds-color-icon-primary);
        transition: color var(--sgds-animation-duration)var(--sgds-animation-easing);
        margin: -.25em;
        padding: .25em;
        display: inline-block
    }

    .list-icons a:hover {
        color: var(--sgds-color-icon-primary-hover)
    }

    .list-icons--on-dark a {
        color: var(--sgds-color-icon-primary-on-dark)
    }

    .list-icons--on-dark a:hover {
        color: var(--sgds-color-icon-primary-hover-on-dark)
    }

    .list-icons path[fill] {
        fill: currentColor
    }

    .list-icons [stroke] path,
    .list-icons path[stroke] {
        stroke: currentColor
    }

    .media {
        background-color: var(--sgds-color-bg-alternate);
        border-radius: var(--sgds-border-radius);
        overflow: hidden
    }

    .bg-alternate .media {
        background-color: var(--sgds-color-warm-gray-100)
    }

    .module-media {
        position: relative
    }

    .module-media:has(.link--cover) .media img {
        transition: transform var(--sgds-animation-duration)var(--sgds-animation-easing)
    }

    .module-media:has(.link--cover:hover) .media img {
        transform: scale(1.035)
    }

    .media--video .link {
        justify-content: center;
        display: flex;
        position: absolute;
        inset: 0
    }

    .media--video iframe {
        background: 0 0;
        position: absolute;
        top: 0
    }

    .media--video iframe:not([src]) {
        visibility: hidden
    }

    .nav-primary {
        letter-spacing: var(--sgds-font-letter-spacing-sm);
        list-style-type: none
    }

    @media (min-width:48em) {
        .nav-primary {
            align-items: center;
            display: flex
        }
    }

    @media (min-width:48em) {
        .nav-primary__item:last-child {
            padding-inline-start: var(--sgds-size-2xs)
        }
    }

    .nav-primary__link {
        --line-height: var(--sgds-font-line-height-none);
        border-radius: var(--sgds-border-radius);
        color: var(--sgds-color-text);
        text-decoration-color: transparent;
        display: block
    }

    @media (min-width:48em) {
        .nav-primary__link {
            padding: .85em .8em
        }
    }

    @media (min-width:64em) {
        .nav-primary__link {
            font-size: var(--sgds-font-size-250)
        }
    }

    .nav-primary__link:hover {
        color: var(--sgds-color-text-hover);
        text-decoration-color: currentColor
    }

    @media (min-width:48em) {
        .nav-primary--on-dark .nav-primary__link {
            color: var(--sgds-color-text-on-dark)
        }

        .nav-primary--on-dark .nav-primary__link:hover {
            color: var(--sgds-color-text-hover-on-dark)
        }
    }

    .nav-primary [aria-current=page]:not(.button) {
        color: var(--sgds-color-text-prominent);
        font-weight: var(--sgds-font-weight-semibold)
    }

    @media (min-width:48em) {
        .nav-primary--on-dark [aria-current=page]:not(.button) {
            color: var(--sgds-color-text-prominent-on-dark)
        }
    }

    .nav-primary--on-dark .button--primary {
        background-color: var(--sgds-color-white);
        border-color: var(--sgds-color-white);
        color: var(--sgds-color-text-prominent)
    }

    .nav-primary--on-dark .button--primary:hover {
        background-color: var(--sgds-color-bg-primary);
        border-color: var(--sgds-color-bg-primary);
        color: var(--sgds-color-text-prominent)
    }

    @media (max-width:calc(48em - .001px)) {
        .nav-primary__item {
            flex-wrap: wrap;
            display: flex
        }

        .nav-primary__item+.nav-primary__item {
            border-block-start: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-black-a100)
        }

        .nav-primary__link--button {
            --line-height: var(--sgds-font-line-height-none);
            background-color: unset;
            border: unset;
            border-radius: unset;
            font-weight: unset;
            display: block
        }

        .nav-primary__link,
        .nav-primary__link--button {
            color: var(--sgds-color-text-prominent);
            font-size: var(--sgds-font-size-300);
            flex: 1 0 auto;
            padding: 1.333em 1em;
            text-decoration: none
        }

        .nav-primary__item:has(.nav-primary__toggle) .nav-primary__link {
            width: calc(100% - 5.25rem)
        }

        .nav-primary [aria-current=page]:not(.button) {
            color: var(--sgds-color-text-primary)
        }

        .nav-primary__toggle {
            border-color: var(--sgds-color-border);
            height: var(--sgds-size-xl);
            margin: var(--sgds-size-sm);
            transition: border-color var(--sgds-animation-duration)var(--sgds-animation-easing);
            width: var(--sgds-size-xl);
            background-color: transparent;
            padding: 0;
            position: relative
        }

        .nav-primary__toggle:hover {
            border-color: var(--sgds-color-border-hover)
        }

        .nav-primary__toggle:after {
            background-color: var(--sgds-color-text);
            clip-path: path(var(--sgds-icon-add-sm));
            content: "";
            inset: calc(-1*var(--sgds-border-width));
            position: absolute
        }

        .nav-primary__toggle[aria-expanded=true]:after {
            clip-path: path(var(--sgds-icon-subtract-sm))
        }

        .nav-primary__sublist-container {
            transition: grid-template-rows var(--sgds-animation-duration)var(--sgds-animation-easing);
            grid-template-rows: 0fr;
            width: 100%;
            display: grid
        }

        [aria-expanded=true]+.nav-primary__sublist-container {
            grid-template-rows: 1fr
        }

        .nav-primary__sublist {
            transition: transform var(--sgds-animation-duration)var(--sgds-animation-easing);
            overflow: hidden
        }

        [aria-expanded=true]+.nav-primary__sublist-container .nav-primary__sublist {
            transform: translateY(calc(-1*var(--sgds-size-xs)))
        }

        .nav-primary__sublist-link {
            --line-height: var(--sgds-font-line-height-lg);
            color: var(--sgds-color-text);
            font-size: var(--sgds-font-size-225);
            line-height: var(--line-height);
            transition: color var(--sgds-animation-duration)var(--sgds-animation-easing);
            width: calc(100% - var(--sgds-size-2xl));
            flex-grow: 1;
            padding: .555em 1.333em;
            text-decoration: none;
            display: inline-block
        }
    }

    @media (min-width:48em) {
        .nav-primary {
            --hover-delay: .35s
        }

        .nav-primary__toggle {
            display: none
        }

        .nav-primary__item {
            position: relative
        }

        .nav-primary__sublist-container {
            opacity: 0;
            visibility: hidden;
            position: absolute;
            left: 50%;
            transform: translate(-50%)
        }

        :is(.nav-primary__item:hover, .nav-primary__item:focus-within) .nav-primary__sublist-container {
            opacity: 1;
            visibility: visible
        }

        .nav-primary .nav-primary__item:hover .nav-primary__sublist-container {
            transition: opacity 0s ease-out var(--hover-delay), visibility 0s ease-out var(--hover-delay)
        }

        .nav-primary--hover .nav-primary__item:hover .nav-primary__sublist-container {
            transition-delay: 0s
        }

        .nav-primary__sublist {
            background-color: var(--sgds-color-bg);
            border-radius: var(--sgds-border-radius);
            box-shadow: 0 var(--sgds-size-3xs)var(--sgds-size-2xs)0 var(--sgds-color-black-a150);
            transform: translateY(var(--sgds-size-xs));
            width: 20rem;
            list-style-type: none
        }

        .nav-primary__sublist-item:not(:last-child) {
            border-block-end: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-border)
        }

        .nav-primary__sublist-link {
            --line-height: var(--sgds-font-line-height-lg);
            background-color: var(--sgds-color-bg);
            color: var(--sgds-color-text);
            font-size: var(--sgds-size-200);
            line-height: var(--line-height);
            transition: background-color var(--sgds-animation-duration)var(--sgds-animation-easing), color var(--sgds-animation-duration)var(--sgds-animation-easing);
            padding: 1.2em;
            text-decoration: none;
            display: block
        }

        @media (min-width:64em) {
            .nav-primary__sublist-link {
                font-size: var(--sgds-size-250)
            }
        }

        .nav-primary__sublist-link:hover {
            background-color: var(--sgds-color-bg-alternate);
            color: var(--sgds-color-text-hover)
        }

        .nav-primary__sublist-item:first-child .nav-primary__sublist-link {
            border-radius: var(--sgds-border-radius)var(--sgds-border-radius)0 0
        }

        .nav-primary__sublist-item:last-child .nav-primary__sublist-link {
            border-radius: 0 0 var(--sgds-border-radius)var(--sgds-border-radius)
        }
    }

    :root {
        --nav-secondary-height: 5rem
    }

    .nav-secondary-container {
        border-block-end: var(--sgds-border-width)var(--sgds-border-style)transparent;
        padding-block: var(--sgds-size-md);
        z-index: 1;
        position: relative
    }

    @media (min-width:64em) {
        .nav-secondary-container {
            padding-block: var(--sgds-size-lg)
        }
    }

    @media (min-width:64em) {
        .js .nav-secondary-container {
            width: 100%;
            position: sticky;
            top: -1px
        }
    }

    @media (min-width:64em) {
        .nav-secondary-container {
            background-color: var(--sgds-color-bg)
        }
    }

    .nav-secondary-container--on-dark {
        background-color: transparent
    }

    @media (min-width:64em) {
        .nav-secondary-container--is-stuck:not(.nav-secondary-container--on-dark) {
            border-block-end-color: var(--sgds-color-border)
        }
    }

    .nav-secondary-container .link {
        color: var(--sgds-color-text);
        text-decoration-color: transparent
    }

    .nav-secondary-container .link:hover {
        color: var(--sgds-color-text-hover);
        text-decoration-color: currentColor
    }

    .nav-secondary-container--on-dark .link {
        color: var(--sgds-color-text-on-dark)
    }

    .nav-secondary-container--on-dark .link:hover {
        color: var(--sgds-color-text-prominent-on-dark)
    }

    .nav-secondary-container :is(.link[aria-current=page], .link--ancestor) {
        color: var(--sgds-color-text-prominent);
        font-weight: var(--sgds-font-weight-semibold)
    }

    .nav-secondary-container :is(.link[aria-current=page], .link--ancestor):hover {
        color: var(--sgds-color-text-hover)
    }

    .nav-secondary-container--on-dark :is(.link[aria-current=page], .link--ancestor) {
        color: var(--sgds-color-text-prominent-on-dark)
    }

    .nav-secondary-container--on-dark :is(.link[aria-current=page], .link--ancestor):hover {
        color: var(--sgds-color-text-prominent-hover-on-dark)
    }

    .nav-sub__item {
        border-block-end: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-white-a200);
        flex-wrap: wrap;
        align-items: center;
        display: flex
    }

    .nav-sub__link {
        --line-height: var(--sgds-font-line-height-none);
        color: inherit;
        font-size: var(--sgds-font-size-300);
        letter-spacing: var(--sgds-font-letter-spacing-sm);
        transition: color var(--sgds-animation-duration)var(--sgds-animation-easing);
        flex: 1 0 auto;
        padding: 1.333em 1em;
        text-decoration: none;
        list-style-type: none
    }

    @media (min-width:48em) {
        .nav-sub__link {
            padding-inline: 2em
        }
    }

    @media (min-width:90em) {
        .nav-sub__link {
            font-size: var(--sgds-font-size-400);
            padding: .875em 1.5em
        }
    }

    .nav-sub__link:hover {
        color: var(--sgds-color-text-hover-on-dark)
    }

    .nav-sub__icon {
        color: var(--sgds-color-white-a200);
        padding-inline-start: .25em
    }

    .nav-sub__toggle {
        border-color: var(--sgds-color-white-a200);
        height: var(--sgds-size-xl);
        margin: var(--sgds-size-sm);
        transition: border-color var(--sgds-animation-duration)var(--sgds-animation-easing);
        width: var(--sgds-size-xl);
        background-color: transparent;
        padding: 0;
        position: relative
    }

    @media (min-width:48em) {
        .nav-sub__toggle {
            margin-inline-end: var(--sgds-size-xl)
        }
    }

    .nav-sub__toggle:hover {
        border-color: var(--sgds-color-border-hover-on-dark)
    }

    .nav-sub__toggle:after {
        background-color: var(--sgds-color-text-on-dark);
        clip-path: path(var(--sgds-icon-add-sm));
        content: "";
        inset: calc(-1*var(--sgds-border-width));
        position: absolute
    }

    .nav-sub__toggle[aria-expanded=true]:after {
        clip-path: path(var(--sgds-icon-subtract-sm))
    }

    .nav-sub__sublist-container {
        transition: grid-template-rows var(--sgds-animation-duration)var(--sgds-animation-easing);
        grid-template-rows: 0fr;
        width: 100%;
        display: grid
    }

    [aria-expanded=true]+.nav-sub__sublist-container {
        grid-template-rows: 1fr
    }

    .nav-sub__sublist {
        transition: transform var(--sgds-animation-duration)var(--sgds-animation-easing);
        overflow: hidden
    }

    [aria-expanded=true]+.nav-sub__sublist-container .nav-sub__sublist {
        transform: translateY(calc(-1*var(--sgds-size-xs)))
    }

    .nav-sub__sublist-link {
        --line-height: var(--sgds-font-line-height-lg);
        color: var(--sgds-color-text-on-dark);
        font-size: var(--sgds-font-size-225);
        line-height: var(--line-height);
        transition: color var(--sgds-animation-duration)var(--sgds-animation-easing);
        width: calc(100% - var(--sgds-size-2xl));
        flex-grow: 1;
        padding: .555em 1.333em;
        text-decoration: none;
        display: inline-block
    }

    .nav-sub__sublist-link:hover {
        color: var(--sgds-color-text-hover-on-dark)
    }

    @media (min-width:48em) {
        .nav-sub__sublist-link {
            padding: .44em 2.666em
        }
    }

    @media (min-width:90em) {
        .nav-sub__sublist-link {
            font-size: var(--sgds-font-size-275);
            width: auto;
            padding: .36em 2.18em
        }
    }

    .nav-sub__link[aria-current=page],
    .nav-sub__sublist-link[aria-current=page],
    .nav-sub__sublist-link--ancestor {
        color: var(--sgds-color-text-hover-on-dark);
        font-weight: var(--sgds-font-weight-semibold)
    }

    .richtext p,
    .hs-richtext p {
        --font-size: var(--sgds-font-size-225);
        --line-height: var(--sgds-font-line-height-lg);
        font-size: var(--font-size);
        letter-spacing: var(--sgds-font-letter-spacing-sm);
        line-height: var(--line-height);
        text-wrap: pretty
    }

    @media (min-width:64em) {
        :is(.richtext p, .hs-richtext p) {
            --font-size: var(--sgds-font-size-250)
        }
    }

    @media (min-width:90em) {
        :is(.richtext p, .hs-richtext p) {
            --font-size: var(--sgds-font-size-275)
        }
    }

    .richtext strong {
        color: var(--sgds-color-text-prominent);
        font-weight: var(--sgds-font-weight-semibold)
    }

    .hs-richtext p {
        font-size: var(--sgds-font-size-200)
    }

    .page-header {
        color: var(--sgds-color-text-prominent);
        background-color: transparent;
        padding-block-start: var(--sgds-size-xlg);
        position: relative
    }

    .page-header:before {
        background-color: inherit;
        content: "";
        width: 100%;
        height: 200vmax;
        position: absolute;
        bottom: 0
    }

    @media (min-width:64em) {
        .page-header:has(img) {
            padding-block-start: 0
        }
    }

    @media (min-width:64em) {
        .page-header:not(:has(img)) {
            padding-block-start: var(--sgds-size-4xl)
        }
    }

    .page-header[class*=-dark]:not(:has(img)) {
        padding-block-end: var(--sgds-size-xl)
    }

    .page-header>* {
        position: relative
    }

    .page-header__heading {
        color: inherit
    }

    .page-header--theme-primary {
        color: var(--sgds-color-text-primary)
    }


    select.hs-input {
        -webkit-appearance: none;
        appearance: none;
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%237D7F76' fill-rule='evenodd' d='m4.2 6 4 5 4-5h-8Z' clip-rule='evenodd'/%3E%3C/svg%3E");
        background-position: right .5em center;
        background-repeat: no-repeat;
        padding-inline-end: 2em
    }

    .site-drawer,
    .site-drawer__overlay {
        position: fixed;
        inset: 0
    }

    .site-drawer {
        --animation-duration: .35s;
        z-index: 1;
        display: flex
    }

    .site-footer {
        background-color: var(--sgds-color-bg-prominent);
        color: var(--sgds-color-text-on-dark);
        padding-block-start: clamp(var(--sgds-size-3xl), 15vw, var(--sgds-size-4xl));
        padding-block-end: clamp(var(--sgds-size-2xl), 15vw, var(--sgds-size-3xl))
    }

    .site-footer__link {
        border-radius: var(--sgds-border-radius);
        color: currentColor;
        transition: color var(--sgds-animation-duration)var(--sgds-animation-easing), text-decoration var(--sgds-animation-duration)var(--sgds-animation-easing);
        gap: .25em;
        text-decoration-color: transparent;
        display: inline-flex
    }

    .site-footer__link:hover {
        color: var(--sgds-color-text-hover-on-dark);
        text-decoration-color: currentColor
    }

    .site-footer__link--prominent {
        color: var(--sgds-color-text-prominent-on-dark)
    }

    .site-footer__icon {
        color: var(--sgds-color-white-a200);
        padding-inline-start: .25em
    }

    .site-footer__logo {
        border-radius: var(--sgds-border-radius);
        color: var(--sgds-color-icon-on-dark);
        transition: color var(--sgds-animation-duration)var(--sgds-animation-easing);
        width: 10rem;
        display: block
    }

    .no-js .site-drawer:not(:target),
    .site-drawer[aria-hidden=true] {
        pointer-events: none
    }

    @media (min-width:48em) {
        :is(.no-js .site-drawer:target .site-drawer__overlay, .site-drawer__overlay) {
            background-color: var(--sgds-color-black-a300);
            opacity: 0;
            transition: opacity
        }
    }

    .no-js .site-drawer:target .site-drawer__overlay,
    .js .site-drawer:not([aria-hidden=true]) .site-drawer__overlay {
        opacity: 1;
        transition-duration: var(--animation-duration)
    }

    .site-drawer__content {
        background-color: var(--sgds-color-bg);
        z-index: 1;
        flex-direction: column;
        width: 100%;
        height: 100dvh;
        margin: auto;
        transition: transform;
        display: flex;
        position: relative;
        overflow: auto;
        transform: translateY(120%)
    }

    @media (min-width:48em) {
        .site-drawer__content {
            background-color: var(--sgds-color-bg-prominent);
            max-width: 30rem;
            height: 100dvh;
            margin-inline-end: 0;
            transform: translate(100%)
        }
    }

    .no-js .site-drawer:target .site-drawer__content,
    .js .site-drawer:not([aria-hidden=true]) .site-drawer__content {
        transition-duration: var(--animation-duration);
        transform: none
    }

    [data-dialog-open=true] :is(.site-drawer__overlay, .site-drawer__content) {
        transition-duration: var(--animation-duration) !important
    }

    .site-drawer__content-header {
        background-color: var(--sgds-color-bg);
        border-block-end: var(--sgds-border-width)var(--sgds-border-style)transparent;
        padding: var(--sgds-size-xs);
        transition: border-color var(--sgds-animation-duration)var(--sgds-animation-easing);
        z-index: 1;
        justify-content: end;
        width: 100%;
        display: flex;
        position: sticky;
        top: -1px
    }

    @media (min-width:48em) {
        .site-drawer__content-header {
            background-color: var(--sgds-color-bg-prominent);
            padding: var(--sgds-size-lg)var(--sgds-size-xl)
        }
    }

    .site-drawer__content-header--is-stuck {
        border-block-end-color: var(--sgds-color-black-a100)
    }

    @media (min-width:48em) {
        .site-drawer__content-header--is-stuck {
            border-block-end-color: var(--sgds-color-white-a200)
        }
    }

    .site-drawer__content-sub {
        background-color: var(--sgds-color-bg-prominent);
        color: var(--sgds-color-text-on-dark);
        gap: var(--sgds-size-xl);
        padding-block: var(--sgds-size-md)var(--sgds-size-xl);
        flex-direction: column;
        flex: 1 0 auto;
        justify-content: space-between;
        display: flex
    }

    @media (min-width:48em) {
        .site-drawer__content-sub {
            padding-block-start: 0
        }
    }

    @media (max-width:calc(48em - .001px)) {
        :is(.site-drawer__close, .site-drawer__open):hover {
            color: var(--sgds-color-text-prominent);
            background-color: transparent
        }
    }

    @media (min-width:48em) {
        .site-drawer__close {
            color: var(--sgds-color-icon-on-dark)
        }

        .site-drawer__close:hover {
            background-color: var(--sgds-color-bg);
            color: var(--sgds-color-icon)
        }
    }

    .site-drawer :is(.nav-primary, .nav-sub) a {
        border-radius: var(--sgds-border-radius);
        outline-offset: calc(-1*var(--sgds-border-offset-focus))
    }

    .site-header {
        --border-color: var(--sgds-color-border);
        --color-logo: var(--sgds-color-icon);
        --color-logo-hover: var(--sgds-color-icon-hover);
        border-block-end: var(--sgds-border-width)var(--sgds-border-style)var(--border-color);
        padding: var(--sgds-size-xs)var(--sgds-size-xs)var(--sgds-size-xs)var(--sgds-size-md);
        z-index: 2;
        position: relative
    }

    @media (min-width:48em) {
        .site-header {
            padding: var(--sgds-size-lg)var(--sgds-size-xl)
        }
    }

    .site-header--on-dark {
        --border-color: var(--sgds-color-white-a200);
        --color-logo: var(--sgds-color-icon-on-dark);
        --color-logo-hover: var(--sgds-color-icon-hover-on-dark)
    }

    .site-header__logo {
        border-radius: var(--sgds-border-radius);
        color: var(--color-logo);
        transition: color var(--sgds-animation-duration)var(--sgds-animation-easing);
        width: 7.5rem;
        display: inline-block
    }

    @media (min-width:48em) {
        .site-header__logo {
            width: 10rem
        }
    }

    .site-header__logo:hover {
        color: var(--color-logo-hover)
    }

    .site-header__logo path {
        fill: currentColor
    }

    .button--transparent {
        border-radius: var(--sgds-border-radius);
        padding: var(--sgds-size-xs);
        border: 0
    }

    .skip-link {
        background-color: var(--sgds-color-bg);
        left: var(--sgds-size-lg);
        z-index: 3;
        position: absolute;
        top: -100%
    }

    .skip-link:focus {
        top: var(--sgds-size-lg)
    }

    .table,
    .richtext table {
        border-spacing: 0;
        text-align: left;
        width: 100%;
        display: table
    }

    .thead--sticky {
        background-color: var(--sgds-color-bg);
        position: sticky;
        top: 0
    }

    :is(.table, .richtext table) :is(th, td) {
        vertical-align: top;
        padding: 1em 1em 1em 0
    }

    :is(.table, .richtext table) :is(th, td) {
        border-block-end: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-border)
    }

    :is(.table, .richtext table) :is(th, [scope=row]) {
        color: var(--sgds-color-text-prominent);
        font-weight: var(--sgds-font-weight-semibold)
    }

    .th--lg {
        font-size: var(--sgds-font-size-200)
    }

    @media (min-width:90em) {
        .th--lg {
            font-size: var(--sgds-font-size-250)
        }
    }

    @media (max-width:calc(64em - .001px)) {
        .to-md\:table--flex tr {
            flex-wrap: wrap;
            width: 100%;
            display: flex
        }

        :is(.table, .richtext table) .to-md\:w-1\/2 {
            flex: 1 0 50%
        }

        :is(.table, .richtext table) .to-md\:w-full {
            flex: 1 0 100%
        }

        :is(.table, .richtext table) .to-md\:w-full[scope=row] {
            border-block-end: 0;
            padding-block-end: 0
        }
    }

    .text,
    .richtext .text {
        --font-size: var(--sgds-font-size-225);
        --letter-spacing: var(--sgds-font-letter-spacing-sm);
        --line-height: var(--sgds-font-line-height-lg);
        font-size: var(--font-size);
        letter-spacing: var(--letter-spacing);
        line-height: var(--line-height);
        text-wrap: pretty
    }

    @media (min-width:64em) {
        :is(.text, .richtext .text) {
            --font-size: var(--sgds-font-size-250)
        }
    }

    @media (min-width:90em) {
        :is(.text, .richtext .text) {
            --font-size: var(--sgds-font-size-275)
        }
    }

    small,
    .text--sm,
    .richtext small,
    .richtext .text--sm {
        --font-size: var(--sgds-font-size-200);
        --letter-spacing: normal
    }

    @media (min-width:64em) {
        :is(small, .text--sm, .richtext small, .richtext .text--sm) {
            --font-size: var(--sgds-font-size-200)
        }
    }

    @media (min-width:90em) {
        :is(small, .text--sm, .richtext small, .richtext .text--sm) {
            --font-size: var(--sgds-font-size-200)
        }
    }

    .text--lg,
    .richtext .text--lg {
        --font-size: var(--sgds-font-size-250)
    }

    @media (min-width:64em) {
        :is(.text--lg, .richtext .text--lg) {
            --font-size: var(--sgds-font-size-300)
        }
    }

    @media (min-width:90em) {
        :is(.text--lg, .richtext .text--lg) {
            --font-size: var(--sgds-font-size-350)
        }
    }

    .text strong {
        color: var(--sgds-color-text-prominent);
        font-weight: var(--sgds-font-weight-semibold)
    }

    .text--serif {
        font-family: var(--sgds-font-family-serif)
    }

    .textarea,
    .hs-fieldtype-textarea {
        min-height: var(--sgds-size-3xl)
    }

    .text-input,
    .hs-input {
        background-color: var(--sgds-color-bg);
        border: 0;
        border-block-end: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-border);
        color: var(--sgds-color-text);
        font-size: var(--sgds-size-200);
        border-radius: 0;
        width: 100%;
        padding: .75em
    }

    :is(.text-input, .hs-input):hover {
        border-block-end-color: var(--sgds-color-border-hover)
    }

    :is(.text-input, .hs-input).error {
        border-color: var(--sgds-color-border-danger)
    }

    .top-link {
        display: none
    }

    @media (min-width:64em) {
        .top-link {
            background-color: var(--sgds-color-bg);
            bottom: var(--sgds-size-md);
            right: var(--sgds-size-md);
            opacity: 0;
            transition: opacity var(--sgds-animation-duration)var(--sgds-animation-easing), visibility var(--sgds-animation-duration)linear var(--sgds-animation-duration);
            visibility: hidden;
            display: inline-flex;
            position: fixed
        }
    }

    .top-link:hover {
        background-color: var(--sgds-color-bg-prominent);
        border-color: var(--sgds-color-bg)
    }

    .top-link--is-visible {
        opacity: 1;
        transition: background-color var(--sgds-animation-duration)var(--sgds-animation-easing), border-color var(--sgds-animation-duration)var(--sgds-animation-easing), color var(--sgds-animation-duration)var(--sgds-animation-easing), opacity var(--sgds-animation-duration)var(--sgds-animation-easing);
        visibility: visible
    }

    .top-link-sentinel {
        --scroll-offset: 200vh;
        height: calc(100% - var(--scroll-offset));
        right: 0;
        top: var(--scroll-offset);
        width: 0;
        position: absolute
    }

    @media (max-width:calc(64em - .001px)) {
        .top-link-sentinel {
            display: none
        }
    }
}

@layer scopes {
    .richtext *+:is(h2, h3, h4, h5, h6) {
        margin-block-start: 2em
    }

    .richtext .text--lg+:is(p, ul, ol) {
        margin-block-start: 2em
    }

    .richtext :is(h2, h3, h4, h5, h6)+:is(h2, h3, h4, h5, h6) {
        margin-block-start: 1em
    }

    .richtext *+:is(p, ul, ol) {
        margin-block-start: 1.5em
    }

    .richtext>*+:is(blockquote, figure, iframe, img, picture, pre, table) {
        margin-block-start: var(--sgds-size-xl)
    }

    .richtext>*+:is(blockquote, figure, iframe, img, picture, pre, table):not(:last-child) {
        margin-block-end: var(--sgds-size-xl)
    }

    .richtext>*+hr {
        margin-block-start: var(--sgds-size-3xl)
    }

    .richtext>*+hr:not(:last-child) {
        margin-block-end: var(--sgds-size-3xl)
    }

    .richtext picture {
        display: block
    }
}

@layer utilities {
    .aspect-square {
        aspect-ratio: 1
    }

    .aspect-4\/3 {
        aspect-ratio: 4/3
    }

    .aspect-16\/9 {
        aspect-ratio: 16/9
    }

    .aspect-a4 {
        aspect-ratio: 1/1.41
    }

    @media (min-width:48em) {
        .sm\:aspect-square {
            aspect-ratio: 1
        }
    }

    @media (min-width:64em) {
        .md\:aspect-square {
            aspect-ratio: 1
        }
    }

    .border {
        border: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-border)
    }

    .border-none {
        border: 0
    }

    .border-be {
        border-block-end: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-border)
    }

    .border-bs {
        border-block-start: var(--sgds-border-width)var(--sgds-border-style)var(--sgds-color-border)
    }

    .border-radius {
        border-radius: var(--sgds-border-radius)
    }

    .border-radius-lg {
        border-radius: var(--sgds-border-radius-lg)
    }

    .bg-alternate {
        background-color: var(--sgds-color-bg-alternate)
    }

    .bg-prominent {
        background-color: var(--sgds-color-bg-prominent)
    }

    .color-text {
        color: var(--sgds-color-text)
    }

    .color-text-on-dark {
        color: var(--sgds-color-text-on-dark)
    }

    .color-text-primary {
        color: var(--sgds-color-text-primary)
    }

    .color-text-prominent {
        color: var(--sgds-color-text-prominent)
    }

    .color-text-prominent-on-dark {
        color: var(--sgds-color-text-prominent-on-dark)
    }

    .grayscale {
        filter: grayscale()
    }

    .visually-hidden {
        clip: rect(1px, 1px, 1px, 1px);
        white-space: nowrap;
        width: 0;
        height: 0;
        position: absolute;
        top: auto;
        overflow: hidden
    }

    .hidden,
    .js .hide-js,
    .no-js .hide-no-js {
        display: none
    }

    .flex-grow {
        flex: 1 0 auto
    }

    .flex {
        display: flex
    }

    .flex-col {
        flex-direction: column
    }

    .justify-center {
        justify-content: center
    }

    .block {
        display: block
    }

    .relative {
        position: relative
    }

    @media (min-width:48em) {
        .sm\:block {
            display: block
        }

        .sm\:flex {
            display: flex
        }

        .sm\:hidden {
            display: none
        }
    }

    @media (max-width:calc(48em - .001px)) {
        .to-sm\:hidden {
            display: none
        }
    }

    @media (min-width:64em) {
        .md\:block {
            display: block
        }
    }

    @media (max-width:calc(64em - .001px)) {
        .to-md\:hidden {
            display: none
        }
    }

    .overflow-hidden {
        --padding-inline: var(--wrapper-padding-inline);
        --focus-clearance: var(--sgds-size-3xs);
        margin-block: calc(-1*var(--focus-clearance));
        padding-block: var(--focus-clearance);
        overflow-x: auto
    }

    @media (max-width:calc(105em - .001px)) {
        .overflow-hidden {
            margin-inline: calc(-1*var(--padding-inline));
            padding-inline: calc(var(--padding-inline));
            width: 100vw
        }
    }

    .overflow-hidden>:first-child {
        margin-inline-start: var(--focus-clearance)
    }

    .overflow-hidden>:last-child {
        margin-inline-end: var(--focus-clearance)
    }

    .overflow-hidden>:after {
        content: "";
        flex: 0 0 var(--padding-inline)
    }

    .place-content-center {
        place-content: center
    }

    .img-contain {
        object-fit: contain;
        height: 100%
    }

    .img-cover {
        object-fit: cover;
        height: 100%
    }

    .max-h-5000 {
        max-height: var(--sgds-size-5000)
    }

    .min-h-full {
        min-height: 100%
    }

    .w-auto {
        width: auto
    }

    .w-1\/4 {
        width: 25%
    }

    .w-1\/3 {
        width: 33.3333%
    }

    .w-1\/2 {
        width: 50%
    }

    .w-3\/4 {
        width: 75%
    }

    .w-full {
        width: 100%
    }

    .max-w-1600 {
        max-width: var(--sgds-size-1600)
    }

    .max-w-1800 {
        max-width: var(--sgds-size-1800)
    }

    .max-w-2000 {
        max-width: var(--sgds-size-2000)
    }

    .max-w-2600 {
        max-width: var(--sgds-size-2600)
    }

    .max-w-5300 {
        max-width: var(--sgds-size-5300)
    }

    .max-w-8000 {
        max-width: var(--sgds-size-8000)
    }

    .max-w-prose {
        max-width: 70ch
    }

    @media (min-width:48em) {
        .sm\:w-3\/4 {
            width: 75%
        }
    }

    @media (min-width:64em) {
        .md\:w-1\/3 {
            width: 33.3333%
        }

        .md\:w-7\/12 {
            width: 58.333%
        }

        .md\:w-2\/3 {
            width: 66.6667%
        }

        .md\:w-11\/12 {
            width: 91.6667%
        }
    }

    @media (min-width:90em) {
        .lg\:w-11\/12 {
            width: 91.6667%
        }
    }

    .mbs-auto {
        margin-block-start: auto
    }

    .mi-auto {
        margin-inline: auto
    }

    .p-md {
        padding: var(--sgds-size-md)
    }

    .p-lg {
        padding: var(--sgds-size-lg)
    }

    .p-xl {
        padding: var(--sgds-size-xl)
    }

    .pb-sm {
        padding-block: var(--sgds-size-sm)
    }

    .pb-md {
        padding-block: var(--sgds-size-md)
    }

    .pb-lg {
        padding-block: var(--sgds-size-lg)
    }

    .pb-xl {
        padding-block: var(--sgds-size-xl)
    }

    .pb-2xl {
        padding-block: var(--sgds-size-2xl)
    }

    .pb-3xl {
        padding-block: var(--sgds-size-3xl)
    }

    .pbs-none {
        padding-block-start: 0
    }

    .pbs-2xs {
        padding-block-start: var(--sgds-size-2xs)
    }

    .pbs-xl {
        padding-block-start: var(--sgds-size-xl)
    }

    .pbs-2xl {
        padding-block-start: var(--sgds-size-2xl)
    }

    .pbs-3xl {
        padding-block-start: var(--sgds-size-3xl)
    }

    .pbe-0 {
        padding-block-end: 0
    }

    .pbe-md {
        padding-block-end: var(--sgds-size-md)
    }

    .pbe-lg {
        padding-block-end: var(--sgds-size-lg)
    }

    .pbe-3xl {
        padding-block-end: var(--sgds-size-3xl)
    }

    .pi-md {
        padding-inline: var(--sgds-size-md)
    }

    .pie-2xs {
        padding-inline-end: var(--sgds-size-2xs)
    }

    .pie-xl {
        padding-inline-end: var(--sgds-size-xl)
    }

    @media (min-width:48em) {
        .sm\:pb-md {
            padding-block: var(--sgds-size-md)
        }

        .sm\:pb-lg {
            padding-block: var(--sgds-size-lg)
        }

        .sm\:pb-2xl {
            padding-block: var(--sgds-size-2xl)
        }

        .sm\:pbs-2xs {
            padding-block-start: var(--sgds-size-2xs)
        }

        .sm\:pi-xl {
            padding-inline: var(--sgds-size-xl)
        }
    }

    @media (min-width:64em) {
        .md\:mis-auto {
            margin-inline-start: auto
        }

        .md\:mie-0 {
            margin-inline-end: 0
        }

        .md\:p-lg {
            padding: var(--sgds-size-lg)
        }

        .md\:p-xl {
            padding: var(--sgds-size-xl)
        }

        .md\:pb-2xl {
            padding-block: var(--sgds-size-2xl)
        }

        .md\:pb-3xl {
            padding-block: var(--sgds-size-3xl)
        }

        .md\:pb-4xl {
            padding-block: var(--sgds-size-4xl)
        }

        .md\:pbs-none {
            padding-block-start: 0
        }

        .md\:pbs-2xs {
            padding-block-start: var(--sgds-size-2xs)
        }

        .md\:pbs-2xl {
            padding-block-start: var(--sgds-size-2xl)
        }

        .md\:pbs-3xl {
            padding-block-start: var(--sgds-size-3xl)
        }

        .md\:pbe-xl {
            padding-block-end: var(--sgds-size-xl)
        }

        .md\:pbe-4xl {
            padding-block-end: var(--sgds-size-4xl)
        }

        .md\:pi-xl {
            padding-inline: var(--sgds-size-xl)
        }

        .md\:pie-md {
            padding-inline-end: var(--sgds-size-md)
        }

        .md\:pie-xl {
            padding-inline-end: var(--sgds-size-xl)
        }

        .md\:pis-md {
            padding-inline-start: var(--sgds-size-md)
        }
    }

    @media (max-width:calc(64em - .001px)) {
        .to-md\:pi-md {
            padding-inline: var(--sgds-size-md)
        }
    }

    @media (min-width:90em) {
        .lg\:pb-2xl {
            padding-block: var(--sgds-size-2xl)
        }

        .lg\:pbs-2xs {
            padding-block-start: var(--sgds-size-2xs)
        }

        .lg\:pi-xl {
            padding-inline: var(--sgds-size-xl)
        }
    }

    .text-center {
        text-align: center
    }

}

@media (prefers-reduced-motion:reduce) {
    :is(*, :before, :after) {
        animation-duration: initial;
        transition: none
    }
}