.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border-width: 0
}

.page-careers .careers-hero {
    padding-block: 6.75rem;
    background: #0a203b
}

.careers-hero-layout {
    display: grid;
    grid-template-columns:minmax(0, .88fr) minmax(0, 1.12fr);
    align-items: center;
    gap: clamp(3.5rem, 7vw, 7rem)
}

.page-careers .careers-hero h1 {
    max-width: 720px;
    margin: 0 0 1.75rem !important;
    color: #fff !important;
    font-size: clamp(3.4rem, 6vw, 5.3rem) !important;
    letter-spacing: -.045em;
    line-height: .98 !important;
    text-transform: none !important
}

.careers-hero-layout > div > p:not(.home-eyebrow) {
    max-width: 600px;
    margin: 0;
    color: rgba(255, 255, 255, .8);
    font-size: 1.1rem;
    line-height: 1.75
}

.careers-hero figure {
    margin: 0
}

.careers-hero figure img {
    display: block;
    width: 100%;
    aspect-ratio:4 / 3;
    object-fit: cover;
    box-shadow: 24px 24px 0 rgba(21, 157, 202, .16)
}

.careers-hero figcaption {
    margin-top: 1rem;
    color: rgba(255, 255, 255, .55);
    font-size: .72rem;
    line-height: 1.5
}

.careers-proof {
    border-bottom: 1px solid #d7e1e7;
    background: #fff
}

.careers-proof > div {
    display: grid;
    grid-template-columns:repeat(4, 1fr)
}

.careers-proof > div > div {
    min-height: 118px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.5rem 1.5rem;
    border-left: 1px solid #d7e1e7
}

.careers-proof > div > div:last-child {
    border-right: 1px solid #d7e1e7
}

.careers-proof strong, .careers-proof span {
    display: block
}

.careers-proof strong {
    color: #112a43;
    font-size: 1.35rem;
    line-height: 1.2
}

.careers-proof span {
    margin-top: .45rem;
    color: #6c7d8d;
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .07em;
    line-height: 1.35;
    text-transform: uppercase
}

.careers-intro {
    padding-block: 7rem;
    background: #fff
}

.careers-intro-layout {
    display: grid;
    grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr);
    gap: clamp(3.5rem, 8vw, 8rem)
}

.careers-intro-layout > div:last-child p {
    margin: 0 0 1.4rem;
    color: #465a6e;
    font-size: 1.02rem;
    line-height: 1.8
}

.careers-benefits {
    padding-block: 7rem;
    background: #edf3f6
}

.careers-benefit-grid {
    display: grid;
    grid-template-columns:repeat(3, 1fr);
    gap: 1.5rem
}

.careers-benefit-card {
    padding: 2.3rem;
    border-top: 4px solid #159dca;
    background: #fff;
    box-shadow: 0 18px 40px rgba(15, 39, 65, .07)
}

.careers-benefit-card > span {
    color: #159dca;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em
}

.careers-benefit-card h3 {
    margin: 1.15rem 0 1.5rem;
    color: #112a43;
    font-size: 1.5rem;
    letter-spacing: -.02em
}

.careers-benefit-card ul {
    display: grid;
    gap: .8rem;
    margin: 0;
    padding: 0;
    list-style: none
}

.careers-benefit-card li {
    position: relative;
    padding-left: 1.3rem;
    color: #536679;
    font-size: .9rem;
    line-height: 1.5
}

.careers-benefit-card li::before {
    position: absolute;
    top: .55em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #159dca;
    content: ""
}

.careers-culture {
    padding-block: 7rem;
    background: #fff
}

.careers-culture-layout {
    display: grid;
    grid-template-columns:minmax(320px, .72fr) minmax(0, 1.28fr);
    align-items: center;
    gap: clamp(3.5rem, 8vw, 8rem)
}

.careers-culture figure {
    position: relative;
    margin: 0
}

.careers-culture figure::after {
    position: absolute;
    right: -18px;
    bottom: -18px;
    z-index: 0;
    width: 48%;
    height: 48%;
    background: #159dca;
    content: ""
}

.careers-culture img {
    position: relative;
    z-index: 1;
    display: block;
    width: 100%;
    aspect-ratio:3 / 4;
    object-fit: cover
}

.careers-culture-layout > div > p:not(.home-eyebrow) {
    max-width: 670px;
    margin: 0 0 1.35rem;
    color: #465a6e;
    font-size: 1rem;
    line-height: 1.8
}

.careers-veterans {
    padding-block: 7rem;
    background: #0a203b
}

.page-careers #military-veterans.careers-veterans {
    background: #0a203b
}

.careers-veterans-layout {
    display: grid;
    grid-template-columns:minmax(0, 1.2fr) minmax(300px, .8fr);
    align-items: center;
    gap: clamp(3.5rem, 8vw, 8rem)
}

.page-careers .careers-veterans h2 {
    margin: 0 0 1.5rem !important;
    color: #fff !important;
    font-size: clamp(2.7rem, 5vw, 4.5rem) !important;
    letter-spacing: -.04em;
    line-height: 1 !important
}

.careers-veterans-copy > p:not(.home-eyebrow) {
    max-width: 720px;
    margin: 0 0 1.25rem;
    color: rgba(255, 255, 255, .74);
    font-size: 1rem;
    line-height: 1.75
}

.careers-skillbridge-link {
    color: #fff;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase
}

.careers-skillbridge-link:hover, .careers-skillbridge-link:focus-visible {
    color: #68c7e9
}

.careers-veteran-panel {
    padding: 2.75rem;
    border: 1px solid rgba(255, 255, 255, .16);
    background: rgba(255, 255, 255, .06)
}

.careers-veteran-panel strong, .careers-veteran-panel span {
    display: block
}

.careers-veteran-panel strong {
    color: #68c7e9;
    font-size: clamp(4.5rem, 8vw, 7rem);
    letter-spacing: -.06em;
    line-height: .9
}

.careers-veteran-panel span {
    max-width: 220px;
    margin-top: 1rem;
    color: #fff;
    font-size: .78rem;
    font-weight: 780;
    letter-spacing: .08em;
    line-height: 1.5;
    text-transform: uppercase
}

.careers-veteran-panel hr {
    margin: 2rem 0;
    border: 0;
    border-top: 1px solid rgba(255, 255, 255, .16)
}

.careers-veteran-panel p {
    position: relative;
    margin: .75rem 0;
    padding-left: 1rem;
    color: rgba(255, 255, 255, .72);
    font-size: .85rem
}

.careers-veteran-panel p::before {
    position: absolute;
    top: .5em;
    left: 0;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #18a5d1;
    content: ""
}

.careers-closing {
    padding-block: 5.5rem;
    background: #f5f7f9
}

.careers-closing > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem
}

.careers-closing .home-section-title {
    margin-bottom: .8rem !important
}

.careers-closing p:not(.home-eyebrow) {
    max-width: 700px;
    margin: 0;
    color: #536679;
    line-height: 1.65
}

@media (max-width: 960px) {
    .careers-hero-layout, .careers-intro-layout, .careers-culture-layout, .careers-veterans-layout {
        grid-template-columns:1fr
    }

    .careers-hero figure {
        max-width: 720px
    }

    .careers-benefit-grid {
        grid-template-columns:1fr
    }

    .careers-culture figure {
        width: min(100%, 440px)
    }

    .careers-veteran-panel {
        max-width: 520px
    }
}

@media (max-width: 767px) {
    .page-careers .careers-hero, .careers-intro, .careers-benefits, .careers-culture, .careers-veterans {
        padding-block: 4.5rem
    }

    .careers-hero-layout, .careers-intro-layout, .careers-culture-layout, .careers-veterans-layout {
        gap: 2.75rem
    }

    .page-careers .careers-hero h1 {
        font-size: clamp(3rem, 13vw, 4.15rem) !important
    }

    .careers-proof > div {
        grid-template-columns:1fr 1fr
    }

    .careers-proof > div > div:nth-child(3), .careers-proof > div > div:nth-child(4) {
        border-top: 1px solid #d7e1e7
    }

    .careers-benefit-card, .careers-veteran-panel {
        padding: 1.75rem
    }

    .careers-culture figure::after {
        right: -10px;
        bottom: -10px
    }

    .careers-closing > div {
        align-items: flex-start;
        flex-direction: column
    }
}

.pointer-events-none {
    pointer-events: none
}

.visible {
    visibility: visible
}

.static {
    position: static
}

.absolute {
    position: absolute
}

.relative {
    position: relative
}

.sticky {
    position: sticky
}

.inset-0 {
    inset: 0
}

.-bottom-\[2px\] {
    bottom: -2px
}

.-left-12 {
    left: -3rem
}

.-right-1 {
    right: -.25rem
}

.-right-12 {
    right: -3rem
}

.bottom-8 {
    bottom: 2rem
}

.left-0 {
    left: 0
}

.left-1 {
    left: .25rem
}

.left-1\/2 {
    left: 50%
}

.right-0 {
    right: 0
}

.right-1 {
    right: .25rem
}

.top-0 {
    top: 0
}

.top-1 {
    top: .25rem
}

.top-1\/2 {
    top: 50%
}

.top-\[74px\] {
    top: 74px
}

.top-full {
    top: 100%
}

.-z-\[999\] {
    z-index: -999
}

.z-10 {
    z-index: 10
}

.z-50 {
    z-index: 50
}

.z-\[999\] {
    z-index: 999
}

.order-first {
    order: -9999
}

.col-span-2 {
    grid-column: span 2/span 2
}

.col-span-3 {
    grid-column: span 3/span 3
}

.col-span-4 {
    grid-column: span 4/span 4
}

.mx-auto {
    margin-left: auto;
    margin-right: auto
}

.-mb-2 {
    margin-bottom: -.5rem
}

.-ml-4 {
    margin-left: -1rem
}

.-mt-2 {
    margin-top: -.5rem
}

.mb-1 {
    margin-bottom: .25rem
}

.mb-10 {
    margin-bottom: 2.5rem
}

.mb-16 {
    margin-bottom: 4rem
}

.mb-2 {
    margin-bottom: .5rem
}

.mb-5 {
    margin-bottom: 1.25rem
}

.mb-8 {
    margin-bottom: 2rem
}

.ml-4 {
    margin-left: 1rem
}

.mt-0 {
    margin-top: 0
}

.mt-1 {
    margin-top: .25rem
}

.mt-10 {
    margin-top: 2.5rem
}

.mt-2 {
    margin-top: .5rem
}

.mt-24 {
    margin-top: 6rem
}

.mt-5 {
    margin-top: 1.25rem
}

.mt-8 {
    margin-top: 2rem
}

.block {
    display: block
}

.inline {
    display: inline
}

.flex {
    display: flex
}

.inline-flex {
    display: inline-flex
}

.table {
    display: table
}

.grid {
    display: grid
}

.hidden {
    display: none
}

.\!h-full {
    height: 100% !important
}

.h-0 {
    height: 0
}

.h-1 {
    height: .25rem
}

.h-12 {
    height: 3rem
}

.h-14 {
    height: 3.5rem
}

.h-16 {
    height: 4rem
}

.h-2 {
    height: .5rem
}

.h-20 {
    height: 5rem
}

.h-3 {
    height: .75rem
}

.h-4 {
    height: 1rem
}

.h-8 {
    height: 2rem
}

.h-9 {
    height: 2.25rem
}

.h-\[2px\] {
    height: 2px
}

.h-\[360px\] {
    height: 360px
}

.h-\[92px\] {
    height: 92px
}

.h-\[calc\(100vh-94px\)\] {
    height: calc(100vh - 94px)
}

.h-full {
    height: 100%
}

.h-screen {
    height: 100vh
}

.max-h-\[434px\] {
    max-height: 434px
}

.min-h-\[80px\] {
    min-height: 80px
}

.min-h-screen {
    min-height: 100vh
}

.w-0 {
    width: 0
}

.w-1 {
    width: .25rem
}

.w-16 {
    width: 4rem
}

.w-2 {
    width: .5rem
}

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

.w-3 {
    width: .75rem
}

.w-4 {
    width: 1rem
}

.w-5 {
    width: 1.25rem
}

.w-8 {
    width: 2rem
}

.w-\[2px\] {
    width: 2px
}

.w-\[315px\] {
    width: 315px
}

.w-\[90\%\] {
    width: 90%
}

.w-fit {
    width: -moz-fit-content;
    width: fit-content
}

.w-full {
    width: 100% !important;
}

.min-w-0 {
    min-width: 0
}

.min-w-\[240px\] {
    min-width: 240px
}

.max-w-4xl {
    max-width: 56rem
}

.max-w-5xl {
    max-width: 64rem
}

.max-w-\[315px\] {
    max-width: 315px
}

.max-w-full {
    max-width: 100% !important;
}

.flex-1 {
    flex: 1 1 0%
}

.shrink-0 {
    flex-shrink: 0
}

.grow {
    flex-grow: 1
}

.grow-0 {
    flex-grow: 0
}

.basis-full {
    flex-basis: 100%
}

.origin-top-right {
    transform-origin: top right
}

.-translate-x-1\/2 {
    --tw-translate-x: -50%
}

.-translate-x-1\/2 {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-y-1\/2 {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.-translate-y-1\/2 {
    --tw-translate-y: -50%
}

.-translate-y-full {
    --tw-translate-y: -100%
}

.-translate-y-full {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-1\/2 {
    --tw-translate-y: 50%
}

.translate-y-1\/2 {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-\[2px\] {
    --tw-translate-y: 2px
}

.translate-y-\[2px\], .translate-y-full {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

.translate-y-full {
    --tw-translate-y: 100%
}

.transform {
    transform: translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))
}

@keyframes bounce {
    0%, to {
        transform: translateY(-25%);
        animation-timing-function: cubic-bezier(.8, 0, 1, 1)
    }
    50% {
        transform: none;
        animation-timing-function: cubic-bezier(0, 0, .2, 1)
    }
}

@keyframes ping {
    75%, to {
        transform: scale(2);
        opacity: 0
    }
}

@keyframes pulse {
    50% {
        opacity: .5
    }
}

@keyframes spin {
    to {
        transform: rotate(1turn)
    }
}

.cursor-pointer {
    cursor: pointer
}

.select-none {
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

.list-outside {
    list-style-position: outside
}

.list-disc {
    list-style-type: disc
}

.list-none {
    list-style-type: none
}

.grid-cols-1 {
    grid-template-columns:repeat(1, minmax(0, 1fr))
}

.grid-cols-2 {
    grid-template-columns:repeat(2, minmax(0, 1fr))
}

.grid-cols-3 {
    grid-template-columns:repeat(3, minmax(0, 1fr))
}

.grid-cols-6 {
    grid-template-columns:repeat(6, minmax(0, 1fr))
}

.flex-row {
    flex-direction: row
}

.flex-col {
    flex-direction: column
}

.flex-wrap {
    flex-wrap: wrap
}

.items-center {
    align-items: center
}

.justify-center {
    justify-content: center
}

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

.gap-1 {
    gap: .25rem
}

.gap-10 {
    gap: 2.5rem
}

.gap-16 {
    gap: 4rem
}

.gap-2 {
    gap: .5rem
}

.gap-20 {
    gap: 5rem
}

.gap-3 {
    gap: .75rem
}

.gap-4 {
    gap: 1rem
}

.gap-7 {
    gap: 1.75rem
}

.gap-8 {
    gap: 2rem
}

.gap-\[2px\] {
    gap: 2px
}

.gap-x-2 {
    -moz-column-gap: .5rem;
    column-gap: .5rem
}

.gap-x-20 {
    -moz-column-gap: 5rem;
    column-gap: 5rem
}

.gap-x-4 {
    -moz-column-gap: 1rem;
    column-gap: 1rem
}

.space-x-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-x-reverse: 0;
    margin-right: calc(.25rem * var(--tw-space-x-reverse));
    margin-left: calc(.25rem * calc(1 - var(--tw-space-x-reverse)))
}

.space-y-1 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.25rem * var(--tw-space-y-reverse))
}

.space-y-10 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2.5rem * var(--tw-space-y-reverse))
}

.space-y-2 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(.5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(.5rem * var(--tw-space-y-reverse))
}

.space-y-20 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(5rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(5rem * var(--tw-space-y-reverse))
}

.space-y-5 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(1.25rem * var(--tw-space-y-reverse))
}

.space-y-8 > :not([hidden]) ~ :not([hidden]) {
    --tw-space-y-reverse: 0;
    margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
    margin-bottom: calc(2rem * var(--tw-space-y-reverse))
}

.overflow-hidden {
    overflow: hidden
}

.whitespace-nowrap {
    white-space: nowrap
}

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

.rounded-full {
    border-radius: 9999px
}

.rounded-md {
    border-radius: calc(var(--radius) - 2px)
}

.rounded-none {
    border-radius: 0
}

.rounded-xl {
    border-radius: .75rem
}

.border {
    border-width: 1px
}

.border-0 {
    border-width: 0
}

.border-2 {
    border-width: 2px
}

.border-b {
    border-bottom-width: 1px
}

.border-b-2 {
    border-bottom-width: 2px
}

.border-t {
    border-top-width: 1px
}

.border-none {
    border-style: none
}

.border-border {
    --tw-border-opacity: 1;
    border-color: hsl(var(--border)/var(--tw-border-opacity))
}

.border-input {
    --tw-border-opacity: 1;
    border-color: hsl(var(--input)/var(--tw-border-opacity))
}

.border-secondary {
    --tw-border-opacity: 1;
    border-color: hsl(var(--secondary)/var(--tw-border-opacity))
}

.border-white {
    --tw-border-opacity: 1;
    border-color: rgb(255 255 255/var(--tw-border-opacity))
}

.border-b-muted-foreground {
    --tw-border-opacity: 1;
    border-bottom-color: hsl(var(--muted-foreground)/var(--tw-border-opacity))
}

.\!bg-\[\#E7E8E9\] {
    --tw-bg-opacity: 1 !important;
    background-color: rgb(231 232 233/var(--tw-bg-opacity)) !important
}

.\!bg-primary {
    --tw-bg-opacity: 1 !important;
    background-color: hsl(var(--primary)/var(--tw-bg-opacity)) !important
}

.bg-\[\#2c76f7\] {
    --tw-bg-opacity: 1;
    background-color: rgb(44 118 247/var(--tw-bg-opacity))
}

.bg-background {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--background)/var(--tw-bg-opacity))
}

.bg-card {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--card)/var(--tw-bg-opacity))
}

.bg-muted {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--muted)/var(--tw-bg-opacity))
}

.bg-primary {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--primary)/var(--tw-bg-opacity))
}

.bg-primary\/60 {
    background-color: hsl(var(--primary)/.6)
}

.bg-primary\/70 {
    background-color: hsl(var(--primary)/.7)
}

.bg-secondary {
    --tw-bg-opacity: 1;
    background-color: hsl(var(--secondary)/var(--tw-bg-opacity))
}

.bg-transparent {
    background-color: transparent
}

.bg-opacity-60 {
    --tw-bg-opacity: 0.6
}

.fill-slate-500 {
    fill: #64748b
}

.object-cover {
    -o-object-fit: cover;
    object-fit: cover
}

.object-top {
    -o-object-position: top;
    object-position: top
}

.p-0 {
    padding: 0
}

.p-1 {
    padding: .25rem
}

.p-10 {
    padding: 2.5rem
}

.p-2 {
    padding: .5rem
}

.p-3 {
    padding: .75rem
}

.p-4 {
    padding: 1rem
}

.p-8 {
    padding: 2rem
}

.p-\[2px\] {
    padding: 2px
}

.\!py-7 {
    padding-top: 1.75rem !important;
    padding-bottom: 1.75rem !important
}

.px-4 {
    padding-left: 1rem;
    padding-right: 1rem
}

.px-5 {
    padding-left: 1.25rem;
    padding-right: 1.25rem
}

.py-1 {
    padding-top: .25rem;
    padding-bottom: .25rem
}

.py-10 {
    padding-top: 2.5rem;
    padding-bottom: 2.5rem
}

.py-2 {
    padding-top: .5rem;
    padding-bottom: .5rem
}

.py-20 {
    padding-top: 5rem;
    padding-bottom: 5rem
}

.py-4 {
    padding-top: 1rem;
    padding-bottom: 1rem
}

.py-8 {
    padding-top: 2rem;
    padding-bottom: 2rem
}

.py-\[10px\] {
    padding-top: 10px;
    padding-bottom: 10px
}

.pb-3 {
    padding-bottom: .75rem
}

.pb-4 {
    padding-bottom: 1rem
}

.pb-5 {
    padding-bottom: 1.25rem
}

.pl-0 {
    padding-left: 0
}

.pl-8 {
    padding-left: 2rem
}

.pr-4 {
    padding-right: 1rem
}

.text-left {
    text-align: left
}

.text-center {
    text-align: center
}

.\!text-lg {
    font-size: 1.125rem !important;
    line-height: 1.75rem !important
}

.text-4xl {
    font-size: 2.25rem;
    line-height: 2.5rem
}

.text-\[11px\] {
    font-size: 11px
}

.text-base {
    font-size: 1rem;
    line-height: 1.5rem
}

.text-lg {
    font-size: 1.125rem;
    line-height: 1.75rem
}

.text-sm {
    font-size: .875rem;
    line-height: 1.25rem
}

.\!font-extrabold {
    font-weight: 800 !important
}

.font-bold {
    font-weight: 700
}

.font-medium {
    font-weight: 500
}

.font-normal {
    font-weight: 400
}

.font-semibold {
    font-weight: 600
}

.\!uppercase {
    text-transform: uppercase !important
}

.uppercase {
    text-transform: uppercase
}

.capitalize {
    text-transform: capitalize
}

.leading-3 {
    line-height: .75rem
}

.leading-5 {
    line-height: 1.25rem
}

.leading-none {
    line-height: 1
}

.leading-normal {
    line-height: 1.5
}

.leading-tight {
    line-height: 1.25
}

.tracking-\[0\.28px\] {
    letter-spacing: .28px
}

.tracking-wide {
    letter-spacing: .025em
}

.\!text-foreground {
    --tw-text-opacity: 1 !important;
    color: hsl(var(--foreground)/var(--tw-text-opacity)) !important
}

.\!text-secondary {
    --tw-text-opacity: 1 !important;
    color: hsl(var(--secondary)/var(--tw-text-opacity)) !important
}

.\!text-white {
    --tw-text-opacity: 1 !important;
    color: rgb(255 255 255/var(--tw-text-opacity)) !important
}

.text-\[\#2c76f7\] {
    --tw-text-opacity: 1;
    color: rgb(44 118 247/var(--tw-text-opacity))
}

.text-accent-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--accent-foreground)/var(--tw-text-opacity))
}

.text-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--foreground)/var(--tw-text-opacity))
}

.text-foreground\/70 {
    color: hsl(var(--foreground)/.7)
}

.text-muted-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--muted-foreground)/var(--tw-text-opacity))
}

.text-primary {
    --tw-text-opacity: 1;
    color: hsl(var(--primary)/var(--tw-text-opacity))
}

.text-primary-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--primary-foreground)/var(--tw-text-opacity))
}

.text-primary\/90 {
    color: hsl(var(--primary)/.9)
}

.text-secondary {
    --tw-text-opacity: 1;
    color: hsl(var(--secondary)/var(--tw-text-opacity))
}

.text-secondary-foreground {
    --tw-text-opacity: 1;
    color: hsl(var(--secondary-foreground)/var(--tw-text-opacity))
}

.text-stone-400 {
    --tw-text-opacity: 1;
    color: rgb(168 162 158/var(--tw-text-opacity))
}

.text-stone-600 {
    --tw-text-opacity: 1;
    color: rgb(87 83 78/var(--tw-text-opacity))
}

.text-white {
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity))
}

.text-white\/60 {
    color: hsla(0, 0%, 100%, .6)
}

.underline {
    text-decoration-line: underline
}

.underline-offset-\[3px\] {
    text-underline-offset: 3px
}

.opacity-0 {
    opacity: 0
}

.opacity-100 {
    opacity: 1
}

.opacity-5 {
    opacity: .05
}

.opacity-50 {
    opacity: .5
}

.opacity-60 {
    opacity: .6
}

.opacity-70 {
    opacity: .7
}

.shadow {
    --tw-shadow: 0px 0.5px 4px 0px rgba(7, 1, 21, .32) inset;
}

.shadow, .shadow-2xl {
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-2xl {
    --tw-shadow: 0 25px 50px -12px rgba(0, 0, 0, .25);
}

.shadow-md {
    --tw-shadow: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -2px rgba(0, 0, 0, .1);
}

.shadow-md {
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.shadow-xl {
    --tw-shadow: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 8px 10px -6px rgba(0, 0, 0, .1);
    box-shadow: var(--tw-ring-offset-shadow, 0 0 #0000), var(--tw-ring-shadow, 0 0 #0000), var(--tw-shadow)
}

.outline-none {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.outline {
    outline-style: solid
}

.ring-0 {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color)
}

.ring-0 {
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.ring-offset-2 {
    --tw-ring-offset-width: 2px
}

.ring-offset-auth-background {
    --tw-ring-offset-color: hsl(var(--auth-background)/1)
}

.ring-offset-background {
    --tw-ring-offset-color: hsl(var(--background)/1)
}

.blur {
    --tw-blur: blur(8px)
}

.blur, .invert {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.invert {
    --tw-invert: invert(100%)
}

.filter {
    filter: var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)
}

.backdrop-blur-md {
    --tw-backdrop-blur: blur(12px)
}

.backdrop-blur-md {
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.backdrop-filter {
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.transition {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, -webkit-backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter;
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke, opacity, box-shadow, transform, filter, backdrop-filter, -webkit-backdrop-filter;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-colors {
    transition-property: color, background-color, border-color, text-decoration-color, fill, stroke;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.transition-transform {
    transition-property: transform;
    transition-timing-function: cubic-bezier(.4, 0, .2, 1);
    transition-duration: .15s
}

.duration-150 {
    transition-duration: .15s
}

.duration-300 {
    transition-duration: .3s
}

.duration-500 {
    transition-duration: .5s
}

@keyframes enter {
    0% {
        opacity: var(--tw-enter-opacity, 1);
        transform: translate3d(var(--tw-enter-translate-x, 0), var(--tw-enter-translate-y, 0), 0) scale3d(var(--tw-enter-scale, 1), var(--tw-enter-scale, 1), var(--tw-enter-scale, 1)) rotate(var(--tw-enter-rotate, 0))
    }
}

@keyframes exit {
    to {
        opacity: var(--tw-exit-opacity, 1);
        transform: translate3d(var(--tw-exit-translate-x, 0), var(--tw-exit-translate-y, 0), 0) scale3d(var(--tw-exit-scale, 1), var(--tw-exit-scale, 1), var(--tw-exit-scale, 1)) rotate(var(--tw-exit-rotate, 0))
    }
}

.duration-150 {
    animation-duration: .15s
}

.duration-300 {
    animation-duration: .3s
}

.duration-500 {
    animation-duration: .5s
}

.after-link {
    position: relative
}

.after-link:after {
    background: none repeat scroll 0 0 transparent;
    bottom: -10px;
    content: "";
    display: block;
    height: 2px;
    left: 50%;
    position: absolute;
    background: #2c76f7;
    transition: width .3s ease 0s, left .3s ease 0s;
    width: 0
}

.after-link:hover:after {
    width: 100%;
    left: 0
}

.file\:border-0::file-selector-button {
    border-width: 0
}

.file\:bg-transparent::file-selector-button {
    background-color: transparent
}

.file\:text-sm::file-selector-button {
    font-size: .875rem;
    line-height: 1.25rem
}

.file\:font-medium::file-selector-button {
    font-weight: 500
}

.placeholder\:text-muted-foreground::-moz-placeholder {
    --tw-text-opacity: 1;
    color: hsl(var(--muted-foreground)/var(--tw-text-opacity))
}

.placeholder\:text-muted-foreground::placeholder {
    --tw-text-opacity: 1;
    color: hsl(var(--muted-foreground)/var(--tw-text-opacity))
}

.before\:backdrop-blur-md:before {
    content: var(--tw-content);
    --tw-backdrop-blur: blur(12px);
    -webkit-backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia);
    backdrop-filter: var(--tw-backdrop-blur) var(--tw-backdrop-brightness) var(--tw-backdrop-contrast) var(--tw-backdrop-grayscale) var(--tw-backdrop-hue-rotate) var(--tw-backdrop-invert) var(--tw-backdrop-opacity) var(--tw-backdrop-saturate) var(--tw-backdrop-sepia)
}

.hover\:\!bg-\[\#2c76f7\]:hover {
    --tw-bg-opacity: 1 !important;
    background-color: rgb(44 118 247/var(--tw-bg-opacity)) !important
}

.hover\:\!bg-primary:hover {
    --tw-bg-opacity: 1 !important;
    background-color: hsl(var(--primary)/var(--tw-bg-opacity)) !important
}

.hover\:\!text-accent-foreground:hover {
    --tw-text-opacity: 1 !important;
    color: hsl(var(--accent-foreground)/var(--tw-text-opacity)) !important
}

.hover\:text-\[\#2c76f7\]:hover {
    --tw-text-opacity: 1;
    color: rgb(44 118 247/var(--tw-text-opacity))
}

.hover\:text-primary:hover {
    --tw-text-opacity: 1;
    color: hsl(var(--primary)/var(--tw-text-opacity))
}

.hover\:underline:hover {
    text-decoration-line: underline
}

.focus\:outline-none:focus {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.focus-visible\:outline-none:focus-visible {
    outline: 2px solid transparent;
    outline-offset: 2px
}

.focus-visible\:ring-0:focus-visible {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(0px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus-visible\:ring-2:focus-visible {
    --tw-ring-offset-shadow: var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);
    --tw-ring-shadow: var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);
    box-shadow: var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow, 0 0 #0000)
}

.focus-visible\:ring-ring:focus-visible {
    --tw-ring-opacity: 1;
    --tw-ring-color: hsl(var(--ring)/var(--tw-ring-opacity))
}

.focus-visible\:ring-offset-2:focus-visible {
    --tw-ring-offset-width: 2px
}

.disabled\:pointer-events-none:disabled {
    pointer-events: none
}

.disabled\:cursor-not-allowed:disabled {
    cursor: not-allowed
}

.disabled\:opacity-50:disabled {
    opacity: .5
}

.group\/nav-item:hover .group-hover\/nav-item\:opacity-100 {
    opacity: 1
}

.peer:disabled ~ .peer-disabled\:cursor-not-allowed {
    cursor: not-allowed
}

.peer:disabled ~ .peer-disabled\:opacity-70 {
    opacity: .7
}

.group[data-select=true] .group-data-\[select\=true\]\:block {
    display: block
}

.group[data-select=true] .group-data-\[select\=true\]\:hidden {
    display: none
}

.prose-h1\:\!mb-0 :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))) {
    margin-bottom: 0 !important
}

.prose-h1\:\!text-4xl :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))) {
    font-size: 2.25rem !important;
    line-height: 2.5rem !important
}

.prose-h1\:\!font-extrabold :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))) {
    font-weight: 800 !important
}

.prose-h1\:\!leading-tight :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))) {
    line-height: 1.25 !important
}

.prose-h1\:\!text-white :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))) {
    --tw-text-opacity: 1 !important;
    color: rgb(255 255 255/var(--tw-text-opacity)) !important
}

.prose-h1\:text-secondary :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))) {
    --tw-text-opacity: 1;
    color: hsl(var(--secondary)/var(--tw-text-opacity))
}

.prose-h2\:uppercase :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))) {
    text-transform: uppercase
}

.prose-h2\:text-secondary :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))) {
    --tw-text-opacity: 1;
    color: hsl(var(--secondary)/var(--tw-text-opacity))
}

.prose-h2\:text-white :is(:where(h2):not(:where([class~=not-prose],[class~=not-prose] *))) {
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity))
}

.prose-h3\:\!mt-0 :is(:where(h3):not(:where([class~=not-prose],[class~=not-prose] *))) {
    margin-top: 0 !important
}

.prose-h3\:uppercase :is(:where(h3):not(:where([class~=not-prose],[class~=not-prose] *))) {
    text-transform: uppercase
}

.prose-h4\:mb-8 :is(:where(h4):not(:where([class~=not-prose],[class~=not-prose] *))) {
    margin-bottom: 2rem
}

.prose-h4\:font-extrabold :is(:where(h4):not(:where([class~=not-prose],[class~=not-prose] *))) {
    font-weight: 800
}

.prose-h4\:\!text-secondary :is(:where(h4):not(:where([class~=not-prose],[class~=not-prose] *))) {
    --tw-text-opacity: 1 !important;
    color: hsl(var(--secondary)/var(--tw-text-opacity)) !important
}

.prose-h4\:text-secondary :is(:where(h4):not(:where([class~=not-prose],[class~=not-prose] *))) {
    --tw-text-opacity: 1;
    color: hsl(var(--secondary)/var(--tw-text-opacity))
}

.prose-h6\:font-extrabold :is(:where(h6):not(:where([class~=not-prose],[class~=not-prose] *))) {
    font-weight: 800
}

.prose-h6\:font-semibold :is(:where(h6):not(:where([class~=not-prose],[class~=not-prose] *))) {
    font-weight: 600
}

.prose-h6\:tracking-wider :is(:where(h6):not(:where([class~=not-prose],[class~=not-prose] *))) {
    letter-spacing: .05em
}

.prose-h6\:text-muted-foreground :is(:where(h6):not(:where([class~=not-prose],[class~=not-prose] *))) {
    --tw-text-opacity: 1;
    color: hsl(var(--muted-foreground)/var(--tw-text-opacity))
}

.prose-p\:mt-8 :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))) {
    margin-top: 2rem
}

.prose-p\:w-2\/3 :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))) {
    width: 66.666667%
}

.prose-p\:\!text-\[11px\] :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))) {
    font-size: 11px !important
}

.prose-p\:uppercase :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))) {
    text-transform: uppercase
}

.prose-p\:\!text-primary-foreground :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))) {
    --tw-text-opacity: 1 !important;
    color: hsl(var(--primary-foreground)/var(--tw-text-opacity)) !important
}

.prose-p\:\!text-white :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))) {
    --tw-text-opacity: 1 !important;
    color: rgb(255 255 255/var(--tw-text-opacity)) !important
}

.prose-p\:text-muted-foreground :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))) {
    --tw-text-opacity: 1;
    color: hsl(var(--muted-foreground)/var(--tw-text-opacity))
}

.prose-p\:text-white :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))) {
    --tw-text-opacity: 1;
    color: rgb(255 255 255/var(--tw-text-opacity))
}

@media (min-width: 640px) {

    .sm\:col-span-2 {
        grid-column: span 2/span 2
    }

    .sm\:mb-0 {
        margin-bottom: 0
    }

    .sm\:mt-0 {
        margin-top: 0
    }

    .sm\:flex {
        display: flex
    }

    .sm\:basis-1\/2 {
        flex-basis: 50%
    }

    .sm\:grid-cols-2 {
        grid-template-columns:repeat(2, minmax(0, 1fr))
    }

    .sm\:text-sm {
        font-size: .875rem;
        line-height: 1.25rem
    }

    .sm\:prose-p\:\!text-sm :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))) {
        font-size: .875rem !important;
        line-height: 1.25rem !important
    }
}

@media (min-width: 768px) {
    .md\:order-last {
        order: 9999
    }

    .md\:col-span-2 {
        grid-column: span 2/span 2
    }

    .md\:col-span-4 {
        grid-column: span 4/span 4
    }

    .md\:mt-20 {
        margin-top: 5rem
    }

    .md\:flex {
        display: flex
    }

    .md\:basis-1\/3 {
        flex-basis: 33.333333%
    }

    .md\:grid-cols-6 {
        grid-template-columns:repeat(6, minmax(0, 1fr))
    }

    .md\:flex-row {
        flex-direction: row
    }

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

    .md\:justify-center {
        justify-content: center
    }

    .md\:gap-20 {
        gap: 5rem
    }

    .md\:p-10 {
        padding: 2.5rem
    }

    .md\:pl-0 {
        padding-left: 0
    }
}

@media (min-width: 1024px) {

    .lg\:top-\[92px\] {
        top: 92px
    }

    .lg\:order-last {
        order: 9999
    }

    .lg\:mb-8 {
        margin-bottom: 2rem
    }

    .lg\:mt-24 {
        margin-top: 6rem
    }

    .lg\:mt-5 {
        margin-top: 1.25rem
    }

    .lg\:block {
        display: block
    }

    .lg\:hidden {
        display: none
    }

    .lg\:h-24 {
        height: 6rem
    }

    .lg\:w-\[810px\] {
        width: 810px
    }

    .lg\:max-w-\[810px\] {
        max-width: 810px
    }

    .lg\:basis-1\/4 {
        flex-basis: 25%
    }

    .lg\:grid-cols-2 {
        grid-template-columns:repeat(2, minmax(0, 1fr))
    }

    .lg\:grid-cols-3 {
        grid-template-columns:repeat(3, minmax(0, 1fr))
    }

    .lg\:grid-cols-9 {
        grid-template-columns:repeat(9, minmax(0, 1fr))
    }

    .lg\:gap-3 {
        gap: .75rem
    }

    .lg\:gap-8 {
        gap: 2rem
    }

    .lg\:gap-\[100px\] {
        gap: 100px
    }

    .lg\:gap-x-8 {
        -moz-column-gap: 2rem;
        column-gap: 2rem
    }

    .lg\:space-y-8 > :not([hidden]) ~ :not([hidden]) {
        --tw-space-y-reverse: 0;
        margin-top: calc(2rem * calc(1 - var(--tw-space-y-reverse)));
        margin-bottom: calc(2rem * var(--tw-space-y-reverse))
    }

    .lg\:py-20 {
        padding-top: 5rem;
        padding-bottom: 5rem
    }

    .lg\:py-4 {
        padding-top: 1rem;
        padding-bottom: 1rem
    }

    .lg\:text-base {
        font-size: 1rem;
        line-height: 1.5rem
    }

    .lg\:tracking-\[0\.32px\] {
        letter-spacing: .32px
    }

    .prose-h1\:lg\:w-\[810px\] :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))) {
        width: 810px
    }

    .lg\:prose-h1\:\!text-6xl :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))) {
        font-size: 3.75rem !important;
        line-height: 1 !important
    }

    .lg\:prose-h1\:\!leading-tight :is(:where(h1):not(:where([class~=not-prose],[class~=not-prose] *))) {
        line-height: 1.25 !important
    }

    .prose-p\:lg\:w-\[607px\] :is(:where(p):not(:where([class~=not-prose],[class~=not-prose] *))) {
        width: 607px
    }
}

@media (min-width: 1280px) {
    .xl\:block {
        display: block
    }

    .xl\:hidden {
        display: none
    }

    .xl\:basis-1\/5 {
        flex-basis: 20%
    }

    .xl\:gap-4 {
        gap: 1rem
    }

    .xl\:gap-\[150px\] {
        gap: 150px
    }

    .xl\:p-20 {
        padding: 5rem
    }

    .xl\:pl-0 {
        padding-left: 0
    }
}

@media (min-width: 1536px) {

    .\32xl\:gap-16 {
        gap: 4rem
    }

    .\32xl\:gap-20 {
        gap: 5rem
    }
}

*, :after, :before {
    box-sizing: border-box;
    border: 0 solid #e5e7eb
}

:after, :before {
    --tw-content: ""
}

:host, html {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -moz-tab-size: 4;
    -o-tab-size: 4;
    tab-size: 4;
    font-family: ui-sans-serif, system-ui, sans-serif, Apple Color Emoji, Segoe UI Emoji, Segoe UI Symbol, Noto Color Emoji;
    font-feature-settings: normal;
    font-variation-settings: normal;
    -webkit-tap-highlight-color: transparent
}

body {
    margin: 0;
    line-height: inherit
}

h1, h2, h3, h4, h5, h6 {
    font-size: inherit;
    font-weight: inherit
}

a {
    color: inherit;
    text-decoration: inherit
}

strong {
    font-weight: bolder
}

button, input, select, textarea {
    font-family: inherit;
    font-feature-settings: inherit;
    font-variation-settings: inherit;
    font-size: 100%;
    font-weight: inherit;
    line-height: inherit;
    color: inherit;
    margin: 0;
    padding: 0
}

button, select {
    text-transform: none
}

[type=button], [type=reset], [type=submit], button {
    -webkit-appearance: button;
    background-color: transparent;
    background-image: none
}

:-moz-focusring {
    outline: auto
}

:-moz-ui-invalid {
    box-shadow: none
}

::-webkit-inner-spin-button, ::-webkit-outer-spin-button {
    height: auto
}

[type=search] {
    -webkit-appearance: textfield;
    outline-offset: -2px
}

::-webkit-search-decoration {
    -webkit-appearance: none
}

::-webkit-file-upload-button {
    -webkit-appearance: button;
    font: inherit
}

dd, dl, h1, h2, h3, h4, h5, h6, p {
    margin: 0
}

ul {
    list-style: none;
    margin: 0;
    padding: 0
}

textarea {
    resize: vertical
}

input::-moz-placeholder, textarea::-moz-placeholder {
    opacity: 1;
    color: #9ca3af
}

input::placeholder, textarea::placeholder {
    opacity: 1;
    color: #9ca3af
}

[role=button], button {
    cursor: pointer
}

:disabled {
    cursor: default
}

img, svg {
    display: block;
    vertical-align: middle
}

img {
    max-width: 100% !important;
    height: auto
}

[hidden] {
    display: none
}

*, :after, :before {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
}

::backdrop {
    --tw-border-spacing-x: 0;
    --tw-border-spacing-y: 0;
    --tw-translate-x: 0;
    --tw-translate-y: 0;
    --tw-rotate: 0;
    --tw-skew-x: 0;
    --tw-skew-y: 0;
    --tw-scale-x: 1;
    --tw-scale-y: 1;
    --tw-pan-x: ;
    --tw-pan-y: ;
    --tw-pinch-zoom: ;
    --tw-scroll-snap-strictness: proximity;
    --tw-gradient-from-position: ;
    --tw-gradient-via-position: ;
    --tw-gradient-to-position: ;
    --tw-ordinal: ;
    --tw-slashed-zero: ;
    --tw-numeric-figure: ;
    --tw-numeric-spacing: ;
    --tw-numeric-fraction: ;
    --tw-ring-inset: ;
    --tw-ring-offset-width: 0px;
    --tw-ring-offset-color: #fff;
    --tw-ring-color: rgba(59, 130, 246, .5);
    --tw-ring-offset-shadow: 0 0 #0000;
    --tw-ring-shadow: 0 0 #0000;
    --tw-shadow: 0 0 #0000;
    --tw-shadow-colored: 0 0 #0000;
    --tw-blur: ;
    --tw-brightness: ;
    --tw-contrast: ;
    --tw-grayscale: ;
    --tw-hue-rotate: ;
    --tw-invert: ;
    --tw-saturate: ;
    --tw-sepia: ;
    --tw-drop-shadow: ;
    --tw-backdrop-blur: ;
    --tw-backdrop-brightness: ;
    --tw-backdrop-contrast: ;
    --tw-backdrop-grayscale: ;
    --tw-backdrop-hue-rotate: ;
    --tw-backdrop-invert: ;
    --tw-backdrop-opacity: ;
    --tw-backdrop-saturate: ;
    --tw-backdrop-sepia: ;
}

.prose {
    color: var(--tw-prose-body);
    max-width: 65ch
}

.prose :where(p):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em
}

.prose :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-lead);
    font-size: 1.25em;
    line-height: 1.6;
    margin-top: 1.2em;
    margin-bottom: 1.2em
}

.prose :where(a):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-links);
    text-decoration: underline;
    font-weight: 500
}

.prose :where(strong):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-bold);
    font-weight: 600
}

.prose :where(a strong):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: inherit
}

.prose :where(blockquote strong):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: inherit
}

.prose :where(thead th strong):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: inherit
}

.prose :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)) {
    list-style-type: decimal;
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-left: 1.625em
}

.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)) {
    list-style-type: upper-alpha
}

.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)) {
    list-style-type: lower-alpha
}

.prose :where(ol[type=A]):not(:where([class~=not-prose],[class~=not-prose] *)) {
    list-style-type: upper-alpha
}

.prose :where(ol[type=a]):not(:where([class~=not-prose],[class~=not-prose] *)) {
    list-style-type: lower-alpha
}

.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)) {
    list-style-type: upper-roman
}

.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)) {
    list-style-type: lower-roman
}

.prose :where(ol[type=I]):not(:where([class~=not-prose],[class~=not-prose] *)) {
    list-style-type: upper-roman
}

.prose :where(ol[type=i]):not(:where([class~=not-prose],[class~=not-prose] *)) {
    list-style-type: lower-roman
}

.prose :where(ol[type="1"]):not(:where([class~=not-prose],[class~=not-prose] *)) {
    list-style-type: decimal
}

.prose :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)) {
    list-style-type: disc;
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-left: 1.625em
}

.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker {
    font-weight: 400;
    color: var(--tw-prose-counters)
}

.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *))::marker {
    color: var(--tw-prose-bullets)
}

.prose :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    margin-top: 1.25em
}

.prose :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)) {
    border-color: var(--tw-prose-hr);
    border-top-width: 1px;
    margin-top: 3em;
    margin-bottom: 3em
}

.prose :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-weight: 500;
    font-style: italic;
    color: var(--tw-prose-quotes);
    border-left-width: .25rem;
    border-left-color: var(--tw-prose-quote-borders);
    quotes: "\201C" "\201D" "\2018" "\2019";
    margin-top: 1.6em;
    margin-bottom: 1.6em;
    padding-left: 1em
}

.prose :where(blockquote p:first-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):before {
    content: open-quote
}

.prose :where(blockquote p:last-of-type):not(:where([class~=not-prose],[class~=not-prose] *)):after {
    content: close-quote
}

.prose :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-headings);
    font-weight: 800;
    font-size: 2.25em;
    margin-top: 0;
    margin-bottom: .8888889em;
    line-height: 1.1111111
}

.prose :where(h1 strong):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-weight: 900;
    color: inherit
}

.prose :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-headings);
    font-weight: 700;
    font-size: 1.5em;
    margin-top: 2em;
    margin-bottom: 1em;
    line-height: 1.3333333
}

.prose :where(h2 strong):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-weight: 800;
    color: inherit
}

.prose :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    font-size: 1.25em;
    margin-top: 1.6em;
    margin-bottom: .6em;
    line-height: 1.6
}

.prose :where(h3 strong):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-weight: 700;
    color: inherit
}

.prose :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    margin-top: 1.5em;
    margin-bottom: .5em;
    line-height: 1.5
}

.prose :where(h4 strong):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-weight: 700;
    color: inherit
}

.prose :where(img):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 2em;
    margin-bottom: 2em
}

.prose :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)) {
    display: block;
    margin-top: 2em;
    margin-bottom: 2em
}

.prose :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-weight: 500;
    font-family: inherit;
    color: var(--tw-prose-kbd);
    box-shadow: 0 0 0 1px rgb(var(--tw-prose-kbd-shadows)/10%), 0 3px 0 rgb(var(--tw-prose-kbd-shadows)/10%);
    font-size: .875em;
    border-radius: .3125rem;
    padding: .1875em .375em
}

.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-code);
    font-weight: 600;
    font-size: .875em
}

.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):before {
    content: "`"
}

.prose :where(code):not(:where([class~=not-prose],[class~=not-prose] *)):after {
    content: "`"
}

.prose :where(a code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: inherit
}

.prose :where(h1 code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: inherit
}

.prose :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: inherit;
    font-size: .875em
}

.prose :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: inherit;
    font-size: .9em
}

.prose :where(h4 code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: inherit
}

.prose :where(blockquote code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: inherit
}

.prose :where(thead th code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: inherit
}

.prose :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-pre-code);
    background-color: var(--tw-prose-pre-bg);
    overflow-x: auto;
    font-weight: 400;
    font-size: .875em;
    line-height: 1.7142857;
    margin-top: 1.7142857em;
    margin-bottom: 1.7142857em;
    border-radius: .375rem;
    padding: .8571429em 1.1428571em
}

.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    background-color: transparent;
    border-width: 0;
    border-radius: 0;
    padding: 0;
    font-weight: inherit;
    color: inherit;
    font-size: inherit;
    font-family: inherit;
    line-height: inherit
}

.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):before {
    content: none
}

.prose :where(pre code):not(:where([class~=not-prose],[class~=not-prose] *)):after {
    content: none
}

.prose :where(table):not(:where([class~=not-prose],[class~=not-prose] *)) {
    width: 100%;
    table-layout: auto;
    text-align: left;
    margin-top: 2em;
    margin-bottom: 2em;
    font-size: .875em;
    line-height: 1.7142857
}

.prose :where(thead):not(:where([class~=not-prose],[class~=not-prose] *)) {
    border-bottom-width: 1px;
    border-bottom-color: var(--tw-prose-th-borders)
}

.prose :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-headings);
    font-weight: 600;
    vertical-align: bottom;
    padding-right: .5714286em;
    padding-bottom: .5714286em;
    padding-left: .5714286em
}

.prose :where(tbody tr):not(:where([class~=not-prose],[class~=not-prose] *)) {
    border-bottom-width: 1px;
    border-bottom-color: var(--tw-prose-td-borders)
}

.prose :where(tbody tr:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    border-bottom-width: 0
}

.prose :where(tbody td):not(:where([class~=not-prose],[class~=not-prose] *)) {
    vertical-align: baseline
}

.prose :where(tfoot):not(:where([class~=not-prose],[class~=not-prose] *)) {
    border-top-width: 1px;
    border-top-color: var(--tw-prose-th-borders)
}

.prose :where(tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)) {
    vertical-align: top
}

.prose :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0;
    margin-bottom: 0
}

.prose :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)) {
    color: var(--tw-prose-captions);
    font-size: .875em;
    line-height: 1.4285714;
    margin-top: .8571429em
}

.prose {
    --tw-prose-body: #374151;
    --tw-prose-headings: #111827;
    --tw-prose-lead: #4b5563;
    --tw-prose-links: #111827;
    --tw-prose-bold: #111827;
    --tw-prose-counters: #6b7280;
    --tw-prose-bullets: #d1d5db;
    --tw-prose-hr: #e5e7eb;
    --tw-prose-quotes: #111827;
    --tw-prose-quote-borders: #e5e7eb;
    --tw-prose-captions: #6b7280;
    --tw-prose-kbd: #111827;
    --tw-prose-kbd-shadows: 17 24 39;
    --tw-prose-code: #111827;
    --tw-prose-pre-code: #e5e7eb;
    --tw-prose-pre-bg: #1f2937;
    --tw-prose-th-borders: #d1d5db;
    --tw-prose-td-borders: #e5e7eb;
    --tw-prose-invert-body: #d1d5db;
    --tw-prose-invert-headings: #fff;
    --tw-prose-invert-lead: #9ca3af;
    --tw-prose-invert-links: #fff;
    --tw-prose-invert-bold: #fff;
    --tw-prose-invert-counters: #9ca3af;
    --tw-prose-invert-bullets: #4b5563;
    --tw-prose-invert-hr: #374151;
    --tw-prose-invert-quotes: #f3f4f6;
    --tw-prose-invert-quote-borders: #374151;
    --tw-prose-invert-captions: #9ca3af;
    --tw-prose-invert-kbd: #fff;
    --tw-prose-invert-kbd-shadows: 255 255 255;
    --tw-prose-invert-code: #fff;
    --tw-prose-invert-pre-code: #d1d5db;
    --tw-prose-invert-pre-bg: rgba(0, 0, 0, .5);
    --tw-prose-invert-th-borders: #4b5563;
    --tw-prose-invert-td-borders: #374151;
    font-size: 1rem;
    line-height: 1.75
}

.prose :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0;
    margin-bottom: 0
}

.prose :where(video):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 2em;
    margin-bottom: 2em
}

.prose :where(li):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: .5em;
    margin-bottom: .5em
}

.prose :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-left: .375em
}

.prose :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-left: .375em
}

.prose :where(.prose>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: .75em;
    margin-bottom: .75em
}

.prose :where(.prose>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.25em
}

.prose :where(.prose>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-bottom: 1.25em
}

.prose :where(.prose>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.25em
}

.prose :where(.prose>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-bottom: 1.25em
}

.prose :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: .75em;
    margin-bottom: .75em
}

.prose :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em
}

.prose :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: .5em;
    padding-left: 1.625em
}

.prose :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0
}

.prose :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0
}

.prose :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0
}

.prose :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0
}

.prose :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-left: 0
}

.prose :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-right: 0
}

.prose :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding: .5714286em
}

.prose :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-left: 0
}

.prose :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-right: 0
}

.prose :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 2em;
    margin-bottom: 2em
}

.prose :where(.prose>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0
}

.prose :where(.prose>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-bottom: 0
}

.prose-base {
    font-size: 1rem;
    line-height: 1.75
}

.prose-base :where(p):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em
}

.prose-base :where([class~=lead]):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-size: 1.25em;
    line-height: 1.6;
    margin-top: 1.2em;
    margin-bottom: 1.2em
}

.prose-base :where(blockquote):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.6em;
    margin-bottom: 1.6em;
    padding-left: 1em
}

.prose-base :where(h1):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-size: 2.25em;
    margin-top: 0;
    margin-bottom: .8888889em;
    line-height: 1.1111111
}

.prose-base :where(h2):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-size: 1.5em;
    margin-top: 2em;
    margin-bottom: 1em;
    line-height: 1.3333333
}

.prose-base :where(h3):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-size: 1.25em;
    margin-top: 1.6em;
    margin-bottom: .6em;
    line-height: 1.6
}

.prose-base :where(h4):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.5em;
    margin-bottom: .5em;
    line-height: 1.5
}

.prose-base :where(img):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 2em;
    margin-bottom: 2em
}

.prose-base :where(picture):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 2em;
    margin-bottom: 2em
}

.prose-base :where(picture>img):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0;
    margin-bottom: 0
}

.prose-base :where(video):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 2em;
    margin-bottom: 2em
}

.prose-base :where(kbd):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-size: .875em;
    border-radius: .3125rem;
    padding: .1875em .375em
}

.prose-base :where(code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-size: .875em
}

.prose-base :where(h2 code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-size: .875em
}

.prose-base :where(h3 code):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-size: .9em
}

.prose-base :where(pre):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-size: .875em;
    line-height: 1.7142857;
    margin-top: 1.7142857em;
    margin-bottom: 1.7142857em;
    border-radius: .375rem;
    padding: .8571429em 1.1428571em
}

.prose-base :where(ol):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-left: 1.625em
}

.prose-base :where(ul):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em;
    padding-left: 1.625em
}

.prose-base :where(li):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: .5em;
    margin-bottom: .5em
}

.prose-base :where(ol>li):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-left: .375em
}

.prose-base :where(ul>li):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-left: .375em
}

.prose-base :where(.prose-base>ul>li p):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: .75em;
    margin-bottom: .75em
}

.prose-base :where(.prose-base>ul>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.25em
}

.prose-base :where(.prose-base>ul>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-bottom: 1.25em
}

.prose-base :where(.prose-base>ol>li>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.25em
}

.prose-base :where(.prose-base>ol>li>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-bottom: 1.25em
}

.prose-base :where(ul ul,ul ol,ol ul,ol ol):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: .75em;
    margin-bottom: .75em
}

.prose-base :where(dl):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.25em;
    margin-bottom: 1.25em
}

.prose-base :where(dt):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 1.25em
}

.prose-base :where(dd):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: .5em;
    padding-left: 1.625em
}

.prose-base :where(hr):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 3em;
    margin-bottom: 3em
}

.prose-base :where(hr+*):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0
}

.prose-base :where(h2+*):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0
}

.prose-base :where(h3+*):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0
}

.prose-base :where(h4+*):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0
}

.prose-base :where(table):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-size: .875em;
    line-height: 1.7142857
}

.prose-base :where(thead th):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-right: .5714286em;
    padding-bottom: .5714286em;
    padding-left: .5714286em
}

.prose-base :where(thead th:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-left: 0
}

.prose-base :where(thead th:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-right: 0
}

.prose-base :where(tbody td,tfoot td):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding: .5714286em
}

.prose-base :where(tbody td:first-child,tfoot td:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-left: 0
}

.prose-base :where(tbody td:last-child,tfoot td:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    padding-right: 0
}

.prose-base :where(figure):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 2em;
    margin-bottom: 2em
}

.prose-base :where(figure>*):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0;
    margin-bottom: 0
}

.prose-base :where(figcaption):not(:where([class~=not-prose],[class~=not-prose] *)) {
    font-size: .875em;
    line-height: 1.4285714;
    margin-top: .8571429em
}

.prose-base :where(.prose-base>:first-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-top: 0
}

.prose-base :where(.prose-base>:last-child):not(:where([class~=not-prose],[class~=not-prose] *)) {
    margin-bottom: 0
}

.\!prose-invert {
    --tw-prose-body: var(--tw-prose-invert-body) !important;
    --tw-prose-headings: var(--tw-prose-invert-headings) !important;
    --tw-prose-lead: var(--tw-prose-invert-lead) !important;
    --tw-prose-links: var(--tw-prose-invert-links) !important;
    --tw-prose-bold: var(--tw-prose-invert-bold) !important;
    --tw-prose-counters: var(--tw-prose-invert-counters) !important;
    --tw-prose-bullets: var(--tw-prose-invert-bullets) !important;
    --tw-prose-hr: var(--tw-prose-invert-hr) !important;
    --tw-prose-quotes: var(--tw-prose-invert-quotes) !important;
    --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders) !important;
    --tw-prose-captions: var(--tw-prose-invert-captions) !important;
    --tw-prose-kbd: var(--tw-prose-invert-kbd) !important;
    --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows) !important;
    --tw-prose-code: var(--tw-prose-invert-code) !important;
    --tw-prose-pre-code: var(--tw-prose-invert-pre-code) !important;
    --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg) !important;
    --tw-prose-th-borders: var(--tw-prose-invert-th-borders) !important;
    --tw-prose-td-borders: var(--tw-prose-invert-td-borders) !important
}

.prose-invert {
    --tw-prose-body: var(--tw-prose-invert-body);
    --tw-prose-headings: var(--tw-prose-invert-headings);
    --tw-prose-lead: var(--tw-prose-invert-lead);
    --tw-prose-links: var(--tw-prose-invert-links);
    --tw-prose-bold: var(--tw-prose-invert-bold);
    --tw-prose-counters: var(--tw-prose-invert-counters);
    --tw-prose-bullets: var(--tw-prose-invert-bullets);
    --tw-prose-hr: var(--tw-prose-invert-hr);
    --tw-prose-quotes: var(--tw-prose-invert-quotes);
    --tw-prose-quote-borders: var(--tw-prose-invert-quote-borders);
    --tw-prose-captions: var(--tw-prose-invert-captions);
    --tw-prose-kbd: var(--tw-prose-invert-kbd);
    --tw-prose-kbd-shadows: var(--tw-prose-invert-kbd-shadows);
    --tw-prose-code: var(--tw-prose-invert-code);
    --tw-prose-pre-code: var(--tw-prose-invert-pre-code);
    --tw-prose-pre-bg: var(--tw-prose-invert-pre-bg);
    --tw-prose-th-borders: var(--tw-prose-invert-th-borders);
    --tw-prose-td-borders: var(--tw-prose-invert-td-borders)
}

@keyframes scrollAnimation {
    0% {
        transform: translateY(0)
    }
    to {
        transform: translateY(calc(-100%))
    }
}

@media (min-width: 1024px) {
}

:root {
    --auth-background: 0 0% 100%;
    --auth-foreground: 222.2 84% 4.9%;
    --auth-card: 0 0% 100%;
    --auth-card-foreground: 222.2 84% 4.9%;
    --auth-popover: 0 0% 100%;
    --auth-popover-foreground: 222.2 84% 4.9%;
    --auth-primary: 222.2 47.4% 11.2%;
    --auth-primary-foreground: 210 40% 98%;
    --auth-secondary: 210 40% 96.1%;
    --auth-secondary-foreground: 222.2 47.4% 11.2%;
    --auth-muted: 210 40% 96.1%;
    --auth-muted-foreground: 215.4 16.3% 46.9%;
    --auth-accent: 210 40% 96.1%;
    --auth-accent-foreground: 222.2 47.4% 11.2%;
    --auth-destructive: 0 84.2% 60.2%;
    --auth-destructive-foreground: 210 40% 98%;
    --auth-border: 214.3 31.8% 91.4%;
    --auth-input: 214.3 31.8% 93.4%;
    --auth-ring: 222.2 84% 4.9%;
    --auth-radius: 0.5rem;
    --background: 0 0% 98%;
    --foreground: 224 51% 26%;
    --muted: 210 4% 91%;
    --muted-foreground: 209 26% 40%;
    --popover: 0 0% 100%;
    --popover-foreground: 214 12% 12%;
    --card: 0 0% 99%;
    --card-foreground: 224 51% 26%;
    --border: 209 78% 15%;
    --input: 209 26% 40%;
    --primary: 225 100% 6%;
    --primary-foreground: 210 31% 80%;
    --secondary: 224 51% 26%;
    --secondary-foreground: 0 0% 96%;
    --accent: 205 100% 3%;
    --accent-foreground: 205 90% 98%;
    --destructive: 0 84.2% 60.2%;
    --destructive-foreground: 210 40% 98%;
    --ring: 215 20.2% 65.1%;
    --radius: 0rem
}

html {
    scroll-behavior: smooth
}

body {
    overflow-x: hidden;
    --tw-bg-opacity: 1;
    background-color: hsl(var(--background)/var(--tw-bg-opacity));
    font-family: var(--font-inter);
    --tw-text-opacity: 1;
    color: hsl(var(--foreground)/var(--tw-text-opacity))
}

.container {
    margin: 0 auto;
    width: calc(100% - 60px);
    max-width: 1620px
}

@media (min-width: 720px) {

    .container {
        width: calc(100% - 100px)
    }
}

@media (min-width: 1080px) {

    .container {
        width: calc(100% - 150px)
    }
}

.section-space-sm {
    padding-top: 3rem;
    padding-bottom: 3rem
}

@media (min-width: 1024px) {
    .section-space-sm {
        padding-top: 5rem;
        padding-bottom: 5rem
    }
}

.before\:backdrop-hack:before {
    content: var(--tw-content);
    position: absolute;
    inset: 0;
    z-index: -10
}

@media (min-width: 640px) {
}

@keyframes spinning {
    to {
        transform: rotate(1turn)
    }
}

ul[data-type=taskList] li > label {
    margin-right: .2rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none
}

@media screen and (max-width: 768px) {
    ul[data-type=taskList] li > label {
        margin-right: .5rem
    }
}

ul[data-type=taskList] li > label input[type=checkbox] {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: hsl(var(--auth-background));
    cursor: pointer;
    width: 1.2em;
    height: 1.2em;
    position: relative;
    top: 5px;
    border: 2px solid hsl(var(--auth-border));
    margin: 0 .3rem 0 0;
    display: grid;
    place-content: center;

    &:active, &:hover {
        background-color: hsl(var(--auth-accent))
    }

    &:before {
        content: "";
        width: .65em;
        height: .65em;
        transform: scale(0);
        transition: transform .12s ease-in-out;
        box-shadow: inset 1em 1em;
        transform-origin: center;
        -webkit-clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%);
        clip-path: polygon(14% 44%, 0 65%, 50% 100%, 100% 16%, 80% 0, 43% 62%)
    }

    &:checked:before {
        transform: scale(1)
    }
}

ul[data-type=taskList] li[data-checked=true] > div > p {
    color: var(--auth-muted-foreground);
    text-decoration: line-through;
    text-decoration-thickness: 2px
}

h1 {
    margin-bottom: 1.5rem;
    font-size: 1.875rem !important;
    line-height: 2.25rem !important;
    font-weight: 700 !important;
    text-transform: uppercase;
    line-height: 1.25 !important
}

@media (min-width: 768px) {
    h1 {
        font-size: 2.25rem !important;
        line-height: 2.5rem !important;
        font-weight: 700 !important
    }
}

@media (min-width: 1024px) {
    h1 {
        font-size: 3rem !important;
        line-height: 1 !important
    }
}

h2 {
    margin-top: .75rem;
    margin-bottom: 1rem;
    font-size: 1.875rem !important;
    line-height: 2.25rem !important;
    font-weight: 700;
    text-transform: uppercase
}

@media (min-width: 768px) {
    h2 {
        font-size: 2.25rem !important;
        line-height: 2.5rem !important
    }
}

@media (min-width: 1024px) {
    h2 {
        font-size: 3rem;
        line-height: 1
    }
}

h3 {
    margin-top: .5rem;
    margin-bottom: .75rem;
    font-size: 1.5rem !important;
    line-height: 2rem !important;
    font-weight: 600 !important;
    text-transform: uppercase
}

@media (min-width: 768px) {
    h3 {
        font-size: 1.875rem !important;
        line-height: 2.25rem !important
    }
}

h4 {
    font-size: 1.25rem !important;
    font-weight: 600 !important
}

h4, h5 {
    margin-top: .5rem;
    line-height: 1.75rem !important
}

h5 {
    font-size: 1.125rem !important;
    font-weight: 500 !important
}

h6 {
    margin-top: .5rem;
    font-size: 1rem !important;
    line-height: 1.5rem !important
}

p {
    --tw-text-opacity: 1;
    color: rgb(51 59 81/var(--tw-text-opacity))
}

body {
    font-family: Arial, Helvetica, sans-serif
}

.static-mobile-menu {
    position: absolute;
    top: 100%;
    left: 0;
    right: 0;
    background: rgba(8, 31, 62, .98);
    padding: 1rem 1.5rem 1.5rem;
    box-shadow: 0 18px 35px rgba(0, 0, 0, .35)
}

.static-mobile-menu[hidden] {
    display: none
}

.static-mobile-menu a {
    display: block;
    color: #fff;
    padding: .75rem 0;
    border-bottom: 1px solid rgba(255, 255, 255, .16);
    font-size: 1rem;
    text-transform: uppercase;
    letter-spacing: .04em
}

.site-submenu a {
    color: #fff !important;
    font-size: 14px;
    line-height: 1.25rem;
    text-transform: uppercase
}

.site-submenu a:hover, .site-submenu a:focus-visible {
    color: #68c7e9 !important
}

.static-form-note {
    margin-top: 1rem;
    color: #315b82;
    font-size: .9rem
}

@media (prefers-reduced-motion: reduce) {
    html {
        scroll-behavior: auto
    }

    * {
        animation: none !important;
        transition: none !important
    }
}


.live-jobs-section, .live-job-detail-section {
    min-height: 50vh;
    color: #17283a
}

.live-jobs-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 2rem;
    margin-bottom: 2rem
}

.live-jobs-heading h2 {
    margin: 0;
    text-transform: uppercase
}

.live-jobs-eyebrow {
    margin: 0 0 .35rem;
    color: #2c76f7;
    font-weight: 700;
    letter-spacing: .12em;
    text-transform: uppercase
}

.live-jobs-toolbar {
    display: grid;
    grid-template-columns:2fr 1fr 1fr auto;
    gap: 1rem;
    align-items: end;
    padding: 1.25rem;
    margin-bottom: 1.5rem;
    background: #eef3f7
}

.live-jobs-toolbar label span {
    display: block;
    margin-bottom: .4rem;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase
}

.live-jobs-toolbar input, .live-jobs-toolbar select {
    width: 100%;
    height: 3rem;
    padding: 0 .85rem;
    border: 1px solid #bdc9d5;
    background: #fff;
    color: #17283a
}

.live-jobs-toolbar button, .live-job-apply {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 3rem;
    padding: .7rem 1rem;
    border: 2px solid #1d568d;
    background: transparent;
    color: #1d568d;
    font-weight: 700;
    text-transform: uppercase
}

.live-jobs-toolbar button:hover, .live-job-apply:hover {
    background: #1d568d;
    color: #fff
}

.live-job-list {
    border-top: 1px solid #d6dee6
}

.live-job-card {
    display: grid;
    grid-template-columns:minmax(0, 2fr) 1fr 1fr;
    gap: 1.5rem;
    padding: 1.5rem .5rem;
    border-bottom: 1px solid #d6dee6
}

.live-job-card h3 {
    margin: 0 0 .5rem;
    font-size: 1.15rem
}

.live-job-card h3 a {
    color: #163f68;
    text-decoration: underline;
    text-underline-offset: 3px
}

.live-job-card p {
    margin: .2rem 0;
    color: #526475
}

.live-job-card strong {
    display: block;
    margin-bottom: .25rem;
    color: #1c2d3d;
    font-size: .75rem;
    letter-spacing: .08em;
    text-transform: uppercase
}

.live-job-empty, .live-job-error {
    padding: 2rem;
    text-align: center;
    background: #f2f5f8
}

.live-job-error {
    color: #8a1f1f
}

.live-job-back {
    display: inline-block;
    margin-bottom: 2rem;
    color: #1d568d;
    font-weight: 700
}

.live-job-detail-header {
    padding-bottom: 2rem;
    border-bottom: 1px solid #d6dee6
}

.live-job-detail-header h1 {
    margin: .5rem 0 1rem;
    color: #163f68
}

.live-job-meta {
    display: grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap: 1rem;
    margin: 1.5rem 0 2.5rem
}

.live-job-meta div {
    padding: 1rem;
    background: #eef3f7
}

.live-job-meta dt {
    font-size: .72rem;
    font-weight: 700;
    letter-spacing: .08em;
    text-transform: uppercase
}

.live-job-meta dd {
    margin: .35rem 0 0
}

.live-job-description {
    max-width: 900px
}

.live-job-description h1, .live-job-description h2, .live-job-description h3, .live-job-description h4, .live-job-description h5 {
    margin: 1.75rem 0 .7rem;
    color: #163f68
}

.live-job-description p, .live-job-description li {
    line-height: 1.7
}

.live-job-description ul, .live-job-description ol {
    padding-left: 1.5rem
}

.live-job-apply {
    margin-top: 2rem
}

@media (max-width: 900px) {
    .live-jobs-heading {
        display: block
    }

    .live-jobs-toolbar {
        grid-template-columns:1fr
    }

    .live-job-card {
        grid-template-columns:1fr
    }

    .live-job-meta {
        grid-template-columns:1fr 1fr
    }
}

@media (max-width: 540px) {
    .live-job-meta {
        grid-template-columns:1fr
    }
}

body.site-error-page {
    margin: 0;
    background: #0b2c52;
    color: #fff;
    font-family: Arial, sans-serif;
    display: grid;
    min-height: 100vh;
    place-items: center;
    text-align: center
}

.site-error-page main {
    padding: 2rem
}

.site-error-page img {
    max-width: 260px
}

.site-error-page a {
    color: #8fc5ff
}

.career-heading-hero {
    align-items: center;
    display: flex;
    height: 200px
}

.career-heading-hero.career-subheading-hero {
    height: 120px
}

section[id] {
    scroll-margin-top: 92px
}

.site-footer-heading {
    font-size: 1rem !important;
    line-height: 1.5rem !important;
    margin: 0
}

.site-footer-question {
    font-size: 1.875rem !important;
    line-height: 2.25rem !important;
    margin: 0
}

.site-cover-image {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center
}

.site-desktop-nav, .site-mobile-nav {
    background: #0a203b;
    box-shadow: 0 10px 30px rgba(3, 15, 30, .14);
    backdrop-filter: blur(14px)
}

.site-header--overlay .site-desktop-nav, .site-header--overlay .site-mobile-nav {
    background: rgba(6, 24, 48, .72)
}

.site-logo {
    width: 210px;
    height: auto
}

.site-desktop-nav > .container {
    min-height: 82px
}

.site-primary-link {
    font-size: 15px;
    line-height: 1.25rem;
    transition: color .2s ease
}

.site-primary-link:hover, .site-primary-link:focus-visible, .site-primary-link.is-active {
    color: #68c7e9
}

.site-primary-indicator {
    background: transparent
}

.site-primary-indicator.is-active, .site-submenu-marker {
    background: #159dca
}

@media (max-width: 1023px) {
    .site-mobile-nav > .container {
        padding-top: 17px;
        padding-bottom: 12px
    }
}

.home-shell {
    width: min(100% - 48px, 1240px);
    margin-inline: auto
}

.home-hero {
    position: relative;
    min-height: 780px;
    display: flex;
    align-items: center;
    overflow: hidden;
    background: #071a31
}

.home-hero-image, .home-hero-overlay {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%
}

.home-hero-image {
    object-fit: cover;
    object-position: center
}

.home-hero-overlay {
    background: linear-gradient(90deg, rgba(3, 17, 35, .94) 0%, rgba(3, 17, 35, .78) 38%, rgba(3, 17, 35, .26) 72%), linear-gradient(0deg, rgba(3, 17, 35, .38), transparent 42%)
}

.home-hero-content {
    position: relative;
    z-index: 1;
    padding-top: 150px;
    padding-bottom: 88px
}

.home-eyebrow {
    margin: 0 0 1.25rem;
    color: #087ca8;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .18em;
    line-height: 1.4;
    text-transform: uppercase
}

.home-eyebrow-light {
    color: #68c7e9
}

.home-hero-title {
    max-width: 760px;
    margin: 0 !important;
    color: #fff !important;
    font-size: clamp(3.25rem, 6vw, 5.7rem) !important;
    font-weight: 750 !important;
    letter-spacing: -.045em;
    line-height: .98 !important;
    text-transform: none !important
}

.home-hero-summary {
    max-width: 650px;
    margin: 2rem 0 0;
    color: rgba(255, 255, 255, .88);
    font-size: 1.25rem;
    line-height: 1.65
}

.home-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 1rem;
    margin-top: 2.25rem
}

.home-button {
    display: inline-flex;
    min-height: 52px;
    align-items: center;
    justify-content: center;
    padding: .85rem 1.4rem;
    border: 2px solid transparent;
    font-size: .82rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase;
    transition: background-color .2s ease, border-color .2s ease, color .2s ease, transform .2s ease
}

.home-button:hover, .home-button:focus-visible {
    transform: translateY(-2px)
}

.home-button-primary {
    background: #159dca;
    color: #fff
}

.home-button-primary:hover, .home-button-primary:focus-visible {
    background: #087ca8;
    color: #fff
}

.home-button-secondary {
    border-color: rgba(255, 255, 255, .8);
    color: #fff
}

.home-button-secondary:hover, .home-button-secondary:focus-visible {
    border-color: #fff;
    background: #fff;
    color: #0a203b
}

.home-hero-since {
    margin: 4.5rem 0 0;
    color: rgba(255, 255, 255, .65);
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .16em;
    text-transform: uppercase
}

.home-trust {
    position: relative;
    z-index: 2;
    border-bottom: 1px solid #dbe4eb;
    background: #fff
}

.home-trust-layout {
    display: grid;
    grid-template-columns:1.15fr 1.35fr .8fr;
    align-items: center;
    gap: 3rem;
    padding-block: 2.5rem
}

.home-trust-copy .home-eyebrow {
    margin-bottom: .5rem
}

.home-trust-copy > p:last-child {
    margin: 0;
    color: #536579;
    font-size: .95rem;
    line-height: 1.55
}

.home-trust-facts {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    gap: 1.5rem
}

.home-trust-facts div {
    border-left: 1px solid #d8e2e9;
    padding-left: 1rem
}

.home-trust-facts strong, .home-trust-facts span {
    display: block
}

.home-trust-facts strong {
    color: #102c4a;
    font-size: 1.2rem;
    line-height: 1.2
}

.home-trust-facts span {
    margin-top: .35rem;
    color: #68798a;
    font-size: .68rem;
    font-weight: 700;
    letter-spacing: .06em;
    text-transform: uppercase
}

.home-trust-logos {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 1.1rem
}

.home-trust-logos img {
    width: auto;
    max-width: 120px;
    height: 52px;
    object-fit: contain
}

.home-editorial, .home-capabilities, .home-company-data, .home-closing {
    position: relative
}

.home-editorial {
    padding-block: 7.5rem;
    background: #fff
}

.home-editorial-soft {
    background: #f3f6f8
}

.home-split {
    display: grid;
    grid-template-columns:minmax(0, .88fr) minmax(0, 1.12fr);
    align-items: center;
    gap: clamp(3.5rem, 7vw, 7rem)
}

.home-split-reverse {
    grid-template-columns:minmax(0, 1.12fr) minmax(0, .88fr)
}

.home-section-title {
    max-width: 720px;
    margin: 0 0 1.75rem !important;
    color: #112a43 !important;
    font-size: clamp(2.25rem, 4vw, 3.55rem) !important;
    font-weight: 730 !important;
    letter-spacing: -.035em;
    line-height: 1.08 !important;
    text-transform: none !important
}

.home-split-copy > p:not(.home-eyebrow), .home-section-intro > p:not(.home-eyebrow), .home-closing p, .home-company-data p {
    margin: 0 0 1.2rem;
    color: #526477;
    font-size: 1.08rem;
    line-height: 1.75
}

.home-split-media {
    position: relative;
    margin: 0;
    overflow: hidden;
    background: #dce5eb;
    box-shadow: 0 26px 60px rgba(15, 39, 65, .14)
}

.home-split-media:after {
    position: absolute;
    inset: 0;
    border: 1px solid rgba(255, 255, 255, .32);
    content: "";
    pointer-events: none
}

.home-split-media img {
    display: block;
    width: 100%;
    aspect-ratio:3 / 2;
    object-fit: cover
}

.home-text-link {
    display: inline-flex;
    align-items: center;
    gap: .65rem;
    margin-top: 1rem;
    color: #087ca8;
    font-size: .9rem;
    font-weight: 800;
    letter-spacing: .04em;
    text-transform: uppercase
}

.home-text-link span {
    font-size: 1.25rem;
    transition: transform .2s ease
}

.home-text-link:hover, .home-text-link:focus-visible {
    color: #075f80
}

.home-text-link:hover span, .home-text-link:focus-visible span {
    transform: translateX(4px)
}

.home-capabilities {
    padding-block: 7.5rem;
    background: #edf3f6
}

.home-section-intro {
    display: grid;
    grid-template-columns:1fr 1fr;
    column-gap: 5rem;
    align-items: end;
    margin-bottom: 3.75rem
}

.home-section-intro .home-eyebrow {
    grid-column:1 / -1
}

.home-section-intro .home-section-title {
    margin-bottom: 0 !important
}

.home-section-intro > p:last-child {
    margin-bottom: .25rem
}

.home-capability-grid {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    gap: 1px;
    overflow: hidden;
    border: 1px solid #d5e0e7;
    background: #d5e0e7
}

.home-capability-grid a {
    min-height: 225px;
    padding: 1.75rem;
    background: #fff;
    color: #112a43;
    transition: background-color .2s ease, color .2s ease, transform .2s ease
}

.home-capability-grid a:hover, .home-capability-grid a:focus-visible {
    position: relative;
    z-index: 1;
    background: #0b2948;
    color: #fff;
    transform: translateY(-3px)
}

.home-capability-grid span, .home-capability-grid strong, .home-capability-grid small {
    display: block
}

.home-capability-grid span {
    margin-bottom: 2.75rem;
    color: #159dca;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em
}

.home-capability-grid strong {
    font-size: 1.02rem;
    line-height: 1.35
}

.home-capability-grid small {
    margin-top: .75rem;
    color: #68798a;
    font-size: .82rem;
    line-height: 1.55
}

.home-capability-grid a:hover small, .home-capability-grid a:focus-visible small {
    color: rgba(255, 255, 255, .72)
}

.home-outcome-list {
    margin: 1.6rem 0 .5rem;
    padding: 0;
    list-style: none
}

.home-outcome-list li {
    position: relative;
    margin: .8rem 0;
    padding-left: 1.6rem;
    color: #273d52;
    line-height: 1.55
}

.home-outcome-list li:before {
    position: absolute;
    left: 0;
    top: .65em;
    width: 8px;
    height: 2px;
    background: #159dca;
    content: ""
}

.home-actions-dark {
    align-items: center
}

.home-actions-dark .home-text-link {
    margin-top: 0
}

.home-company-data {
    padding-block: 5.5rem;
    background: #0a203b
}

.home-data-layout {
    display: grid;
    grid-template-columns:minmax(280px, .65fr) minmax(0, 1.35fr);
    align-items: end;
    gap: 4rem
}

.home-section-title-light {
    color: #fff !important
}

.home-company-data p {
    max-width: 520px;
    color: rgba(255, 255, 255, .68)
}

.home-data-grid {
    display: grid;
    grid-template-columns:repeat(5, minmax(0, 1fr));
    gap: 1px;
    margin: 0;
    background: rgba(255, 255, 255, .16)
}

.home-data-grid div {
    min-width: 0;
    padding: 1.35rem clamp(.9rem, 1.15vw, 1.35rem);
    background: #102b4c
}

.home-data-grid dt {
    margin-bottom: .45rem;
    color: #68c7e9;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .14em;
    text-transform: uppercase
}

.home-data-grid dd {
    max-width: 100%;
    margin: 0;
    color: #fff;
    font-size: clamp(.82rem, 1vw, .98rem);
    font-weight: 650;
    letter-spacing: .015em;
    white-space: nowrap
}

.home-closing {
    padding-block: 5.5rem;
    background: #f5f7f9
}

.home-closing-layout {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem
}

.home-closing .home-section-title {
    margin-bottom: .85rem !important
}

.home-closing p {
    margin-bottom: 0
}

.site-footer {
    background: #071a30;
    color: #fff
}

.site-footer > .container {
    padding-block: 4.75rem 0
}

.site-footer-main {
    display: grid;
    grid-template-columns:minmax(260px, 1.35fr) repeat(3, minmax(180px, 1fr));
    gap: clamp(2rem, 4vw, 4.5rem);
    padding-bottom: 4rem
}

.site-footer-identity img {
    display: block;
    width: min(220px, 100%);
    height: auto;
    margin-bottom: 1.5rem
}

.site-footer-identity > p {
    max-width: 380px;
    margin: 0 0 1.5rem;
    line-height: 1.7
}

.site-footer-label {
    margin: .2rem 0 1.25rem;
    color: #fff !important;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase
}

.site-footer address {
    margin-bottom: 1rem;
    color: rgba(255, 255, 255, .72);
    font-style: normal;
    line-height: 1.75
}

.site-footer-contact {
    display: inline-flex;
    color: #68c7e9 !important;
    font-size: .78rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase
}

.site-footer-credentials {
    display: grid;
    gap: .65rem;
    margin: 0
}

.site-footer-credentials > div {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    padding-bottom: .55rem;
    border-bottom: 1px solid rgba(255, 255, 255, .12)
}

.site-footer-credentials dt {
    color: rgba(255, 255, 255, .55);
    font-size: .72rem;
    font-weight: 760;
    letter-spacing: .08em
}

.site-footer-credentials dd {
    margin: 0;
    color: #fff;
    font-size: .78rem;
    font-weight: 700;
    text-align: right
}

.site-footer-status {
    display: grid;
    gap: .85rem;
    margin: 0;
    padding: 0;
    list-style: none
}

.site-footer-status li {
    position: relative;
    padding-left: 1.1rem;
    color: rgba(255, 255, 255, .72);
    font-size: .86rem;
    line-height: 1.5
}

.site-footer-status li::before {
    position: absolute;
    top: .55em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #18a5d1;
    content: ""
}

.site-footer-bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    padding-block: 1.5rem;
    border-top: 1px solid rgba(255, 255, 255, .18)
}

.site-footer-bottom p, .site-footer-bottom a {
    margin: 0;
    color: rgba(255, 255, 255, .62);
    font-size: .68rem;
    letter-spacing: .06em;
    text-transform: uppercase
}

.site-footer-bottom nav {
    display: flex;
    gap: 1.5rem
}

footer p {
    color: rgba(255, 255, 255, .72)
}

footer a {
    transition: color .2s ease
}

footer a:hover, footer a:focus-visible {
    color: #68c7e9
}

@media (max-width: 1100px) {
    .home-trust-layout {
        grid-template-columns:1fr 1.4fr
    }

    .home-trust-logos {
        grid-column:1 / -1;
        justify-content: flex-start;
        border-top: 1px solid #e2e9ee;
        padding-top: 1.5rem
    }

    .home-capability-grid {
        grid-template-columns:repeat(2, 1fr)
    }

    .home-data-layout {
        grid-template-columns:1fr;
        gap: 2.5rem
    }
}

@media (max-width: 767px) {
    .home-shell {
        width: min(100% - 40px, 1240px)
    }

    .home-hero {
        min-height: 720px
    }

    .home-hero-image {
        object-position: 60% center
    }

    .home-hero-overlay {
        background: linear-gradient(90deg, rgba(3, 17, 35, .93), rgba(3, 17, 35, .56)), linear-gradient(0deg, rgba(3, 17, 35, .52), transparent 45%)
    }

    .home-hero-content {
        padding-top: 136px;
        padding-bottom: 64px
    }

    .home-hero-title {
        font-size: clamp(2.8rem, 13vw, 4rem) !important
    }

    .home-hero-summary {
        font-size: 1.05rem
    }

    .home-hero-since {
        margin-top: 3rem
    }

    .home-trust-layout, .home-data-layout, .home-section-intro, .home-split, .home-split-reverse {
        grid-template-columns:1fr;
        gap: 2.5rem
    }

    .home-trust-facts {
        grid-template-columns:repeat(2, 1fr)
    }

    .home-trust-logos {
        grid-column:auto
    }

    .home-editorial, .home-capabilities {
        padding-block: 5rem
    }

    .home-split-copy {
        order: 1
    }

    .home-split-media {
        order: 2
    }

    .home-section-title {
        font-size: clamp(2.15rem, 10vw, 3rem) !important
    }

    .home-section-intro {
        margin-bottom: 2.5rem
    }

    .home-capability-grid {
        grid-template-columns:1fr
    }

    .home-capability-grid a {
        min-height: 190px
    }

    .home-data-grid {
        grid-template-columns:repeat(2, 1fr)
    }

    .home-closing-layout {
        align-items: flex-start;
        flex-direction: column
    }
}

.service-hero {
    padding-block: 7rem;
    background: #fff
}

.service-hero-layout {
    display: grid;
    grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
    align-items: center;
    gap: clamp(3.5rem, 7vw, 7rem)
}

.service-hero-copy h1, .profile-hero h1, .legal-hero h1 {
    margin: 0 0 1.75rem !important;
    color: #112a43 !important;
    font-size: clamp(2.8rem, 5vw, 4.8rem) !important;
    font-weight: 740 !important;
    letter-spacing: -.045em;
    line-height: 1.02 !important;
    text-transform: none !important
}

.service-hero-copy > p:not(.home-eyebrow) {
    max-width: 650px;
    margin: 0 0 1.1rem;
    color: #526477;
    font-size: 1.05rem;
    line-height: 1.75
}

.service-hero-media {
    position: relative;
    margin: 0;
    overflow: hidden;
    background: #dfe8ee;
    box-shadow: 0 28px 64px rgba(15, 39, 65, .16)
}

.service-hero-media img {
    display: block;
    width: 100%;
    aspect-ratio:3 / 2;
    object-fit: cover
}

.service-expertise {
    padding-block: 7rem;
    background: #edf3f6
}

.service-section-heading {
    margin-bottom: 3.5rem
}

.service-card-grid {
    display: grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap: 1px;
    border: 1px solid #d4dfe6;
    background: #d4dfe6
}

.service-card-grid-single {
    grid-template-columns:minmax(0, 760px)
}

.service-card-grid-two {
    grid-template-columns:repeat(2, minmax(0, 1fr))
}

.service-card {
    padding: 2.25rem;
    background: #fff
}

.service-card > span {
    display: block;
    margin-bottom: 3rem;
    color: #159dca;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em
}

.service-card h2 {
    margin: 0 0 1.25rem !important;
    color: #112a43 !important;
    font-size: 1.35rem !important;
    font-weight: 720 !important;
    line-height: 1.25 !important;
    text-transform: none !important
}

.service-card p {
    margin: 0 0 1rem;
    color: #586a7c;
    font-size: .96rem;
    line-height: 1.7
}

.service-card p:last-child {
    margin-bottom: 0
}

.service-pagination {
    border-top: 1px solid #dbe4ea;
    border-bottom: 1px solid #dbe4ea;
    background: #fff
}

.service-pagination > div {
    display: grid;
    grid-template-columns:1fr 1fr
}

.service-pagination a {
    display: block;
    padding: 2rem 0;
    color: #112a43
}

.service-pagination a + a {
    border-left: 1px solid #dbe4ea;
    padding-left: 2rem;
    text-align: right
}

.service-pagination small, .service-pagination strong {
    display: block
}

.service-pagination small {
    margin-bottom: .4rem;
    color: #718293;
    font-size: .68rem;
    font-weight: 750;
    letter-spacing: .12em;
    text-transform: uppercase
}

.service-pagination strong {
    font-size: .95rem
}

.service-pagination a:hover strong, .service-pagination a:focus-visible strong {
    color: #087ca8
}

.service-cta {
    padding-block: 5.5rem;
    background: #0a203b
}

.service-cta > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem
}

.service-cta h2 {
    margin: 0 0 .75rem !important;
    color: #fff !important;
    font-size: clamp(2.15rem, 4vw, 3.35rem) !important;
    line-height: 1.08 !important;
    text-transform: none !important
}

.service-cta p:not(.home-eyebrow) {
    max-width: 650px;
    margin: 0;
    color: rgba(255, 255, 255, .7);
    line-height: 1.65
}

.profile-hero {
    padding-block: 6rem;
    background: #f1f5f7
}

.profile-hero-layout {
    display: grid;
    grid-template-columns:360px 1fr;
    align-items: center;
    gap: clamp(3.5rem, 7vw, 7rem)
}

.profile-hero figure {
    margin: 0;
    overflow: hidden;
    background: #dce5ea;
    box-shadow: 0 24px 55px rgba(15, 39, 65, .14)
}

.profile-hero figure img {
    display: block;
    width: 100%;
    aspect-ratio:4 / 5;
    object-fit: cover;
    object-position: top
}

.profile-role {
    margin: -.65rem 0 1.5rem;
    color: #526477;
    font-size: 1.15rem;
    line-height: 1.5
}

.profile-content {
    padding-block: 7rem;
    background: #fff
}

.profile-content-layout {
    display: grid;
    grid-template-columns:minmax(0, 1.5fr) minmax(280px, .5fr);
    align-items: start;
    gap: clamp(3.5rem, 8vw, 8rem)
}

.profile-content article p {
    margin: 0 0 1.45rem;
    color: #465a6e;
    font-size: 1.05rem;
    line-height: 1.8
}

.profile-content aside {
    padding: 2rem;
    border-top: 3px solid #159dca;
    background: #edf3f6
}

.profile-content aside ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.profile-content aside li {
    padding: .8rem 0;
    border-bottom: 1px solid #d4dfe6;
    color: #31475c;
    font-size: .9rem;
    line-height: 1.5
}

.profile-content aside li:last-child {
    border-bottom: 0
}

.legal-hero {
    padding-block: 5.5rem;
    background: #0a203b
}

.legal-hero h1 {
    max-width: 920px;
    margin-bottom: 0 !important;
    color: #fff !important
}

.legal-section {
    padding-block: 6rem;
    background: #fff
}

.legal-copy {
    max-width: 900px
}

.legal-copy > p, .legal-copy li p {
    color: #465a6e;
    font-size: 1rem;
    line-height: 1.8
}

.legal-copy > p {
    margin: 0 0 1.35rem
}

.legal-copy h2, .legal-copy h3 {
    margin: 3rem 0 1rem !important;
    color: #112a43 !important;
    font-size: 1.45rem !important;
    font-weight: 720 !important;
    letter-spacing: -.01em;
    line-height: 1.3 !important;
    text-transform: none !important
}

.legal-copy ul {
    margin: 0 0 2rem;
    padding-left: 1.3rem
}

.legal-copy a {
    color: #087ca8
}

.legal-copy em {
    color: #718293
}

.page-company main > section:first-of-type, .page-careers main > section:first-of-type, .page-contact main > section:first-of-type, .page-jobs main > section:first-of-type {
    overflow: hidden;
    background: #0a203b
}

.page-company main > section:first-of-type .site-cover-image, .page-careers main > section:first-of-type .site-cover-image, .page-contact main > section:first-of-type .site-cover-image, .page-jobs main > section:first-of-type .site-cover-image {
    opacity: .38;
    filter: saturate(.8)
}

.page-company main > section:first-of-type .absolute.inset-0 > div, .page-careers main > section:first-of-type .absolute.inset-0 > div, .page-contact main > section:first-of-type .absolute.inset-0 > div, .page-jobs main > section:first-of-type .absolute.inset-0 > div {
    position: absolute;
    inset: 0;
    background: linear-gradient(90deg, rgba(4, 21, 42, .96), rgba(4, 21, 42, .56) 55%, rgba(4, 21, 42, .22))
}

.page-company main > section:first-of-type .section-space-sm, .page-careers main > section:first-of-type .section-space-sm, .page-contact main > section:first-of-type .section-space-sm, .page-jobs main > section:first-of-type .section-space-sm {
    min-height: 310px;
    display: flex;
    align-items: center
}

.page-company main > section:first-of-type h1, .page-careers main > section:first-of-type h1, .page-careers main > section:first-of-type h2, .page-contact main > section:first-of-type h1, .page-jobs main > section:first-of-type h1 {
    color: #fff !important;
    font-size: clamp(2.7rem, 5vw, 4.5rem) !important;
    letter-spacing: -.035em;
    line-height: 1.02 !important;
    text-transform: none !important
}

.page-company main > section:first-of-type p, .page-contact main > section:first-of-type p, .page-jobs main > section:first-of-type p {
    color: rgba(255, 255, 255, .82);
    font-size: 1.08rem;
    line-height: 1.7
}

.page-company main > section:not(:first-of-type), .page-careers main > section:not(:first-of-type), .page-contact main > section:not(:first-of-type) {
    border-color: #dbe4ea
}

.page-company main h2, .page-careers main h2, .page-contact main h2 {
    color: #112a43 !important;
    letter-spacing: -.025em;
    text-transform: none !important
}

.page-company main > section:not(:first-of-type) .section-space-sm, .page-careers main > section:not(:first-of-type) .section-space-sm, .page-contact main > section:not(:first-of-type) .section-space-sm {
    padding-block: 6.5rem
}

.page-company .prose p, .page-company .prose li, .page-careers .prose p, .page-careers .prose li, .page-contact .prose p {
    color: #465a6e;
    line-height: 1.75
}

.page-company #leadership, .page-company #work-locations, .page-careers #benefits, .page-careers #military-veterans {
    background: #edf3f6
}

.page-company #leadership .site-cover-image {
    opacity: .18
}

.page-careers #benefits .site-cover-image, .page-careers #military-veterans .site-cover-image {
    opacity: 1;
    filter: brightness(.38) saturate(.8)
}

.page-careers .career-heading-hero {
    position: relative;
    z-index: 1
}

.page-careers .career-heading-hero h2 {
    color: #fff !important
}

.page-careers .container.grid.grid-cols-1 > .w-full {
    padding: 2rem;
    border-top: 3px solid #159dca;
    background: #fff;
    box-shadow: 0 14px 35px rgba(15, 39, 65, .08)
}

.page-contact form {
    padding: 2rem;
    border-top: 3px solid #159dca;
    background: #f1f5f7
}

.page-contact form input, .page-contact form textarea {
    border: 1px solid #d4dfe6 !important;
    background: #fff !important;
    box-shadow: none !important
}

.page-contact form button {
    border-color: #159dca;
    background: #159dca;
    color: #fff !important
}

.page-contact form button:hover, .page-contact form button:focus-visible {
    background: #087ca8 !important
}

.page-contact main > section:last-of-type img[alt^="Map"] {
    box-shadow: 0 20px 50px rgba(15, 39, 65, .12)
}

.page-jobs .live-jobs-section, .page-job-detail .live-job-detail-section {
    padding-block: 6rem
}

.page-jobs .live-jobs-toolbar {
    border-top: 3px solid #159dca;
    background: #edf3f6
}

.page-job-detail .live-job-detail-section {
    background: #fff
}

@media (max-width: 900px) {
    .service-hero-layout, .profile-content-layout {
        grid-template-columns:1fr
    }

    .profile-hero-layout {
        grid-template-columns:280px 1fr;
        gap: 3rem
    }

    .service-card-grid {
        grid-template-columns:1fr
    }
}

@media (max-width: 767px) {
    .service-hero, .service-expertise, .profile-content, .legal-section {
        padding-block: 4.5rem
    }

    .service-hero-layout, .profile-hero-layout {
        grid-template-columns:1fr;
        gap: 2.75rem
    }

    .service-hero-copy h1, .profile-hero h1, .legal-hero h1 {
        font-size: clamp(2.6rem, 13vw, 3.8rem) !important
    }

    .service-card {
        padding: 1.75rem
    }

    .service-pagination > div {
        grid-template-columns:1fr
    }

    .service-pagination a + a {
        border-top: 1px solid #dbe4ea;
        border-left: 0;
        padding-left: 0;
        text-align: left
    }

    .service-cta > div {
        align-items: flex-start;
        flex-direction: column
    }

    .profile-hero {
        padding-block: 4rem
    }

    .profile-hero figure {
        max-width: 300px
    }

    .legal-hero {
        padding-block: 4rem
    }

    .page-company main > section:first-of-type .section-space-sm, .page-careers main > section:first-of-type .section-space-sm, .page-contact main > section:first-of-type .section-space-sm, .page-jobs main > section:first-of-type .section-space-sm {
        min-height: 260px
    }

    .page-company main > section:not(:first-of-type) .section-space-sm, .page-careers main > section:not(:first-of-type) .section-space-sm, .page-contact main > section:not(:first-of-type) .section-space-sm {
        padding-block: 4.5rem
    }

    .page-contact form {
        padding: 1.25rem
    }
}

@media (min-width: 1024px) {
    .career-heading-hero {
        height: 240px
    }

    .career-heading-hero.career-subheading-hero {
        height: 160px
    }
}

.page-company .company-hero {
    padding-block: 6.75rem;
    background: #0a203b
}

.company-hero-layout {
    display: grid;
    grid-template-columns:minmax(0, .88fr) minmax(0, 1.12fr);
    align-items: center;
    gap: clamp(3.5rem, 7vw, 7rem)
}

.company-hero h1 {
    margin: 0 0 1.75rem !important;
    color: #fff !important;
    font-size: clamp(3.2rem, 5.4vw, 5.35rem) !important;
    font-weight: 740 !important;
    letter-spacing: -.05em;
    line-height: .98 !important;
    text-transform: none !important
}

.company-hero p:not(.home-eyebrow) {
    max-width: 650px;
    margin: 0 0 2rem;
    color: rgba(255, 255, 255, .78);
    font-size: 1.08rem;
    line-height: 1.75
}

.company-hero figure {
    margin: 0;
    overflow: hidden;
    box-shadow: 0 30px 70px rgba(0, 0, 0, .3)
}

.company-hero figure img {
    display: block;
    width: 100%;
    aspect-ratio:3 / 2;
    object-fit: cover
}

.page-company .company-proof {
    border-bottom: 1px solid #d7e1e7;
    background: #fff
}

.company-proof > div {
    display: grid;
    grid-template-columns:repeat(4, 1fr)
}

.company-proof > div > div {
    padding: 2rem 1.5rem;
    border-left: 1px solid #d7e1e7
}

.company-proof > div > div:last-child {
    border-right: 1px solid #d7e1e7
}

.company-proof strong, .company-proof span {
    display: block
}

.company-proof strong {
    margin-bottom: .3rem;
    color: #112a43;
    font-size: 1.35rem;
    letter-spacing: -.02em
}

.company-proof span {
    color: #657789;
    font-size: .76rem;
    font-weight: 700;
    letter-spacing: .08em;
    line-height: 1.45;
    text-transform: uppercase
}

.page-company .company-story {
    padding-block: 7rem;
    background: #fff
}

.company-story-layout {
    display: grid;
    grid-template-columns:minmax(0, .9fr) minmax(0, 1.1fr);
    gap: clamp(4rem, 9vw, 9rem)
}

.company-story-copy p {
    margin: 0 0 1.35rem;
    color: #465a6e;
    font-size: 1.05rem;
    line-height: 1.8
}

.company-discipline-grid {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    margin-top: 5rem;
    border: 1px solid #d7e1e7;
    background: #d7e1e7;
    gap: 1px
}

.company-discipline-grid article {
    padding: 2rem;
    background: #f5f8fa
}

.company-discipline-grid span, .company-principle-grid span {
    display: block;
    margin-bottom: 2.5rem;
    color: #159dca;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .14em
}

.company-discipline-grid h3, .company-principle-grid h3 {
    margin: 0 0 1rem;
    color: #112a43;
    font-size: 1.2rem;
    line-height: 1.25
}

.company-discipline-grid p, .company-principle-grid p {
    margin: 0;
    color: #586a7c;
    font-size: .92rem;
    line-height: 1.65
}

.page-company .company-leadership {
    padding-block: 7rem;
    background: #edf3f6
}

.company-section-intro {
    display: grid;
    grid-template-columns:minmax(0, 1.1fr) minmax(300px, .9fr);
    align-items: end;
    gap: 4rem;
    margin-bottom: 4rem
}

.company-section-intro > p {
    margin: 0 0 .35rem;
    color: #586a7c;
    font-size: 1rem;
    line-height: 1.7
}

.company-leader-grid {
    display: grid;
    grid-template-columns:repeat(3, minmax(0, 1fr));
    gap: 1.5rem
}

.company-leader-card {
    display: block;
    overflow: hidden;
    background: #fff;
    box-shadow: 0 18px 45px rgba(15, 39, 65, .1);
    transition: transform .25s ease, box-shadow .25s ease
}

.company-leader-card:hover, .company-leader-card:focus-visible {
    transform: translateY(-5px);
    box-shadow: 0 26px 60px rgba(15, 39, 65, .16)
}

.company-leader-card figure {
    margin: 0;
    overflow: hidden;
    background: #d7e1e7
}

.company-leader-card img {
    display: block;
    width: 100%;
    aspect-ratio:4 / 5;
    object-fit: cover
}

.company-leader-card > div {
    position: relative;
    padding: 1.75rem 2rem 2rem;
    border-top: 3px solid #159dca
}

.company-leader-card p {
    min-height: 2.5em;
    margin: 0 0 .55rem;
    color: #66788a;
    font-size: .76rem;
    font-weight: 720;
    letter-spacing: .07em;
    line-height: 1.35;
    text-transform: uppercase
}

.company-leader-card h3 {
    margin: 0 0 1.25rem;
    color: #112a43;
    font-size: 1.55rem;
    letter-spacing: -.025em
}

.company-leader-card span {
    color: #087ca8;
    font-size: .78rem;
    font-weight: 780;
    letter-spacing: .08em;
    text-transform: uppercase
}

.company-leader-card b {
    margin-left: .35rem
}

.page-company .company-principles {
    padding-block: 7rem;
    background: #0a203b
}

.company-principles .home-section-title, .company-principles .company-section-intro > p {
    color: #fff !important
}

.company-principles .company-section-intro > p {
    color: rgba(255, 255, 255, .7) !important
}

.company-principle-grid {
    display: grid;
    grid-template-columns:repeat(4, 1fr);
    border-top: 1px solid rgba(255, 255, 255, .18)
}

.company-principle-grid article {
    padding: 2.5rem 2rem 0 0
}

.company-principle-grid article + article {
    padding-left: 2rem;
    border-left: 1px solid rgba(255, 255, 255, .18)
}

.company-principle-grid h3 {
    color: #fff
}

.company-principle-grid p {
    color: rgba(255, 255, 255, .68)
}

.page-company .company-locations {
    padding-block: 7rem;
    background: #fff
}

.company-map-layout {
    display: grid;
    grid-template-columns:minmax(0, 1.65fr) minmax(300px, .65fr);
    align-items: start;
    gap: clamp(2.5rem, 6vw, 6rem)
}

.company-map-frame {
    padding: 2rem;
    background: #edf3f6
}

.company-map-canvas {
    position: relative
}

.company-map-canvas > img {
    display: block;
    width: 100%;
    height: auto
}

.company-map-canvas > svg {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%
}

.company-map-marker circle {
    fill: #18a5d1;
    stroke: #fff;
    stroke-width: 5
}

.company-map-marker text {
    fill: #fff;
    font-size: 14px;
    font-weight: 800
}

.company-map-frame > p {
    max-width: 720px;
    margin: 1rem 0 0;
    color: #718293;
    font-size: .78rem;
    line-height: 1.55
}

.company-location-list {
    border-top: 3px solid #159dca
}

.company-location-card {
    display: grid;
    grid-template-columns:42px 1fr;
    gap: 1rem;
    padding: 1.2rem 0;
    border-bottom: 1px solid #d7e1e7
}

.company-location-card > span {
    display: grid;
    width: 34px;
    height: 34px;
    border-radius: 50%;
    place-items: center;
    background: #159dca;
    color: #fff;
    font-size: .78rem;
    font-weight: 800
}

.company-location-card h3 {
    margin: 0 0 .55rem;
    color: #112a43;
    font-size: 1rem
}

.company-location-card ul {
    margin: 0;
    padding: 0;
    list-style: none
}

.company-location-card li {
    margin: .22rem 0;
    color: #5b6e80;
    font-size: .86rem;
    line-height: 1.4
}

.contact-visit {
    margin-top: 5.5rem;
    padding-top: 5.5rem;
    border-top: 1px solid #d7e1e7
}

.contact-visit-heading {
    display: grid;
    grid-template-columns:minmax(0, 1.3fr) minmax(260px, .7fr);
    gap: 3rem;
    margin-bottom: 3.5rem
}

.contact-visit-heading h2 {
    margin: 0 !important;
    font-size: clamp(2.5rem, 5vw, 4.25rem) !important;
    line-height: 1.05 !important
}

.contact-visit-heading strong {
    display: block;
    margin-bottom: .65rem;
    color: #112a43;
    font-size: .76rem;
    letter-spacing: .1em;
    text-transform: uppercase
}

.contact-visit-heading address {
    margin-bottom: .65rem;
    color: #465a6e;
    font-style: normal;
    line-height: 1.7
}

.contact-visit-heading a {
    color: #087ca8;
    font-weight: 700
}

.page-company .company-cta {
    padding-block: 5.5rem;
    background: #102f4d
}

.company-cta > div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 3rem
}

.page-company .company-cta h2 {
    margin: 0 0 .8rem !important;
    color: #fff !important;
    font-size: clamp(2.2rem, 4vw, 3.5rem) !important;
    letter-spacing: -.035em;
    line-height: 1.05 !important;
    text-transform: none !important
}

.company-cta p:not(.home-eyebrow) {
    max-width: 670px;
    margin: 0;
    color: rgba(255, 255, 255, .7);
    line-height: 1.65
}

@media (max-width: 960px) {
    .company-hero-layout, .company-story-layout, .company-map-layout {
        grid-template-columns:1fr
    }

    .company-proof > div, .company-discipline-grid, .company-principle-grid {
        grid-template-columns:repeat(2, 1fr)
    }

    .company-proof > div > div:nth-child(3) {
        border-top: 1px solid #d7e1e7
    }

    .company-proof > div > div:nth-child(4) {
        border-top: 1px solid #d7e1e7
    }

    .company-section-intro {
        grid-template-columns:1fr;
        gap: 1.5rem
    }

    .site-footer-main {
        grid-template-columns:repeat(2, minmax(0, 1fr))
    }

    .company-principle-grid article:nth-child(3) {
        border-top: 1px solid rgba(255, 255, 255, .18)
    }
}

@media (max-width: 767px) {
    .page-company .company-hero, .page-company .company-story, .page-company .company-leadership, .page-company .company-principles, .page-company .company-locations {
        padding-block: 4.5rem
    }

    .company-hero h1 {
        font-size: clamp(3rem, 13vw, 4.2rem) !important
    }

    .company-proof > div {
        grid-template-columns:1fr 1fr
    }

    .company-proof > div > div {
        padding: 1.3rem 1rem
    }

    .company-discipline-grid, .company-principle-grid, .company-leader-grid {
        grid-template-columns:1fr
    }

    .company-discipline-grid {
        margin-top: 3rem
    }

    .company-principle-grid article + article {
        padding-left: 0;
        border-top: 1px solid rgba(255, 255, 255, .18);
        border-left: 0
    }

    .company-leader-card p {
        min-height: 0
    }

    .company-map-frame {
        padding: .75rem
    }

    .company-map-frame > p {
        padding-inline: .5rem
    }

    .contact-visit {
        margin-top: 4rem;
        padding-top: 4rem
    }

    .contact-visit-heading, .site-footer-main {
        grid-template-columns:1fr
    }

    .contact-visit-heading {
        gap: 2rem;
        margin-bottom: 2.5rem
    }

    .site-footer > .container {
        padding-top: 3.75rem
    }

    .site-footer-main {
        padding-bottom: 3rem
    }

    .site-footer-bottom {
        align-items: flex-start;
        flex-direction: column;
        gap: 1rem
    }

    .company-cta > div {
        align-items: flex-start;
        flex-direction: column
    }
}

.page-jobs .jobs-hero, .page-contact .contact-hero-v2 {
    padding-block: 6.75rem;
    background: #0a203b
}

.jobs-hero-layout, .contact-hero-layout {
    display: grid;
    grid-template-columns:minmax(0, 1.25fr) minmax(300px, .75fr);
    align-items: center;
    gap: clamp(3.5rem, 8vw, 8rem)
}

.page-jobs .jobs-hero h1, .page-contact .contact-hero-v2 h1 {
    max-width: 800px;
    margin: 0 0 1.65rem !important;
    color: #fff !important;
    font-size: clamp(3.35rem, 6vw, 5.2rem) !important;
    letter-spacing: -.045em;
    line-height: .98 !important;
    text-transform: none !important
}

.jobs-hero-layout > div > p:not(.home-eyebrow), .contact-hero-layout > div > p:not(.home-eyebrow) {
    max-width: 680px;
    margin: 0 0 2rem;
    color: rgba(255, 255, 255, .78);
    font-size: 1.08rem;
    line-height: 1.75
}

.jobs-hero aside, .contact-hero-v2 aside {
    padding: 2.25rem;
    border-top: 3px solid #18a5d1;
    background: rgba(255, 255, 255, .07)
}

.jobs-hero aside > p {
    margin: 0 0 1.4rem;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 650;
    line-height: 1.65
}

.jobs-hero aside ul, .contact-hero-v2 aside ul {
    display: grid;
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none
}

.jobs-hero aside li, .contact-hero-v2 aside li {
    position: relative;
    padding-left: 1rem;
    color: rgba(255, 255, 255, .7);
    font-size: .86rem;
    line-height: 1.45
}

.jobs-hero aside li::before, .contact-hero-v2 aside li::before {
    position: absolute;
    top: .48em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #18a5d1;
    content: ""
}

.jobs-proof {
    border-bottom: 1px solid #d7e1e7;
    background: #fff
}

.jobs-proof > div {
    display: grid;
    grid-template-columns:repeat(4, 1fr)
}

.jobs-proof > div > div {
    min-height: 116px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.4rem 1.5rem;
    border-left: 1px solid #d7e1e7
}

.jobs-proof > div > div:last-child {
    border-right: 1px solid #d7e1e7
}

.jobs-proof strong, .jobs-proof span {
    display: block
}

.jobs-proof strong {
    color: #112a43;
    font-size: 1.2rem;
    line-height: 1.2
}

.jobs-proof span {
    margin-top: .4rem;
    color: #6c7d8d;
    font-size: .7rem;
    font-weight: 750;
    letter-spacing: .055em;
    line-height: 1.4;
    text-transform: uppercase
}

.page-jobs .live-jobs-section {
    padding-block: 7rem;
    background: #f3f6f8
}

.page-jobs .live-jobs-heading {
    display: grid;
    grid-template-columns:minmax(0, 1fr) auto;
    align-items: end;
    gap: 2rem;
    margin-bottom: 3rem
}

.page-jobs .live-jobs-heading h2 {
    margin: 0 0 .8rem;
    color: #112a43;
    font-size: clamp(2.5rem, 5vw, 4rem);
    letter-spacing: -.035em;
    line-height: 1.05;
    text-transform: none
}

.page-jobs .live-jobs-heading > div > p:last-child {
    margin: 0;
    color: #536679;
    line-height: 1.65
}

#live-jobs-status {
    margin: 0 0 .35rem;
    padding: .65rem 1rem;
    border-radius: 999px;
    background: #dcebf1;
    color: #1b506f;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase
}

.page-jobs .live-jobs-toolbar {
    display: grid;
    grid-template-columns:minmax(260px, 2fr) minmax(180px, 1fr) minmax(180px, 1fr) auto;
    align-items: end;
    gap: 1rem;
    margin-bottom: 2rem;
    padding: 1.75rem;
    border-top: 4px solid #159dca;
    background: #fff;
    box-shadow: 0 14px 36px rgba(15, 39, 65, .07)
}

.page-jobs .live-jobs-toolbar label span {
    margin-bottom: .55rem;
    color: #29445f;
    font-size: .7rem;
    letter-spacing: .1em
}

.page-jobs .live-jobs-toolbar input, .page-jobs .live-jobs-toolbar select {
    height: 3.35rem;
    padding-inline: 1rem;
    border: 1px solid #cdd9e1;
    border-radius: 0;
    background: #f8fafb;
    color: #17283a;
    font-size: .88rem
}

.page-jobs .live-jobs-toolbar input:focus, .page-jobs .live-jobs-toolbar select:focus {
    border-color: #159dca;
    outline: 2px solid rgba(21, 157, 202, .18);
    outline-offset: 0
}

.page-jobs .live-jobs-toolbar button {
    min-height: 3.35rem;
    border-color: #173b60;
    color: #173b60;
    font-size: .74rem;
    letter-spacing: .07em
}

.page-jobs .live-job-list {
    display: grid;
    gap: 1rem;
    border: 0
}

.page-jobs .live-job-card {
    position: relative;
    display: grid;
    grid-template-columns:minmax(0, 1.35fr) minmax(340px, .85fr) 44px;
    align-items: center;
    gap: 2rem;
    padding: 1.8rem 2rem;
    border: 1px solid #d9e3e9;
    background: #fff;
    box-shadow: 0 8px 24px rgba(15, 39, 65, .035);
    transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease
}

.page-jobs .live-job-card:hover, .page-jobs .live-job-card:focus-within {
    transform: translateY(-2px);
    border-color: #9ccddd;
    box-shadow: 0 16px 36px rgba(15, 39, 65, .09)
}

.live-job-card-title > span {
    display: inline-block;
    margin-bottom: .7rem;
    color: #087ca8;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase
}

.page-jobs .live-job-card h3 {
    margin: 0 0 .5rem;
    font-size: 1.35rem;
    letter-spacing: -.018em;
    line-height: 1.3
}

.page-jobs .live-job-card h3 a {
    color: #112a43;
    text-decoration: none
}

.page-jobs .live-job-card h3 a::after {
    position: absolute;
    inset: 0;
    content: ""
}

.page-jobs .live-job-card-title > p {
    margin: 0;
    color: #68798a;
    font-size: .82rem
}

.live-job-card-meta {
    display: grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap: 1.5rem;
    margin: 0
}

.live-job-card-meta div {
    min-width: 0
}

.live-job-card-meta dt {
    margin-bottom: .35rem;
    color: #718293;
    font-size: .66rem;
    font-weight: 800;
    letter-spacing: .09em;
    text-transform: uppercase
}

.live-job-card-meta dd {
    margin: 0;
    color: #29445f;
    font-size: .84rem;
    line-height: 1.45
}

.live-job-card-arrow {
    display: grid;
    width: 38px;
    height: 38px;
    border: 1px solid #b8d1dc;
    border-radius: 50%;
    place-items: center;
    color: #087ca8;
    font-size: 1.1rem;
    transition: background-color .2s ease, color .2s ease
}

.live-job-card:hover .live-job-card-arrow, .live-job-card:focus-within .live-job-card-arrow {
    background: #159dca;
    color: #fff
}

.page-jobs .live-job-empty, .page-jobs .live-job-error {
    padding: 3.5rem 2rem;
    border-top: 4px solid #159dca;
    background: #fff
}

.page-jobs .live-job-empty strong {
    display: block;
    margin-bottom: .5rem;
    color: #112a43;
    font-size: 1.2rem
}

.page-jobs .live-job-empty p {
    margin: 0;
    color: #607284
}

.jobs-list-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    margin-top: 2rem;
    padding: 1.5rem 0;
    border-top: 1px solid #d3dfe6
}

.jobs-list-note p {
    margin: 0;
    color: #607284
}

.jobs-list-note a {
    color: #087ca8;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase
}

.contact-hero-label {
    margin: 0 0 1.25rem;
    color: #fff;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .12em;
    text-transform: uppercase
}

.contact-connect {
    padding-block: 7rem;
    background: #fff
}

.contact-connect-layout {
    display: grid;
    grid-template-columns:minmax(280px, .72fr) minmax(0, 1.28fr);
    align-items: start;
    gap: clamp(3.5rem, 8vw, 8rem)
}

.contact-connect-intro > p:not(.home-eyebrow) {
    margin: 0 0 1.75rem;
    color: #536679;
    line-height: 1.75
}

.contact-connect-intro ul {
    display: grid;
    gap: .75rem;
    margin: 0 0 2rem;
    padding: 1.5rem 0;
    border-top: 1px solid #d9e3e9;
    border-bottom: 1px solid #d9e3e9;
    list-style: none
}

.contact-connect-intro li {
    position: relative;
    padding-left: 1.15rem;
    color: #42576c;
    font-size: .86rem
}

.contact-connect-intro li::before {
    position: absolute;
    top: .48em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #159dca;
    content: ""
}

.contact-connect-intro > a {
    color: #087ca8;
    font-size: .92rem;
    font-weight: 750
}

.contact-form-card {
    padding: 2.75rem;
    border-top: 4px solid #159dca;
    background: #f1f5f7;
    box-shadow: 0 20px 50px rgba(15, 39, 65, .09)
}

.page-contact .contact-form-card h2 {
    margin: 0 0 2rem !important;
    color: #112a43 !important;
    font-size: clamp(2rem, 4vw, 3rem) !important;
    line-height: 1.1 !important
}

.page-contact .contact-form-card form {
    padding: 0;
    border: 0;
    background: transparent
}

.contact-form-grid {
    display: grid;
    grid-template-columns:repeat(2, minmax(0, 1fr));
    gap: 1.4rem
}

.contact-form-grid label {
    display: block
}

.contact-form-grid label > span {
    display: flex;
    justify-content: space-between;
    gap: 1rem;
    margin-bottom: .55rem;
    color: #29445f;
    font-size: .75rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase
}

.contact-form-grid label b {
    color: #159dca
}

.contact-form-grid label em {
    color: #81909e;
    font-size: .62rem;
    font-style: normal;
    font-weight: 700
}

.contact-form-wide {
    grid-column:1 / -1
}

.page-contact .contact-form-grid input, .page-contact .contact-form-grid textarea {
    width: 100%;
    border: 1px solid #cdd9e1 !important;
    border-radius: 0;
    background: #fff !important;
    color: #17283a;
    box-shadow: none !important;
    font: inherit
}

.page-contact .contact-form-grid input {
    min-height: 3.55rem;
    padding: .85rem 1rem
}

.page-contact .contact-form-grid textarea {
    min-height: 190px;
    padding: 1rem;
    resize: vertical
}

.page-contact .contact-form-grid input:focus, .page-contact .contact-form-grid textarea:focus {
    border-color: #159dca !important;
    outline: 2px solid rgba(21, 157, 202, .18);
    outline-offset: 0
}

.contact-form-action {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1.5rem;
    margin-top: 1.5rem
}

.page-contact .contact-form-action button {
    min-height: 52px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .65rem;
    padding: .8rem 1.35rem;
    border: 2px solid #159dca;
    background: #159dca;
    color: #fff !important;
    font-size: .76rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase
}

.contact-form-action > p {
    margin: 0;
    color: #7b8996;
    font-size: .7rem
}

.page-contact .contact-form-card .static-form-note {
    margin: 1.15rem 0 0;
    padding-top: 1rem;
    border-top: 1px solid #d3dfe6;
    color: #315b82;
    font-size: .82rem
}

.contact-locations {
    padding-block: 7rem;
    background: #edf3f6
}

.contact-locations .contact-visit-heading {
    margin-bottom: 3.5rem
}

.contact-locations .company-map-frame {
    background: #fff
}

@media (max-width: 960px) {
    .jobs-hero-layout, .contact-hero-layout, .contact-connect-layout {
        grid-template-columns:1fr
    }

    .jobs-hero aside, .contact-hero-v2 aside {
        max-width: 620px
    }

    .page-jobs .live-jobs-toolbar {
        grid-template-columns:1fr 1fr
    }

    .live-jobs-search {
        grid-column:1 / -1
    }

    .page-jobs .live-job-card {
        grid-template-columns:1fr 44px
    }

    .live-job-card-meta {
        grid-column:1 / 2
    }

    .live-job-card-arrow {
        grid-column:2;
        grid-row:1 / 3
    }
}

@media (max-width: 767px) {
    .page-jobs .jobs-hero, .page-contact .contact-hero-v2, .page-jobs .live-jobs-section, .contact-connect, .contact-locations {
        padding-block: 4.5rem
    }

    .page-jobs .jobs-hero h1, .page-contact .contact-hero-v2 h1 {
        font-size: clamp(3rem, 13vw, 4.1rem) !important
    }

    .jobs-proof > div {
        grid-template-columns:1fr 1fr
    }

    .jobs-proof > div > div:nth-child(3), .jobs-proof > div > div:nth-child(4) {
        border-top: 1px solid #d7e1e7
    }

    .page-jobs .live-jobs-heading {
        grid-template-columns:1fr;
        gap: 1.5rem
    }

    #live-jobs-status {
        justify-self: start
    }

    .page-jobs .live-jobs-toolbar, .contact-form-grid {
        grid-template-columns:1fr
    }

    .live-jobs-search, .contact-form-wide {
        grid-column:auto
    }

    .page-jobs .live-job-card {
        grid-template-columns:1fr;
        gap: 1.35rem;
        padding: 1.5rem
    }

    .live-job-card-meta {
        grid-column:auto
    }

    .live-job-card-arrow {
        grid-column:auto;
        grid-row:auto
    }

    .jobs-list-note, .contact-form-action {
        align-items: flex-start;
        flex-direction: column
    }

    .contact-form-card {
        padding: 1.5rem
    }

    .contact-locations .contact-visit-heading {
        margin-bottom: 2.5rem
    }
}

.job-detail-page {
    min-height: 60vh;
    background: #fff
}

.job-detail-loading {
    min-height: 55vh;
    padding-block: 4rem;
    background: #f3f6f8
}

.job-detail-loading p {
    margin-top: 4rem;
    color: #536679;
    font-size: 1rem
}

.page-job-detail .live-job-detail-header {
    padding: 0;
    border: 0;
    background: #0a203b
}

.page-job-detail .live-job-detail-header > .home-shell {
    padding-block: 2.25rem 6.5rem
}

.page-job-detail .live-job-back {
    display: inline-flex;
    margin: 0 0 4.5rem;
    color: #9ed7e9;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase
}

.page-job-detail .live-job-back:hover, .page-job-detail .live-job-back:focus-visible {
    color: #fff
}

.live-job-detail-hero {
    display: grid;
    grid-template-columns:minmax(0, 1.3fr) minmax(300px, .7fr);
    align-items: end;
    gap: clamp(3rem, 8vw, 8rem)
}

.page-job-detail .live-job-detail-hero h1 {
    max-width: 850px;
    margin: 0 0 1.25rem;
    color: #fff;
    font-size: clamp(3rem, 6vw, 5rem);
    letter-spacing: -.045em;
    line-height: 1
}

.live-job-detail-hero > div > p:last-child {
    margin: 0;
    color: rgba(255, 255, 255, .68);
    font-size: .9rem
}

.live-job-detail-hero aside {
    padding: 2rem;
    border-top: 3px solid #18a5d1;
    background: rgba(255, 255, 255, .07)
}

.live-job-detail-hero aside > p {
    margin: 0 0 1.25rem;
    color: #fff;
    font-size: 1rem;
    font-weight: 650;
    line-height: 1.55
}

.page-job-detail .live-job-apply {
    min-height: 50px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .7rem;
    margin: 0;
    padding: .75rem 1.25rem;
    border: 2px solid #159dca;
    background: #159dca;
    color: #fff;
    font-size: .74rem;
    font-weight: 800;
    letter-spacing: .075em;
    text-transform: uppercase
}

.page-job-detail .live-job-apply:hover, .page-job-detail .live-job-apply:focus-visible {
    border-color: #087ca8;
    background: #087ca8;
    color: #fff
}

.live-job-detail-hero aside small {
    display: block;
    margin-top: 1rem;
    color: rgba(255, 255, 255, .55);
    font-size: .68rem;
    line-height: 1.45
}

.live-job-summary {
    border-bottom: 1px solid #d7e1e7;
    background: #fff
}

.page-job-detail .live-job-meta {
    display: grid;
    grid-template-columns:repeat(4, minmax(0, 1fr));
    gap: 0;
    margin: 0 auto
}

.page-job-detail .live-job-meta > div {
    min-height: 116px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.5rem;
    border-left: 1px solid #d7e1e7;
    background: #fff
}

.page-job-detail .live-job-meta > div:last-child {
    border-right: 1px solid #d7e1e7
}

.page-job-detail .live-job-meta dt {
    color: #718293;
    font-size: .67rem;
    font-weight: 800;
    letter-spacing: .1em;
    text-transform: uppercase
}

.page-job-detail .live-job-meta dd {
    margin-top: .5rem;
    color: #173b60;
    font-size: .92rem;
    font-weight: 650;
    line-height: 1.45
}

.live-job-content {
    padding-block: 7rem;
    background: #fff
}

.live-job-content-layout {
    display: grid;
    grid-template-columns:minmax(0, 1.35fr) minmax(300px, .65fr);
    align-items: start;
    gap: clamp(4rem, 9vw, 9rem)
}

.page-job-detail .live-job-description {
    min-width: 0;
    max-width: 820px;
    color: #42576c
}

.page-job-detail .live-job-description > .home-eyebrow {
    margin-bottom: 2rem
}

.page-job-detail .live-job-description h1, .page-job-detail .live-job-description h2, .page-job-detail .live-job-description h3, .page-job-detail .live-job-description h4, .page-job-detail .live-job-description h5 {
    margin: 2.5rem 0 .9rem;
    color: #112a43;
    font-size: clamp(1.4rem, 3vw, 1.85rem);
    font-weight: 730;
    letter-spacing: -.02em;
    line-height: 1.25;
    overflow-wrap: break-word
}

.page-job-detail .live-job-description h1:first-of-type, .page-job-detail .live-job-description h2:first-of-type, .page-job-detail .live-job-description h3:first-of-type, .page-job-detail .live-job-description h4:first-of-type {
    margin-top: 0
}

.page-job-detail .live-job-description p, .page-job-detail .live-job-description li {
    color: #4b5f73;
    font-size: .98rem;
    line-height: 1.8
}

.page-job-detail .live-job-description ul, .page-job-detail .live-job-description ol {
    margin-block: 1rem 1.75rem;
    padding-left: 1.35rem
}

.page-job-detail .live-job-description li {
    margin-bottom: .55rem;
    padding-left: .25rem
}

.page-job-detail .live-job-description a {
    color: #087ca8;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px
}

.live-job-sidebar {
    position: sticky;
    top: 118px;
    padding: 2.25rem;
    border-top: 4px solid #159dca;
    background: #edf3f6
}

.page-job-detail .live-job-sidebar h2 {
    margin: 0 0 1.5rem;
    color: #112a43;
    font-size: 1.55rem;
    letter-spacing: -.025em;
    line-height: 1.25
}

.live-job-sidebar ul {
    display: grid;
    gap: .8rem;
    margin: 0 0 2rem;
    padding: 0;
    list-style: none
}

.live-job-sidebar li {
    position: relative;
    padding-left: 1.15rem;
    color: #536679;
    font-size: .86rem;
    line-height: 1.55
}

.live-job-sidebar li::before {
    position: absolute;
    top: .55em;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #159dca;
    content: ""
}

.live-job-sidebar .home-button {
    width: 100%
}

.live-job-sidebar-back {
    display: inline-flex;
    margin-top: 1.5rem;
    color: #087ca8;
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase
}

.page-job-detail #live-job-detail > .live-job-error {
    width: min(100% - 48px, 1240px);
    min-height: 45vh;
    display: grid;
    margin: 5rem auto;
    place-items: center;
    border-top: 4px solid #159dca;
    background: #f3f6f8
}

@media (max-width: 960px) {
    .live-job-detail-hero, .live-job-content-layout {
        grid-template-columns:1fr
    }

    .live-job-detail-hero aside {
        max-width: 560px
    }

    .live-job-sidebar {
        position: static;
        max-width: 620px
    }
}

@media (max-width: 767px) {
    .page-job-detail .live-job-detail-header > .home-shell {
        padding-block: 1.75rem 4.5rem
    }

    .page-job-detail .live-job-back {
        margin-bottom: 3rem
    }

    .page-job-detail .live-job-detail-hero h1 {
        font-size: clamp(2.8rem, 13vw, 4rem)
    }

    .page-job-detail .live-job-description h1, .page-job-detail .live-job-description h2, .page-job-detail .live-job-description h3, .page-job-detail .live-job-description h4, .page-job-detail .live-job-description h5 {
        font-size: 1.35rem
    }

    .page-job-detail .live-job-meta {
        grid-template-columns:1fr 1fr
    }

    .page-job-detail .live-job-meta > div:nth-child(3), .page-job-detail .live-job-meta > div:nth-child(4) {
        border-top: 1px solid #d7e1e7
    }

    .live-job-content {
        padding-block: 4.5rem
    }

    .live-job-content-layout {
        gap: 3.5rem
    }

    .live-job-sidebar {
        padding: 1.75rem
    }
}
