:root {
    --black: #000;
    --black-alpha-75: rgba(0, 0, 0, .75);
    --black-alpha-60: rgba(0, 0, 0, .6);
    --black-alpha-50: rgba(0, 0, 0, .5);
    --black-alpha-05: rgba(0, 0, 0, .05);
    --black-90: #242424;
    --black-80: #333;
    --black-70: #424242;
    --matt-black: #0094d3;
    --matt-black-alpha-95: hsla(0, 0%, 8%, .95);
    --matt-black-alpha-90: hsla(0, 0%, 8%, .9);
    --matt-black-alpha-50: hsla(0, 0%, 8%, .5);
    --grey-90: #1c1c1f;
    --grey-90-alpha-95: rgba(28, 28, 31, .95);
    --grey-90-alpha-90: rgba(28, 28, 31, .9);
    --grey-80: #313135;
    --grey-70: #494950;
    --grey-60: #62626a;
    --grey-50: #7a7a85;
    --grey-40: #95959d;
    --grey-30: #afafb6;
    --grey-20: #d7d7da;
    --grey-10: #e4e4e7;
    --grey-70-alpha-10: rgba(73, 73, 80, .1);
    --grey-20-alpha-20: hsla(240, 4%, 85%, .2);
    --volt-110: #c8f700;
    --volt: #000;
    --putty-110: #746a67;
    --putty: #938986;
    --putty-90: #b0a8a6;
    --putty-80: #beb8b6;
    --chalk: #F5F5F5;
    --chalk-alpha-05: hsla(27, 22%, 92%, .05);
    --white: #fff;
    --white-alpha-95: hsla(0, 0%, 100%, .95);
    --white-alpha-90: hsla(0, 0%, 100%, .9);
    --red: #ff2e00;
    --transparent: transparent;
    --sans-serif: "Geist", sans-serif;
    --serif: "Source Serif 4", serif
}

@font-face {
    font-family: 'Geist';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Light.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Medium.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Regular.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-ExtraLight.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-ExtraLight.woff') format('woff');
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Bold.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Black.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Black.woff') format('woff');
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-ExtraBold.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-ExtraBold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Thin.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-Thin.woff') format('woff');
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Geist';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-SemiBold.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/Geist-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/SourceSerif4-Bold.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/SourceSerif4-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/SourceSerif4-Regular.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/SourceSerif4-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'Source Serif 4';
    src: url('http://localhost/octopos/wp-content/themes/octopos/assets/font/SourceSerif4-Italic.woff2') format('woff2'),
        url('http://localhost/octopos/wp-content/themes/octopos/assets/font/SourceSerif4-Italic.woff') format('woff');
    font-weight: normal;
    font-style: italic;
    font-display: swap;
}


/* 
@font-face {
    font-display: swap;
    font-family: Reckless Neue;
    font-style: normal;
    font-weight: 300;
    src: local("Reckless Neue Light"), local("RecklessNeue-Light"), url(/app/themes/isiglobal/public/fonts/RecklessNeue-Light.4925fb.woff2)format("woff2"), url(/app/themes/isiglobal/public/fonts/RecklessNeue-Light.c6322a.woff)format("woff")
}

@font-face {
    font-display: swap;
    font-family: Roobert;
    font-style: normal;
    font-weight: 700;
    src: local("Roobert Bold"), local("Roobert-Bold"), url(/app/themes/isiglobal/public/fonts/Roobert-Bold.791564.woff2)format("woff2"), url(/app/themes/isiglobal/public/fonts/Roobert-Bold.b79927.woff)format("woff")
}

@font-face {
    font-display: swap;
    font-family: Roobert;
    font-style: normal;
    font-weight: 400;
    src: local("Roobert Regular"), local("Roobert-Regular"), url(/app/themes/isiglobal/public/fonts/Roobert-Regular.2dfe00.woff2)format("woff2"), url(/app/themes/isiglobal/public/fonts/Roobert-Regular.c99a5b.woff)format("woff")
}

@font-face {
    font-display: swap;
    font-family: Roobert;
    font-style: normal;
    font-weight: 500;
    src: local("Roobert Medium"), local("Roobert-Medium"), url(/app/themes/isiglobal/public/fonts/Roobert-Medium.cf31f0.woff2)format("woff2"), url(/app/themes/isiglobal/public/fonts/Roobert-Medium.9573ce.woff)format("woff")
}

@font-face {
    font-display: swap;
    font-family: Roobert;
    font-style: normal;
    font-weight: 300;
    src: local("Roobert Light"), local("Roobert-Light"), url(/app/themes/isiglobal/public/fonts/Roobert-Light.2975db.woff2)format("woff2"), url(/app/themes/isiglobal/public/fonts/Roobert-Light.8390b2.woff)format("woff")
} */


.container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.facetwp-type-radio .facetwp-radio {
    background: 0 0;
    border: 1px solid var(--grey-70);
    border-radius: 10rem;
    color: var(--grey-50);
    display: inline-block;
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .01625rem;
    line-height: 1.3;
    margin-bottom: 0;
    padding: .375rem .75rem;
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: color, border-color, background-color;
    white-space: nowrap;
    width: auto
}

[data-theme=light] .facetwp-type-radio .facetwp-radio {
    border-color: var(--grey-30)
}

@media(hover:hover)and (pointer:fine) {

    .facetwp-type-radio .facetwp-radio.hover,
    .facetwp-type-radio .facetwp-radio:hover:not(:disabled),
    .hover .facetwp-type-radio .facetwp-radio {
        border-color: var(--grey-30);
        color: var(--grey-30)
    }

    [data-theme=light] .facetwp-type-radio .facetwp-radio.hover,
    [data-theme=light] .facetwp-type-radio .facetwp-radio:hover:not(:disabled),
    [data-theme=light] .hover .facetwp-type-radio .facetwp-radio {
        border-color: var(--grey-70);
        color: var(--grey-70)
    }
}

.facetwp-type-radio .facetwp-radio:active {
    border-color: var(--grey-30);
    color: var(--grey-30)
}

[data-theme=light] .facetwp-type-radio .facetwp-radio:active {
    border-color: var(--grey-70);
    color: var(--grey-70)
}

.facetwp-type-radio .facetwp-radio.checked {
    background-color: var(--volt);
    background-image: none;
    border-color: var(--black-alpha-05);
    color: var(--matt-black);
    cursor: default;
    pointer-events: none
}

.facetwp-type-radio .facetwp-radio .facetwp-counter {
    display: none
}

.facetwp-facet-load_more {
    display: flex;
    justify-content: center;
    margin-bottom: 0
}

.facetwp-facet-load_more .facetwp-pager {
    column-gap: 1rem;
    display: flex;
    margin-top: 5rem
}

.facetwp-facet-load_more .facetwp-pager:empty {
    margin-top: 0
}

.facetwp-facet-load_more .facetwp-page {
    margin: 0
}

:host {
    display: block;
    margin-left: auto;
    margin-right: auto;
    position: relative;
    z-index: 1
}

.swiper {
    display: block;
    list-style: none;
    margin-left: auto;
    margin-right: auto;
    overflow: hidden;
    padding: 0
}

.swiper,
.swiper-wrapper {
    position: relative;
    z-index: 1
}

.swiper-wrapper {
    box-sizing: initial;
    display: flex;
    height: 100%;
    transition-property: transform;
    transition-timing-function: var(--swiper-wrapper-transition-timing-function, initial);
    width: 100%
}

.swiper-android .swiper-slide,
.swiper-ios .swiper-slide,
.swiper-wrapper {
    transform: translateZ(0)
}

.swiper-horizontal {
    touch-action: pan-y
}

.swiper-slide {
    display: block;
    flex-shrink: 0;
    height: 100%;
    position: relative;
    transition-property: transform;
    width: 100%
}

.swiper-button-disabled,
.swiper-button-next.disabled,
.swiper-button-next:disabled {
    cursor: default;
    opacity: .5
}

.wpml-ls {
    border: 0;
    margin: 0;
    padding: 0
}

.wpml-ls ul {
    column-gap: .44rem;
    display: flex
}

.wpml-ls-link {
    border: 1px solid var(--grey-70);
    border-radius: 6.25rem;
    color: var(--grey-50);
    flex: none;
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .02rem;
    line-height: 1.3;
    padding: .375rem .75rem;
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: color, background-color, border-color
}

@media(hover:hover)and (pointer:fine) {

    .hover .wpml-ls-link,
    .wpml-ls-link.hover,
    .wpml-ls-link:hover:not(:disabled) {
        border-color: var(--grey-30);
        color: var(--white)
    }
}

[data-theme=light] .wpml-ls-link {
    border-color: var(--grey-30)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .wpml-ls-link,
    [data-theme=light] .wpml-ls-link.hover,
    [data-theme=light] .wpml-ls-link:hover:not(:disabled) {
        border-color: var(--grey-50);
        color: var(--grey-70)
    }
}

.wpml-ls-current-language .wpml-ls-link {
    background: var(--volt);
    border-color: var(--black-alpha-05);
    color: var(--matt-black);
    pointer-events: none
}

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

a,
abbr,
acronym,
address,
applet,
article,
aside,
audio,
b,
big,
blockquote,
body,
canvas,
caption,
center,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
embed,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
output,
p,
pre,
q,
ruby,
s,
samp,
section,
small,
span,
strike,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
tt,
u,
ul,
var,
video {
    border: 0;
    font-size: 100%;
    font: inherit;
    margin: 0;
    padding: 0;
    vertical-align: initial
}

img {
    width: 100%;
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

body {
    line-height: 1
}

ol,
ul {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote:after,
blockquote:before,
q:after,
q:before {
    content: "";
    content: none
}

img {
    display: block
}

table {
    border-collapse: collapse;
    border-spacing: 0
}

mark {
    background: 0 0;
    color: inherit
}

svg {
    pointer-events: none
}

hr {
    border: 0
}

abbr[title] {
    -webkit-text-decoration: none;
    text-decoration: none
}

svg {
    display: block;
    overflow: visible
}

:focus-visible {
    outline: dashed 1px var(--white);
    outline-offset: 2px
}

[data-theme=light] :focus-visible {
    outline-color: var(--putty)
}

input:focus-visible {
    outline: none
}

.skip-link {
    background-color: var(--volt-110);
    color: var(--matt-black);
    display: inline-block;
    font-size: 1.25rem;
    font-weight: 300;
    left: 0;
    line-height: 1;
    opacity: 1;
    padding: .375rem .75rem;
    position: absolute;
    top: 0;
    transform: translate(0);
    transition: all .2s ease-in-out;
    transition-property: transform;
    z-index: 500;
    display: none;
}

.skip-link:not(:focus) {
    transform: translateY(-100%)
}

.sr-only:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

[data-module=squiggle] .mask {
    stroke-dashoffset: .001;
    stroke-dasharray: 0, 999999px
}

[data-theme=light] [data-module=squiggle] .squiggle-1-group {
    fill: url(#sq1-kfibslsae)
}

[data-theme=light] [data-module=squiggle] .squiggle-2-group {
    fill: url(#sq2-kfibslsae)
}

[data-theme=light] [data-module=squiggle] .squiggle-3-group {
    fill: url(#sq3-bsaqoasn)
}

[data-theme=light] [data-module=squiggle] .squiggle-4-group {
    fill: url(#sq4-jfusknal)
}

[data-theme=light] [data-module=squiggle] .squiggle-5-group {
    fill: url(#sq5-nskqvalo)
}

[data-theme=light] [data-module=squiggle] .squiggle-6-group {
    fill: url(#sq6-qudiodkb)
}

[data-animated-text] .line {
    position: relative
}

[data-animated-text] .line-mask {
    background-color: var(--matt-black);
    bottom: 0;
    left: 0;
    left: auto;
    opacity: .9;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: 100%;
    z-index: 1
}

[data-theme=light] [data-animated-text] .line-mask {
    background-color: var(--chalk)
}

[data-module=parallax] {
    transform: scale(1.2)
}

[data-fade-in] {
    opacity: 0
}

html.lenis,
html.lenis body {
    height: auto
}

.lenis.lenis-smooth {
    scroll-behavior: auto !important
}

.lenis.lenis-smooth [data-lenis-prevent] {
    -ms-scroll-chaining: none;
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: hidden
}

.lenis.lenis-smooth iframe {
    pointer-events: none
}

html {
    transition: all .2s ease-in-out;
    transition-property: background-color, color
}

html body,
html main {
    /* background-color: var(--matt-black); */
    background-color: #F5F5F5;
    color: #000;
}

html [data-label-light-mode] {
    display: none
}

html[data-theme=light] body,
html[data-theme=light] main {
    background-color: var(--chalk);
    color: var(--matt-black)
}

html[data-theme=light] [data-label-dark-mode] {
    display: none
}

html[data-theme=light] [data-label-light-mode] {
    display: inline
}

gravity-form {
    --check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwMCIgZD0ibTEyLjI1MSA0LjA4NC03IDctMy4yMDgtMy4yMDguODIyLS44MjMgMi4zODYgMi4zOCA2LjE3OC02LjE3MXoiLz48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi45NTkgNC4wODQgNS4yNSAxMS43OTEgMS4zMzYgNy44NzZsMS41My0xLjUzIDIuMzg1IDIuMzggNi4xNzgtNi4xNzF6TTUuMjUgOS40MzRsLTIuMzg1LTIuMzgtLjgyMy44MjIgMy4yMDggMy4yMDggNy03LS44MjItLjgyMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==)
}

gravity-form .gform_required_legend {
    display: none
}

gravity-form .gfield--type-email,
gravity-form .gfield--type-text,
gravity-form .gfield--type-textarea {
    color: var(--chalk);
    position: relative
}

[data-theme=light] gravity-form .gfield--type-email,
[data-theme=light] gravity-form .gfield--type-text,
[data-theme=light] gravity-form .gfield--type-textarea {
    color: var(--matt-black)
}

gravity-form .gfield--type-email input,
gravity-form .gfield--type-text input,
gravity-form .gfield--type-textarea input {
    color: inherit
}

gravity-form .gfield--type-email.has-content input,
gravity-form .gfield--type-text.has-content input,
gravity-form .gfield--type-textarea.has-content input {
    border-bottom-color: var(--grey-20)
}

[data-theme=light] gravity-form .gfield--type-email.has-content input,
[data-theme=light] gravity-form .gfield--type-text.has-content input,
[data-theme=light] gravity-form .gfield--type-textarea.has-content input {
    border-bottom-color: var(--grey-60)
}

gravity-form .gfield--type-email .gfield_label,
gravity-form .gfield--type-text .gfield_label,
gravity-form .gfield--type-textarea .gfield_label {
    color: var(--grey-30);
    left: 0;
    line-height: 1.4;
    margin-bottom: 0;
    position: absolute;
    transform-origin: top left;
    transition: all .2s ease-in-out;
    transition-property: transform
}

[data-theme=light] gravity-form .gfield--type-email .gfield_label,
[data-theme=light] gravity-form .gfield--type-text .gfield_label,
[data-theme=light] gravity-form .gfield--type-textarea .gfield_label {
    color: var(--grey-50)
}

gravity-form .gfield--type-email .gfield_label .gfield_required,
gravity-form .gfield--type-text .gfield_label .gfield_required,
gravity-form .gfield--type-textarea .gfield_label .gfield_required {
    color: var(--red);
    font: inherit;
    opacity: 0;
    transition: all .2s ease-in-out;
    transition-property: opacity
}

gravity-form .gfield--type-email .ginput_container input,
gravity-form .gfield--type-email .ginput_container textarea,
gravity-form .gfield--type-text .ginput_container input,
gravity-form .gfield--type-text .ginput_container textarea,
gravity-form .gfield--type-textarea .ginput_container input,
gravity-form .gfield--type-textarea .ginput_container textarea {
    background: 0 0;
    border-bottom: 1px var(--grey-80);
    border-left-width: 0;
    border-radius: 0;
    border-right-width: 0;
    border-style: solid;
    border-top-width: 0;
    outline: none;
    padding: .75rem 0;
    transition: all .2s ease-in-out;
    transition-property: border-color, color
}

[data-theme=light] gravity-form .gfield--type-email .ginput_container input,
[data-theme=light] gravity-form .gfield--type-email .ginput_container textarea,
[data-theme=light] gravity-form .gfield--type-text .ginput_container input,
[data-theme=light] gravity-form .gfield--type-text .ginput_container textarea,
[data-theme=light] gravity-form .gfield--type-textarea .ginput_container input,
[data-theme=light] gravity-form .gfield--type-textarea .ginput_container textarea {
    border-bottom-color: var(--grey-20)
}

gravity-form .gfield--type-email .ginput_container input:focus,
gravity-form .gfield--type-email .ginput_container input:focus-visible,
gravity-form .gfield--type-email .ginput_container textarea:focus,
gravity-form .gfield--type-email .ginput_container textarea:focus-visible,
gravity-form .gfield--type-text .ginput_container input:focus,
gravity-form .gfield--type-text .ginput_container input:focus-visible,
gravity-form .gfield--type-text .ginput_container textarea:focus,
gravity-form .gfield--type-text .ginput_container textarea:focus-visible,
gravity-form .gfield--type-textarea .ginput_container input:focus,
gravity-form .gfield--type-textarea .ginput_container input:focus-visible,
gravity-form .gfield--type-textarea .ginput_container textarea:focus,
gravity-form .gfield--type-textarea .ginput_container textarea:focus-visible {
    border-bottom-color: var(--grey-40);
    box-shadow: none
}

gravity-form .gfield--type-email.gfield_error .ginput_container input,
gravity-form .gfield--type-email.gfield_error .ginput_container textarea,
gravity-form .gfield--type-text.gfield_error .ginput_container input,
gravity-form .gfield--type-text.gfield_error .ginput_container textarea,
gravity-form .gfield--type-textarea.gfield_error .ginput_container input,
gravity-form .gfield--type-textarea.gfield_error .ginput_container textarea {
    border-bottom-color: var(--red)
}

gravity-form .gfield--type-email.gfield_error .gfield_required,
gravity-form .gfield--type-text.gfield_error .gfield_required,
gravity-form .gfield--type-textarea.gfield_error .gfield_required {
    opacity: 1
}

gravity-form .gfield--type-email.has-content .ginput_container input,
gravity-form .gfield--type-text.has-content .ginput_container input,
gravity-form .gfield--type-textarea.has-content .ginput_container input {
    border-bottom-color: var(--grey-20);
    color: var(--chalk)
}

[data-theme=light] gravity-form .gfield--type-email.has-content .ginput_container input,
[data-theme=light] gravity-form .gfield--type-text.has-content .ginput_container input,
[data-theme=light] gravity-form .gfield--type-textarea.has-content .ginput_container input {
    border-bottom-color: var(--grey-60);
    color: var(--matt-black)
}

gravity-form .gfield--type-email.has-content .gfield_label,
gravity-form .gfield--type-email.is-active .gfield_label,
gravity-form .gfield--type-text.has-content .gfield_label,
gravity-form .gfield--type-text.is-active .gfield_label {
    transform: translateY(-100%)scale(.6)
}

gravity-form .gfield--type-email .gfield_label,
gravity-form .gfield--type-email .ginput_container input,
gravity-form .gfield--type-text .gfield_label,
gravity-form .gfield--type-text .ginput_container input {
    font-size: max(1rem, min(1.4vw, 1.25rem));
    font-weight: 300
}

gravity-form .gfield--type-email .ginput_container input,
gravity-form .gfield--type-text .ginput_container input {
    box-shadow: none;
    height: 3rem
}

gravity-form .gfield--type-email .gfield_label,
gravity-form .gfield--type-text .gfield_label {
    color: var(--grey-30);
    top: 40%;
    transform: translateY(-50%)
}

[data-theme=light] gravity-form .gfield--type-email .gfield_label,
[data-theme=light] gravity-form .gfield--type-text .gfield_label {
    color: var(--grey-50)
}

gravity-form .gfield--type-textarea.has-content .gfield_label,
gravity-form .gfield--type-textarea.is-active .gfield_label {
    transform: translateY(-50%)scale(.8)
}

gravity-form .gfield--type-textarea .gfield_label {
    color: var(--grey-50);
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.35
}

gravity-form .gfield--type-textarea textarea {
    box-shadow: none;
    color: var(--chalk);
    font-size: 1rem;
    font-weight: 300;
    height: 5rem;
    line-height: 1.3;
    max-height: 10rem
}

[data-theme=light] gravity-form .gfield--type-textarea textarea {
    color: var(--matt-black)
}

gravity-form .gfield--type-multi_choice.gfield_error .gfield-choice-input {
    border-color: var(--red)
}

gravity-form .gfield--type-choice .gfield_checkbox {
    gap: .75rem
}

gravity-form .gfield_label_before_complex {
    color: var(--grey-50);
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.3;
    margin-bottom: 1rem;
    text-transform: uppercase
}

gravity-form .gchoice {
    align-items: center
}

gravity-form .gchoice .gform-field-label {
    color: var(--white);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.35;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

[data-theme=light] gravity-form .gchoice .gform-field-label {
    color: var(--matt-black)
}

gravity-form .gfield-choice-input {
    background: 0 0;
    border: 1px solid var(--grey-80);
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    height: 1.25rem;
    transition: all .2s ease-in-out;
    transition-property: background-color, border-color;
    width: 1.25rem
}

[data-theme=light] gravity-form .gfield-choice-input {
    border-color: var(--grey-20)
}

gravity-form .gfield-choice-input:checked {
    background: var(--volt);
    border-color: var(--volt)
}

gravity-form .gfield-choice-input:checked:before {
    content: var(--check)
}

gravity-form .gfield-choice-input:focus,
gravity-form .gfield-choice-input:focus-visible {
    border: 1px solid var(--volt);
    box-shadow: none
}

gravity-form .gfield-choice-input:before {
    color: var(--matt-black)
}

gravity-form .gfield_consent_label {
    color: var(--grey-50);
    cursor: pointer;
    font-size: max(.875rem, min(1.1vw, 1rem));
    font-weight: 300;
    line-height: 1.35;
    margin-left: .75rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

[data-theme=light] gravity-form .gfield_consent_label {
    color: var(--grey-70)
}

gravity-form .gfield_consent_label a {
    display: inline-block;
    text-decoration: underline;
    -webkit-text-decoration: underline solid currentColor;
    text-decoration: underline;
    -webkit-text-decoration: underline currentColor 1px;
    text-decoration: underline 1px;
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
    transition: all .2s ease-in-out;
    transition-property: color
}

@media(hover:hover)and (pointer:fine) {

    .hover gravity-form .gfield_consent_label a,
    gravity-form .gfield_consent_label a.hover,
    gravity-form .gfield_consent_label a:hover:not(:disabled) {
        color: var(--grey-20)
    }

    [data-theme=light] .hover gravity-form .gfield_consent_label a,
    [data-theme=light] gravity-form .gfield_consent_label a.hover,
    [data-theme=light] gravity-form .gfield_consent_label a:hover:not(:disabled) {
        color: var(--matt-black)
    }
}

gravity-form .ginput_container_consent {
    align-items: center
}

gravity-form .ginput_container_consent input[type=checkbox] {
    background: 0 0;
    border: 1px solid var(--grey-80);
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    height: 1.25rem;
    margin-top: 2px;
    transition: all .2s ease-in-out;
    transition-property: background-color, border-color;
    width: 1.25rem
}

[data-theme=light] gravity-form .ginput_container_consent input[type=checkbox] {
    border-color: var(--grey-20)
}

gravity-form .ginput_container_consent input[type=checkbox]:checked {
    background: var(--volt);
    border-color: var(--volt)
}

gravity-form .ginput_container_consent input[type=checkbox]:checked:before {
    content: var(--check)
}

gravity-form .ginput_container_consent input[type=checkbox]:focus,
gravity-form .ginput_container_consent input[type=checkbox]:focus-visible {
    border: 1px solid var(--volt);
    box-shadow: none
}

gravity-form .ginput_container_consent input[type=checkbox]:before {
    color: var(--matt-black)
}

gravity-form .gfield--type-consent.gfield_error .ginput_container_consent input[type=checkbox] {
    border-color: var(--red)
}

gravity-form .gform_footer {
    margin-top: 2rem
}

gravity-form .gform_footer .gform-loader {
    border-bottom-color: var(--matt-black);
    border-left-color: var(--matt-black);
    border-width: .15rem;
    height: 2rem;
    margin-left: -1px;
    position: absolute;
    right: max(.75rem, min(1.1vw, 1rem));
    transform: none;
    width: 2rem
}

gravity-form .gform-footer.gform_footer button.gform_button[type=submit] {
    --icon-arrow-up-right-dark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSIjMTUxNTE1IiByeD0iMTIiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik05LjI3MSA4LjcyN2g2LjU1MXY2LjU1bS0uNDU1LTYuMDk1LTYuNjQyIDYuNjQyIi8+PC9zdmc+);
    --icon-arrow-up-right-light: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSIjZmZmIiByeD0iMTIiLz48cGF0aCBzdHJva2U9IiMxNTE1MTUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik05LjI3MSA4LjcyN2g2LjU1MXY2LjU1bS0uNDU1LTYuMDk1LTYuNjQyIDYuNjQyIi8+PC9zdmc+);
    align-items: center;
    background: var(--white);
    border-radius: 6.25rem;
    box-shadow: none;
    color: var(--matt-black);
    display: flex;
    font-family: var(--sans-serif);
    font-size: .9375rem;
    font-style: normal;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    letter-spacing: .01875rem;
    line-height: 1;
    padding: max(.5rem, min(.7vw, .625rem))max(1rem, min(1.4vw, 1.25rem));
    position: relative;
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:focus {
    border: 0
}

@media(hover:hover)and (pointer:fine) {

    .hover gravity-form .gform-footer.gform_footer button.gform_button[type=submit],
    gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover,
    gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled) {
        background-color: var(--volt)
    }

    .hover gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after,
    gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover:after,
    gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled):after {
        transform: rotate(45deg)
    }
}

[data-theme=light] gravity-form .gform-footer.gform_footer button.gform_button[type=submit] {
    background: var(--matt-black);
    color: var(--white)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] gravity-form .gform-footer.gform_footer button.gform_button[type=submit],
    [data-theme=light] gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover,
    [data-theme=light] gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after,
    [data-theme=light] gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover:after,
    [data-theme=light] gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled):after {
        content: var(--icon-arrow-up-right-dark)
    }
}

gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after {
    content: var(--icon-arrow-up-right-dark);
    display: block;
    height: 1.5rem;
    transition: all .2s ease-in-out;
    transition-property: transform;
    width: 1.5rem
}

[data-theme=light] gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after {
    content: var(--icon-arrow-up-right-light)
}

gravity-form .gform_validation_errors {
    background: 0 0;
    border: 1px solid var(--red);
    border-radius: .375rem;
    box-shadow: none;
    color: var(--white);
    font-size: .875rem;
    font-weight: 300;
    line-height: 1.35;
    margin-top: 2rem;
    padding: 1rem
}

@media(min-width:375px) {
    gravity-form .gform_validation_errors {
        font-size: 1rem
    }
}

[data-theme=light] gravity-form .gform_validation_errors {
    color: var(--matt-black)
}

gravity-form .gfield_validation_message:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

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

body {
    -moz-osx-font-smoothing: grayscale;
    -webkit-font-smoothing: antialiased;
    -webkit-overflow-scrolling: touch;
    -webkit-text-size-adjust: 100%;
    accent-color: var(--volt);
    background-color: var(--chalk);
    color: var(--matt-black);
    font-family: var(--sans-serif);
    font-weight: 400;
    max-width: unset;
    -ms-scroll-chaining: none;
    overscroll-behavior: none;
    position: relative;
    text-rendering: optimizeLegibility;
    width: 100%
}

::-moz-selection {
    background-color: var(--volt);
    color: var(--matt-black)
}

::selection {
    background-color: var(--volt);
    color: var(--matt-black)
}

@keyframes fade-in {
    0% {
        opacity: 0
    }

    to {
        opacity: 1
    }
}

@keyframes fade-out {
    0% {
        opacity: 1
    }

    to {
        opacity: 0
    }
}

::view-transition-old(root) {
    animation: fade-out 1s cubic-bezier(.22, 1, .36, 1)both;
    opacity: 1 !important;
    z-index: 1
}

::view-transition-new(root) {
    animation: fade-in 1s cubic-bezier(.22, 1, .36, 1)both;
    z-index: 2
}

button {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: 0 0;
    border: 0;
    color: inherit;
    cursor: pointer;
    font: inherit;
    letter-spacing: inherit;
    margin: 0;
    padding: 0;
    text-transform: inherit;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

main {
    border-bottom: 1px solid var(--grey-80);
    flex: 1 0 auto;
    min-height: var(--vh, 100vh);
    padding-top: var(--header-height);
    position: relative;
    z-index: 1
}

.error404 main {
    min-height: unset
}

[data-theme=light] main {
    border-bottom-color: var(--grey-20)
}

main[data-template=single-project] section:last-child {
    margin-bottom: 0;
    padding-bottom: max(5rem, min(6.66vw, 6rem))
}

video {
    height: 100%;
    object-fit: cover;
    transition: opacity .75s ease-in-out;
    width: 100%
}

.hidden video {
    opacity: 0
}

.hidden+video.playing {
    opacity: 1
}

animated-heading {
    display: inline;
    opacity: 0
}

animated-heading .mask {
    overflow: hidden
}

animated-heading .line {
    transform: translateY(100%)
}

.page-not-found {
    position: relative
}

.page-not-found__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.page-not-found__layout {
    min-height: calc(100vh - var(--header-height));
    padding-bottom: max(5rem, min(10.55vw, 9.5rem));
    padding-top: max(4rem, min(7vw, 7.5rem))
}

@media(min-width:768px) {
    .page-not-found__layout {
        align-items: center;
        display: grid
    }
}

.page-not-found__content {
    position: relative;
    z-index: 1
}

.page-not-found__heading {
    font-size: 3rem;
    letter-spacing: -.03em;
    line-height: 1.2
}

.page-not-found__heading br {
    display: none
}

@media(min-width:520px) {
    .page-not-found__heading br {
        display: block
    }
}

@media(min-width:375px) {
    .page-not-found__heading {
        font-size: max(3rem, min(5vw, 4.5rem))
    }
}

.page-not-found__text {
    font-size: max(1rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    line-height: 1.4;
    margin-top: 1.5rem
}

.page-not-found__button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    margin-top: 2rem;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .page-not-found__button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .hover .page-not-found__button,
    .page-not-found__button.hover,
    .page-not-found__button:hover:not(:disabled) {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .hover .page-not-found__button .icon-arrow-up-right,
    .page-not-found__button.hover .icon-arrow-up-right,
    .page-not-found__button:hover:not(:disabled) .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .hover .page-not-found__button .icon-chevron .chevron,
    .page-not-found__button.hover .icon-chevron .chevron,
    .page-not-found__button:hover:not(:disabled) .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.page-not-found__button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.page-not-found__button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.page-not-found__button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.page-not-found__button {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    color: var(--matt-black)
}

.page-not-found__button .icon .arrow {
    color: var(--white)
}

[data-theme=light] .page-not-found__button {
    background-color: var(--matt-black);
    color: var(--white)
}

[data-theme=light] .page-not-found__button .chevron {
    fill: var(--matt-black)
}

[data-theme=light] .page-not-found__button .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .page-not-found__button,
    [data-theme=light] .page-not-found__button.hover,
    [data-theme=light] .page-not-found__button:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .page-not-found__button .arrow,
    [data-theme=light] .page-not-found__button.hover .arrow,
    [data-theme=light] .page-not-found__button:hover:not(:disabled) .arrow {
        color: var(--white)
    }

    .hover [data-theme=light] .page-not-found__button .chevron,
    [data-theme=light] .page-not-found__button.hover .chevron,
    [data-theme=light] .page-not-found__button:hover:not(:disabled) .chevron {
        fill: var(--white)
    }
}

.page-not-found__squiggle {
    overflow: hidden
}

.page-not-found__squiggle .squiggle-wrapper {
    margin-left: -20%;
    margin-top: -9%
}

@media(min-width:768px) {
    .page-not-found__squiggle .squiggle-wrapper {
        bottom: 0;
        margin-left: 0;
        margin-top: 0;
        position: absolute;
        right: 0;
        top: 0;
        width: 72vw
    }
}

.page-not-found__squiggle svg {
    width: 120vw
}

@media(min-width:768px) {
    .page-not-found__squiggle svg {
        width: 100%
    }
}

.job {
    padding-bottom: max(4rem, min(10.83vw, 9.75rem))
}

.job hr {
    background-color: var(--grey-80);
    height: 1px;
    width: 100%
}

[data-theme=light] .job hr {
    background-color: var(--grey-20)
}

.job__container {
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.job__container,
.job__content {
    margin-left: auto;
    margin-right: auto
}

.job__content {
    max-width: 54rem
}

.job__description {
    padding-top: max(2.5rem, min(6.66vw, 6rem))
}

.job__description .intro {
    font-size: max(1.5rem, min(1.94vw, 1.75rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3
}

[data-theme=light] .job__description .intro {
    color: var(--matt-black)
}

.job__description h2 {
    font-size: max(2.5rem, min(3.05vw, 2.75rem));
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 1.3
}

.job__description h2+* {
    margin-top: 1.5rem
}

.job__description h3 {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.35
}

.job__description h3+* {
    margin-top: 1rem
}

.job__description h4 {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.35
}

.job__description h4+* {
    margin-top: .25rem
}

.job__description *+h2 {
    margin-top: max(2rem, min(2.75vw, 2.5rem))
}

.job__description *+h3 {
    margin-top: max(2rem, min(3.33vw, 3rem))
}

.job__description *+h4 {
    margin-top: max(1.5rem, min(2.22vw, 2rem))
}

.job__description li,
.job__description p {
    text-wrap: pretty
}

@media(min-width:768px) {

    .job__description li,
    .job__description p {
        line-height: 1.59
    }
}

.job__description li,
.job__description p {
    color: var(--grey-40);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42
}

[data-theme=light] .job__description li,
[data-theme=light] .job__description p {
    color: var(--grey-60)
}

.job__description li {
    padding-left: .5em
}

.job__description *+ol,
.job__description *+ul {
    margin-top: 1em
}

.job__description li+li {
    margin-top: .35em
}

.job__description p+p {
    margin-top: max(.75rem, min(1.1vw, 1rem))
}

.job__description strong {
    font-weight: 500
}

.job__description a {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% .0625rem;
    border-bottom: 1px solid transparent;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: all .2s ease-in-out;
    transition-property: color;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1)
}

[data-theme=light] .job__description a {
    background-image: linear-gradient(var(--putty), var(--putty))
}

@media(hover:hover)and (pointer:fine) {

    .hover .job__description a,
    .job__description a.hover,
    .job__description a:hover:not(:disabled) {
        color: var(--grey-20)
    }

    [data-theme=light] .hover .job__description a,
    [data-theme=light] .job__description a.hover,
    [data-theme=light] .job__description a:hover:not(:disabled) {
        color: var(--grey-80)
    }
}

@media(min-width:768px) {
    .job__description blockquote {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
}

.job__description blockquote p {
    font-family: var(--serif);
    font-size: 1.75rem;
    font-weight: 200;
    letter-spacing: -.03em;
    line-height: 1.3
}

.job__description blockquote+* {
    margin-top: 3.75rem
}

.job__description *+blockquote {
    margin-top: 4.25rem
}

.job__description ul {
    list-style: disc;
    list-style-position: outside;
    padding-left: 2em
}

.apply {
    margin-bottom: max(3rem, min(4.44vw, 4rem));
    margin-top: max(4rem, min(5.55vw, 5rem))
}

.apply__content {
    background: var(--grey-90);
    border: 1px solid var(--grey-80);
    border-radius: .5rem;
    padding: max(1.5rem, min(3.33vw, 3rem))
}

[data-theme=light] .apply__content {
    background: var(--grey-10);
    border-color: var(--grey-20)
}

.apply__overline {
    color: var(--grey-50);
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.3;
    margin-bottom: 1rem;
    text-transform: uppercase
}

.apply__text {
    font-size: max(1.5rem, min(1.94vw, 1.75rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3;
    margin-bottom: 2rem
}

.apply__text p {
    text-wrap: pretty
}

.apply__text a {
    -webkit-text-decoration: underline;
    text-decoration: underline;
    text-decoration-thickness: .06em;
    text-underline-offset: .1em
}

@media(hover:hover)and (pointer:fine) {

    .apply__text a.hover,
    .apply__text a:hover:not(:disabled),
    .hover .apply__text a {
        color: var(--volt-dark)
    }
}

.apply__button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .apply__button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .apply__button.hover,
    .apply__button:hover:not(:disabled),
    .hover .apply__button {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .apply__button.hover .icon-arrow-up-right,
    .apply__button:hover:not(:disabled) .icon-arrow-up-right,
    .hover .apply__button .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .apply__button.hover .icon-chevron .chevron,
    .apply__button:hover:not(:disabled) .icon-chevron .chevron,
    .hover .apply__button .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.apply__button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.apply__button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.apply__button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.apply__button {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    color: var(--matt-black)
}

.apply__button .icon .arrow {
    color: var(--white)
}

[data-theme=light] .apply__button {
    background-color: var(--matt-black);
    color: var(--white)
}

[data-theme=light] .apply__button .chevron {
    fill: var(--matt-black)
}

[data-theme=light] .apply__button .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .apply__button,
    [data-theme=light] .apply__button.hover,
    [data-theme=light] .apply__button:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .apply__button .arrow,
    [data-theme=light] .apply__button.hover .arrow,
    [data-theme=light] .apply__button:hover:not(:disabled) .arrow {
        color: var(--white)
    }

    .hover [data-theme=light] .apply__button .chevron,
    [data-theme=light] .apply__button.hover .chevron,
    [data-theme=light] .apply__button:hover:not(:disabled) .chevron {
        fill: var(--white)
    }
}

.apply-button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .apply-button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .apply-button.hover,
    .apply-button:hover:not(:disabled),
    .hover .apply-button {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .apply-button.hover .icon-arrow-up-right,
    .apply-button:hover:not(:disabled) .icon-arrow-up-right,
    .hover .apply-button .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .apply-button.hover .icon-chevron .chevron,
    .apply-button:hover:not(:disabled) .icon-chevron .chevron,
    .hover .apply-button .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.apply-button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.apply-button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.apply-button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.apply-button {
    background-color: var(--volt);
    border-color: var(--volt);
    color: var(--matt-black)
}

.apply-button .arrow {
    color: var(--white)
}

@media(hover:hover)and (pointer:fine) {

    .apply-button.hover,
    .apply-button:hover:not(:disabled),
    .hover .apply-button {
        background-color: var(--white)
    }

    [data-theme=light] .apply-button.hover,
    [data-theme=light] .apply-button:hover:not(:disabled),
    [data-theme=light] .hover .apply-button {
        background-color: var(--matt-black);
        color: var(--white)
    }

    [data-theme=light] .apply-button.hover .arrow,
    [data-theme=light] .apply-button:hover:not(:disabled) .arrow,
    [data-theme=light] .hover .apply-button .arrow {
        color: var(--matt-black)
    }
}

.apply-button .icon-arrow-up-right {
    transform: rotate(45deg)
}

sticky-cta {
    bottom: 1.5rem;
    opacity: 0;
    position: fixed;
    right: 1.5rem;
    visibility: hidden;
    z-index: 200
}

@media(max-width:767px) {
    sticky-cta {
        display: none
    }
}

sticky-cta a,
sticky-cta button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {

    sticky-cta a,
    sticky-cta button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .hover sticky-cta a,
    .hover sticky-cta button,
    sticky-cta a.hover,
    sticky-cta a:hover:not(:disabled),
    sticky-cta button.hover,
    sticky-cta button:hover:not(:disabled) {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .hover sticky-cta a .icon-arrow-up-right,
    .hover sticky-cta button .icon-arrow-up-right,
    sticky-cta a.hover .icon-arrow-up-right,
    sticky-cta a:hover:not(:disabled) .icon-arrow-up-right,
    sticky-cta button.hover .icon-arrow-up-right,
    sticky-cta button:hover:not(:disabled) .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .hover sticky-cta a .icon-chevron .chevron,
    .hover sticky-cta button .icon-chevron .chevron,
    sticky-cta a.hover .icon-chevron .chevron,
    sticky-cta a:hover:not(:disabled) .icon-chevron .chevron,
    sticky-cta button.hover .icon-chevron .chevron,
    sticky-cta button:hover:not(:disabled) .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

sticky-cta a .icon,
sticky-cta button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

sticky-cta a .icon .arrow,
sticky-cta button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

sticky-cta a .icon .chevron,
sticky-cta button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

sticky-cta a,
sticky-cta button {
    background-color: var(--volt);
    border-color: var(--volt);
    color: var(--matt-black)
}

sticky-cta a .arrow,
sticky-cta button .arrow {
    color: var(--white)
}

@media(hover:hover)and (pointer:fine) {

    .hover sticky-cta a,
    .hover sticky-cta button,
    sticky-cta a.hover,
    sticky-cta a:hover:not(:disabled),
    sticky-cta button.hover,
    sticky-cta button:hover:not(:disabled) {
        background-color: var(--white)
    }

    [data-theme=light] .hover sticky-cta a,
    [data-theme=light] .hover sticky-cta button,
    [data-theme=light] sticky-cta a.hover,
    [data-theme=light] sticky-cta a:hover:not(:disabled),
    [data-theme=light] sticky-cta button.hover,
    [data-theme=light] sticky-cta button:hover:not(:disabled) {
        background-color: var(--matt-black);
        color: var(--white)
    }

    [data-theme=light] .hover sticky-cta a .arrow,
    [data-theme=light] .hover sticky-cta button .arrow,
    [data-theme=light] sticky-cta a.hover .arrow,
    [data-theme=light] sticky-cta a:hover:not(:disabled) .arrow,
    [data-theme=light] sticky-cta button.hover .arrow,
    [data-theme=light] sticky-cta button:hover:not(:disabled) .arrow {
        color: var(--matt-black)
    }
}

sticky-cta .icon-arrow-up-right {
    transform: rotate(45deg)
}

.vacancies {
    margin-top: 5rem;
    overflow: hidden;
    padding-bottom: 5rem
}

.vacancies__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

@media(min-width:768px) {
    .vacancies__layout {
        grid-column-gap: max(4rem, min(7.77vw, 7rem));
        border-top: 1px solid var(--grey-80);
        column-gap: max(4rem, min(7.77vw, 7rem));
        display: grid;
        grid-template-columns: auto 50%;
        padding-top: max(5rem, min(9.44vw, 8.5rem))
    }

    [data-theme=light] .vacancies__layout {
        border-top-color: var(--grey-20)
    }
}

.vacancies__header {
    margin-bottom: 4rem;
    position: relative;
    z-index: 2
}

@media(min-width:768px) {
    .vacancies__header {
        max-width: 32rem
    }
}

.vacancies__overline {
    align-items: center;
    color: var(--grey-50);
    display: flex;
    font-size: max(.875rem, min(1.1vw, 1rem));
    font-weight: 400;
    gap: .625rem;
    letter-spacing: .04em;
    line-height: 1.3;
    margin-bottom: 1rem;
    text-transform: uppercase
}

[data-theme=light] .vacancies__overline {
    color: var(--grey-70)
}

.vacancies__overline:before {
    background-color: var(--volt);
    border-radius: 50%;
    content: "";
    display: block;
    height: .375rem;
    width: .375rem
}

[data-theme=light] .vacancies__overline:before {
    background-color: var(--putty)
}

.vacancies__heading {
    font-size: max(2.75rem, min(3.88vw, 3.5rem));
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 1.3
}

@media(min-width:768px) {
    .vacancies__heading {
        margin-bottom: 1.5rem
    }
}

.vacancies__text {
    color: var(--grey-40);
    font-size: max(1.125rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    line-height: 1.4;
    text-wrap: pretty
}

[data-theme=light] .vacancies__text {
    color: var(--grey-60)
}

.vacancies__content {
    position: relative
}

.vacancies__squiggle {
    height: auto;
    overflow: visible;
    position: absolute;
    top: 0;
    width: 100%
}

.vacancies__squiggle .squiggle-wrapper {
    transform: translate(-21%);
    width: 150vw
}

@media(min-width:768px) {
    .vacancies__squiggle .squiggle-wrapper {
        transform: translate(-70%, 20%);
        width: 100vw
    }
}

.vacancies__squiggle .squiggle-wrapper:after {
    background-image: linear-gradient(to bottom right, transparent, var(--matt-black) 95%);
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 2
}

@media(min-width:768px) {
    .vacancies__squiggle .squiggle-wrapper:after {
        background-image: linear-gradient(to bottom right, transparent, var(--matt-black) 80%)
    }
}

[data-theme=light] .vacancies__squiggle .squiggle-wrapper:after {
    background-image: linear-gradient(to bottom right, transparent, var(--chalk) 95%)
}

@media(min-width:768px) {
    [data-theme=light] .vacancies__squiggle .squiggle-wrapper:after {
        background-image: linear-gradient(to bottom right, transparent, var(--chalk) 80%)
    }
}

.vacancies__squiggle svg {
    transform: rotate(130deg)
}

@media(min-width:768px) {
    .vacancies__squiggle svg {
        transform: rotate(130deg)
    }
}

.vacancies__squiggle .squiggle-1-group {
    fill: url(#sq1-kjebsmld)
}

[data-theme=light] .vacancies__squiggle .squiggle-1-group {
    fill: url(#sq1-iusjdfad)
}

.vacancies__list {
    display: grid;
    position: relative;
    grid-row-gap: 1.5rem;
    row-gap: 1.5rem;
    z-index: 2
}

.vacancies__empty {
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.42
}

.vacancies__item {
    background: var(--grey-90);
    border: 1px solid var(--grey-80);
    border-radius: .5rem;
    padding: max(1.5rem, min(2.77vw, 2.5rem))
}

[data-theme=light] .vacancies__item {
    background: var(--white);
    border: 1px solid var(--grey-20)
}

.vacancies__item-location {
    color: var(--grey-50);
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.3;
    margin-bottom: max(.5rem, min(1.11vw, 1rem));
    text-transform: uppercase
}

[data-theme=light] .vacancies__item-location {
    color: var(--grey-40)
}

.vacancies__item-title {
    font-size: max(1.5rem, min(1.94vw, 1.75rem));
    font-weight: 400;
    line-height: 1.3;
    margin-bottom: 1rem
}

.vacancies__item-text {
    color: var(--grey-50);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42;
    text-wrap: pretty
}

.vacancies__item-button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    margin-top: max(1.5rem, min(2.22vw, 2rem));
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .vacancies__item-button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .hover .vacancies__item-button,
    .vacancies__item-button.hover,
    .vacancies__item-button:hover:not(:disabled) {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .hover .vacancies__item-button .icon-arrow-up-right,
    .vacancies__item-button.hover .icon-arrow-up-right,
    .vacancies__item-button:hover:not(:disabled) .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .hover .vacancies__item-button .icon-chevron .chevron,
    .vacancies__item-button.hover .icon-chevron .chevron,
    .vacancies__item-button:hover:not(:disabled) .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.vacancies__item-button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.vacancies__item-button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.vacancies__item-button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.vacancies__item-button {
    background: 0 0;
    border-color: var(--grey-80)
}

.vacancies__item-button,
[data-theme=light] .vacancies__item-button {
    border-color: var(--grey-30)
}

.values {
    margin-bottom: max(5rem, min(9.44vw, 8.5rem));
    margin-top: max(5rem, min(10.5vw, 9.5rem))
}

.values__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.values__overline {
    align-items: center;
    color: var(--grey-50);
    display: flex;
    font-size: max(.875rem, min(1.1vw, 1rem));
    font-weight: 400;
    gap: .625rem;
    letter-spacing: .04em;
    line-height: 1.3;
    margin-bottom: 1rem;
    text-transform: uppercase
}

[data-theme=light] .values__overline {
    color: var(--grey-70)
}

.values__overline:before {
    background-color: var(--volt);
    border-radius: 50%;
    content: "";
    display: block;
    height: .375rem;
    width: .375rem
}

[data-theme=light] .values__overline:before {
    background-color: var(--putty)
}

.values__heading {
    font-size: max(2.5625rem, min(3.88vw, 3.5rem));
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.3;
    margin-bottom: max(3.5rem, min(6.11vw, 5.5rem))
}

.values__heading br {
    display: none
}

@media(min-width:768px) {
    .values__heading br {
        display: block
    }
}

.values__item {
    border-top: 1px solid var(--grey-80);
    padding-bottom: 3rem;
    padding-top: 2rem;
    position: relative
}

[data-theme=light] .values__item {
    border-top-color: var(--grey-20)
}

@media(min-width:768px) {
    .values__item {
        border-top: 0;
        grid-column-gap: 3rem;
        column-gap: 3rem;
        display: grid;
        grid-template-columns: 16rem 1fr
    }
}

.values__item-number {
    color: var(--grey-70);
    font-size: 3rem;
    font-weight: 300;
    line-height: 1.2
}

[data-theme=light] .values__item-number {
    color: var(--grey-30)
}

@media(min-width:768px) {
    .values__item-number {
        color: var(--grey-90);
        font-size: 12.5rem;
        font-weight: 300;
        line-height: 1
    }

    .values__item:first-child .values__item-number {
        letter-spacing: .08em
    }

    [data-theme=light] .values__item-number {
        color: var(--grey-20)
    }
}

.values__item-content {
    display: grid;
    grid-row-gap: 1.5rem;
    row-gap: 1.5rem
}

@media(min-width:768px) {
    .values__item-content {
        border-top: 1px solid var(--grey-80);
        padding-top: 2rem
    }

    [data-theme=light] .values__item-content {
        border-top-color: var(--grey-20)
    }
}

.values__item-heading {
    font-size: max(1.75rem, min(3.05vw, 2.75rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3
}

@media(min-width:768px) {
    .values__item-heading {
        align-self: end;
        letter-spacing: -.03em
    }
}

.values__item-text {
    color: var(--grey-40);
    font-size: max(1.125rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    line-height: 1.4
}

[data-theme=light] .values__item-text {
    color: var(--grey-70)
}

.article {
    padding-bottom: max(3.5rem, min(6.67vw, 6rem))
}

@media(min-width:768px) {
    .article {
        padding-top: max(2.5rem, min(5vw, 4.5rem))
    }
}

.article__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

@media(min-width:768px) {
    .article__content {
        border-top: 1px solid var(--grey-80);
        padding-top: 4.5rem
    }

    [data-theme=light] .article__content {
        border-top-color: var(--grey-20)
    }

    .article__content>* {
        margin-left: auto;
        margin-right: auto;
        max-width: 53rem
    }
}

.article__text .intro {
    font-size: max(1.5rem, min(1.94vw, 1.75rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3
}

[data-theme=light] .article__text .intro {
    color: var(--matt-black)
}

.article__text h2 {
    font-size: max(2.5rem, min(3.05vw, 2.75rem));
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 1.3
}

.article__text h2+* {
    margin-top: 1.5rem
}

.article__text h3 {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.35
}

.article__text h3+* {
    margin-top: 1rem
}

.article__text h4 {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.35
}

.article__text h4+* {
    margin-top: .25rem
}

.article__text *+h2 {
    margin-top: max(2rem, min(2.75vw, 2.5rem))
}

.article__text *+h3 {
    margin-top: max(2rem, min(3.33vw, 3rem))
}

.article__text *+h4 {
    margin-top: max(1.5rem, min(2.22vw, 2rem))
}

.article__text li,
.article__text p {
    text-wrap: pretty
}

@media(min-width:768px) {

    .article__text li,
    .article__text p {
        line-height: 1.59
    }
}

.article__text li,
.article__text p {
    color: var(--grey-40);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42
}

[data-theme=light] .article__text li,
[data-theme=light] .article__text p {
    color: var(--grey-60)
}

.article__text li {
    padding-left: .5em
}

.article__text *+ol,
.article__text *+ul {
    margin-top: 1em
}

.article__text li+li {
    margin-top: .35em
}

.article__text p+p {
    margin-top: max(.75rem, min(1.1vw, 1rem))
}

.article__text strong {
    font-weight: 500
}

.article__text a {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% .0625rem;
    border-bottom: 1px solid transparent;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: all .2s ease-in-out;
    transition-property: color;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1)
}

[data-theme=light] .article__text a {
    background-image: linear-gradient(var(--putty), var(--putty))
}

@media(hover:hover)and (pointer:fine) {

    .article__text a.hover,
    .article__text a:hover:not(:disabled),
    .hover .article__text a {
        color: var(--grey-20)
    }

    [data-theme=light] .article__text a.hover,
    [data-theme=light] .article__text a:hover:not(:disabled),
    [data-theme=light] .hover .article__text a {
        color: var(--grey-80)
    }
}

@media(min-width:768px) {
    .article__text blockquote {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
}

.article__text blockquote p {
    font-family: var(--serif);
    font-size: 1.75rem;
    font-weight: 200;
    letter-spacing: -.03em;
    line-height: 1.3
}

.article__text blockquote+* {
    margin-top: 3.75rem
}

.article__text *+blockquote {
    margin-top: 4.25rem
}

.article__text ul {
    list-style: disc;
    list-style-position: outside;
    padding-left: 2em
}

.article__image-grid.image-grid,
.article__image.inline-image {
    margin-bottom: 4rem;
    margin-top: 4rem
}

.article__image-grid.image-grid .image-grid__layout {
    column-gap: 1rem;
    grid-template-columns: repeat(2, minmax(0, 1fr))
}

.article__text+.article__text {
    margin-top: 4rem
}

.article__footer {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.35;
    margin-top: 3.5rem
}

.article__cta {
    display: grid;
    font-size: 1.75rem;
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3;
    margin-top: 4rem;
    grid-gap: 2.25rem;
    gap: 2.25rem
}

@media(min-width:768px) {
    .article__cta {
        display: none
    }
}

.article__share {
    column-gap: .75rem;
    display: flex;
    margin-top: 1rem
}

.article__share a {
    height: 1.5rem;
    transition: all .2s ease-in-out;
    transition-property: transform;
    width: 1.5rem
}

@media(hover:hover)and (pointer:fine) {

    .article__share a.hover,
    .article__share a:hover:not(:disabled),
    .hover .article__share a {
        transform: scale(1.1)
    }
}

.article-card {
    line-height: 1.3;
    position: relative
}

@media(hover:hover)and (pointer:fine) {

    .article-card.hover .article-card__image img,
    .article-card:hover:not(:disabled) .article-card__image img,
    .hover .article-card .article-card__image img {
        transform: scale(1.4)
    }

    .article-card.hover .article-card__heading>span,
    .article-card:hover:not(:disabled) .article-card__heading>span,
    .hover .article-card .article-card__heading>span {
        background-size: 100% .0625rem
    }
}

.article-card__link:before {
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1
}

.article-card__heading {
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.4;
    margin-bottom: 1rem;
    margin-top: 1rem
}

.article-card__heading>span {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 .0625rem;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1)
}

[data-theme=light] .article-card__heading>span {
    background-image: linear-gradient(var(--putty), var(--putty))
}

.article-card__image {
    overflow: hidden;
    transition: all 2.4s cubic-bezier(.09, .69, 0, 1);
    transition-property: transform
}

@media(min-width:768px) {
    .article-card__image {
        height: 33.33vw
    }
}

.article-card__image .image {
    height: 100%
}

@media(max-width:767px) {
    .article-card__image .image {
        position: relative;
        width: 100%
    }

    .article-card__image .image:before {
        content: "";
        display: block;
        padding-top: 90%
    }

    .article-card__image .image .media-wrapper img,
    .article-card__image .image video,
    .article-card__image .image>img {
        bottom: 0;
        height: 100%;
        left: 0;
        object-fit: cover;
        position: absolute;
        right: 0;
        top: 0;
        width: 100%
    }
}

.article-card__image img {
    height: 100%;
    object-fit: cover;
    transition: all 2.4s cubic-bezier(.09, .69, 0, 1);
    transition-property: transform;
    width: 100%
}

.article-card__categories {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    position: relative;
    z-index: 1
}

.article-card__category {
    border: 1px solid var(--grey-70);
    border-radius: 10rem;
    color: var(--grey-50);
    display: inline-block;
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .01625rem;
    line-height: 1.3;
    padding: .375rem .75rem;
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: color, border-color
}

@media(hover:hover)and (pointer:fine) {

    .article-card__category.hover,
    .article-card__category:hover:not(:disabled),
    .hover .article-card__category {
        border-color: var(--grey-30);
        color: var(--grey-30)
    }
}

[data-theme=light] .article-card__category {
    border-color: var(--grey-30)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .article-card__category,
    [data-theme=light] .article-card__category.hover,
    [data-theme=light] .article-card__category:hover:not(:disabled) {
        border-color: var(--grey-70);
        color: var(--grey-70)
    }
}

.call-to-action {
    margin-top: max(6rem, min(12.22vw, 11rem));
    padding-bottom: max(5rem, min(12.22vw, 11rem))
}

.single-service .call-to-action {
    margin-top: max(4.5rem, min(10.55vw, 9.5rem))
}

.call-to-action__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.call-to-action__layout {
    align-items: center;
    display: grid;
    grid-gap: 2rem;
    gap: 2rem
}

.call-to-action__button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    justify-self: center;
    letter-spacing: .01875rem;
    line-height: 100%;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .call-to-action__button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .call-to-action__button.hover,
    .call-to-action__button:hover:not(:disabled),
    .hover .call-to-action__button {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .call-to-action__button.hover .icon-arrow-up-right,
    .call-to-action__button:hover:not(:disabled) .icon-arrow-up-right,
    .hover .call-to-action__button .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .call-to-action__button.hover .icon-chevron .chevron,
    .call-to-action__button:hover:not(:disabled) .icon-chevron .chevron,
    .hover .call-to-action__button .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.call-to-action__button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.call-to-action__button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.call-to-action__button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.call-to-action__button {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    color: var(--matt-black)
}

.call-to-action__button .icon .arrow {
    color: var(--white)
}

[data-theme=light] .call-to-action__button {
    background-color: var(--matt-black);
    color: var(--white)
}

[data-theme=light] .call-to-action__button .chevron {
    fill: var(--matt-black)
}

[data-theme=light] .call-to-action__button .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .call-to-action__button,
    [data-theme=light] .call-to-action__button.hover,
    [data-theme=light] .call-to-action__button:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .call-to-action__button .arrow,
    [data-theme=light] .call-to-action__button.hover .arrow,
    [data-theme=light] .call-to-action__button:hover:not(:disabled) .arrow {
        color: var(--white)
    }

    .hover [data-theme=light] .call-to-action__button .chevron,
    [data-theme=light] .call-to-action__button.hover .chevron,
    [data-theme=light] .call-to-action__button:hover:not(:disabled) .chevron {
        fill: var(--white)
    }
}

.call-to-action--simple .call-to-action__text {
    font-size: max(2.5625rem, min(3.88vw, 3.5rem));
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.3;
    margin-left: auto;
    margin-right: auto;
    max-width: 80vw;
    position: relative;
    text-align: center;
    text-wrap: pretty
}

@media(min-width:520px) {
    .call-to-action--simple .call-to-action__text {
        max-width: max(20rem, min(42vw, 39rem))
    }
}

.call-to-action--simple .call-to-action__text span {
    text-wrap: pretty
}

.call-to-action--simple .call-to-action__text.with-arrow:after {
    --arrow: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNiIgaGVpZ2h0PSIyNiIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJpY29uIGljb24tYXJyb3ctZG93bi1sZWZ0Ij48cGF0aCBmaWxsPSIjQ0VGRjAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0uNCAyNS4zOTJWMi41ODdoMy40OTV2MTYuODM5TDIzLjA2Ny4yNTRsMi40NzEgMi40NzJMNi4zNjYgMjEuODk3aDE2LjgzOXYzLjQ5NXoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==);
    background: var(--arrow)0 100%/contain no-repeat;
    content: "";
    display: inline-block;
    height: 1em;
    width: .5em
}

[data-theme=light] .call-to-action--simple .call-to-action__text.with-arrow:after {
    --arrow: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyMCIgaGVpZ2h0PSIyMCIgZmlsbD0ibm9uZSIgYXJpYS1oaWRkZW49InRydWUiIGNsYXNzPSJpY29uIGljb24tYXJyb3ctZG93bi1sZWZ0IiB2aWV3Qm94PSIwIDAgMjYgMjYiPjxwYXRoIGZpbGw9IiM5Mzg5ODYiIGZpbGwtcnVsZT0iZXZlbm9kZCIgZD0iTS40IDI1LjM5MlYyLjU4N2gzLjQ5NXYxNi44MzlMMjMuMDY3LjI1NGwyLjQ3MSAyLjQ3Mkw2LjM2NiAyMS44OTdoMTYuODM5djMuNDk1eiIgY2xpcC1ydWxlPSJldmVub2RkIi8+PC9zdmc+)
}

click-to-copy {
    overflow: visible;
    position: relative
}

.confirmation {
    background-color: var(--white);
    border-radius: .25rem;
    color: var(--matt-black);
    display: inline-block;
    font-size: .875rem;
    font-weight: 500;
    left: 0;
    letter-spacing: .03em;
    padding: .5rem .75rem;
    position: absolute;
    -webkit-text-decoration: none;
    text-decoration: none;
    text-transform: uppercase;
    top: calc(100% + .5rem)
}

[data-cursor-container] {
    cursor: none
}

custom-cursor {
    display: block;
    left: 50%;
    pointer-events: none;
    position: absolute;
    top: 50%;
    z-index: 900
}

.featured-work {
    margin-bottom: 1.25rem;
    margin-top: max(2.5rem, min(14vw, 12.5rem))
}

@media(min-width:520px) {
    .featured-work {
        margin-bottom: max(2.5rem, min(10vw, 9rem))
    }
}

[data-template=template-sustainability] .featured-work {
    margin-top: max(2.5rem, min(5vw, 4.5rem))
}

.featured-work:last-child {
    margin-bottom: 0;
    padding-bottom: 1.25rem
}

@media(min-width:520px) {
    .featured-work:last-child {
        margin-bottom: 0;
        padding-bottom: max(2.5rem, min(10vw, 9rem))
    }
}

.featured-work:last-child .featured-work__projects {
    border-bottom: 0;
    padding-bottom: 0
}

.featured-work__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.featured-work__header {
    align-items: center;
    display: grid;
    grid-template-columns: 1fr -webkit-max-content;
    grid-template-columns: 1fr max-content;
    grid-template-rows: -webkit-min-content -webkit-min-content;
    grid-template-rows: min-content min-content;
    margin-bottom: max(1.5rem, min(3.88vw, 3.5rem))
}

.featured-work__heading {
    grid-row: 1;
    letter-spacing: -.03em;
    text-wrap: balance
}

.featured-work__heading,
[data-template=template-sustainability] .featured-work__heading {
    font-size: max(2.5625rem, min(3.88vw, 3.5rem));
    font-weight: 500;
    line-height: 1.3
}

.featured-work__subheading {
    color: var(--grey-30);
    font-size: max(1rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    grid-column: 1;
    grid-row: 2;
    line-height: 1.4;
    margin-top: max(.75rem, min(1.66vw, 1.5rem))
}

[data-theme=light] .featured-work__subheading {
    color: var(--grey-70)
}

.featured-work__button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    grid-column: 2;
    grid-row: 1/span 2;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .featured-work__button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .featured-work__button.hover,
    .featured-work__button:hover:not(:disabled),
    .hover .featured-work__button {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .featured-work__button.hover .icon-arrow-up-right,
    .featured-work__button:hover:not(:disabled) .icon-arrow-up-right,
    .hover .featured-work__button .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .featured-work__button.hover .icon-chevron .chevron,
    .featured-work__button:hover:not(:disabled) .icon-chevron .chevron,
    .hover .featured-work__button .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.featured-work__button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.featured-work__button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.featured-work__button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.featured-work__button {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    color: var(--matt-black)
}

.featured-work__button .icon .arrow {
    color: var(--white)
}

[data-theme=light] .featured-work__button {
    background-color: var(--matt-black);
    color: var(--white)
}

[data-theme=light] .featured-work__button .chevron {
    fill: var(--matt-black)
}

[data-theme=light] .featured-work__button .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .featured-work__button,
    [data-theme=light] .featured-work__button.hover,
    [data-theme=light] .featured-work__button:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .featured-work__button .arrow,
    [data-theme=light] .featured-work__button.hover .arrow,
    [data-theme=light] .featured-work__button:hover:not(:disabled) .arrow {
        color: var(--white)
    }

    .hover [data-theme=light] .featured-work__button .chevron,
    [data-theme=light] .featured-work__button.hover .chevron,
    [data-theme=light] .featured-work__button:hover:not(:disabled) .chevron {
        fill: var(--white)
    }
}

.featured-work__projects {
    /* border-bottom: 1px solid var(--grey-80); */
    display: grid;
    grid-gap: max(2.5rem, min(4.5vw, 4rem));
    gap: max(2.5rem, min(4.5vw, 4rem));
    /* padding-bottom: max(3.75rem, min(9vw, 8.25rem)) */
}

[data-theme=light] .featured-work__projects {
    border-color: var(--grey-20)
}

.featured-work__layout {
    display: grid;
    grid-gap: 2.5rem;
    gap: 2.5rem
}

@media(min-width:1024px) {
    .featured-work__layout {
        gap: 2rem;
        grid-auto-flow: column;
        grid-template-columns: 5fr 3fr;
        max-height: 80vh
    }

    .featured-work__layout[data-flip] {
        grid-template-columns: 3fr 5fr
    }

    .featured-work__layout[data-layout=one_project] .project-card {
        grid-column: 1/span 2
    }

    .featured-work__layout[data-layout=three_projects] {
        grid-template-rows: 1fr 1fr
    }

    .featured-work__layout[data-layout=three_projects] .project-card:first-child {
        grid-column: 1;
        grid-row: 1/span 2
    }

    .featured-work__layout[data-layout=three_projects][data-flip] .project-card:first-child {
        grid-column: 2
    }

    .featured-work__layout .project-card {
        max-height: 100%;
        overflow: hidden
    }
}

.footer {
    /* background-color: var(--grey-90); */
    padding-bottom: 5rem;
    padding-top: 5rem
}

@media(min-width:1024px) {
    .footer {
        padding-bottom: 2.5rem
    }
}

[data-theme=light] .footer {
    background-color: var(--white)
}

.footer__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.footer__contact {
    display: grid;
    grid-row-gap: 2rem;
    border-bottom: .0625rem solid var(--grey-80);
    padding-bottom: 2.5rem;
    row-gap: 2rem
}

@media(min-width:1024px) {
    .footer__contact {
        grid-template-areas: "heading text" "button email";
        grid-template-columns: repeat(2, 1fr);
        margin-bottom: 4rem;
        padding-bottom: 4rem;
        row-gap: 0
    }

    .footer__contact .heading {
        grid-area: heading
    }

    .footer__contact .text {
        grid-area: text
    }

    .footer__contact .button {
        grid-area: button
    }

    .footer__contact .email {
        grid-area: email
    }
}

[data-theme=light] .footer__contact {
    border-color: var(--grey-20)
}

.footer__contact .heading {
    font-size: max(2.75rem, min(5vw, 4.5rem));
    letter-spacing: -.03em;
    line-height: 1.1
}

.footer__contact .button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.5rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    margin-bottom: .5rem;
    padding: 1rem max(1.5rem, min(1.3888vw, 1.25rem));
    /* text-transform: uppercase; */
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .footer__contact .button {
        padding-bottom: 1rem;
        padding-top: 1rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .footer__contact .button.hover,
    .footer__contact .button:hover:not(:disabled),
    .hover .footer__contact .button {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .footer__contact .button.hover .icon-arrow-up-right,
    .footer__contact .button:hover:not(:disabled) .icon-arrow-up-right,
    .hover .footer__contact .button .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .footer__contact .button.hover .icon-chevron .chevron,
    .footer__contact .button:hover:not(:disabled) .icon-chevron .chevron,
    .hover .footer__contact .button .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.footer__contact .button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.footer__contact .button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.footer__contact .button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.footer__contact .button {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    color: var(--matt-black)
}

.footer__contact .button .icon .arrow {
    color: var(--white)
}

[data-theme=light] .footer__contact .button {
    background-color: var(--matt-black);
    color: var(--white)
}

[data-theme=light] .footer__contact .button .chevron {
    fill: var(--matt-black)
}

[data-theme=light] .footer__contact .button .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .footer__contact .button,
    [data-theme=light] .footer__contact .button.hover,
    [data-theme=light] .footer__contact .button:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .footer__contact .button .arrow,
    [data-theme=light] .footer__contact .button.hover .arrow,
    [data-theme=light] .footer__contact .button:hover:not(:disabled) .arrow {
        color: var(--white)
    }

    .hover [data-theme=light] .footer__contact .button .chevron,
    [data-theme=light] .footer__contact .button.hover .chevron,
    [data-theme=light] .footer__contact .button:hover:not(:disabled) .chevron {
        fill: var(--white)
    }
}

@media(min-width:1024px) {
    .footer__contact .button {
        margin-bottom: 0;
        margin-top: max(1rem, min(2.75vw, 2.5rem))
    }
}

/* .footer__contact .text {
    align-self: center;
    font-size: max(1rem, min(1.66vw, 1.5rem));
    font-weight: 300;
    line-height: 1.35;
    max-width: 34rem
} */

.footer__contact .email {
    column-gap: 1rem;
    display: flex
}

@media(hover:hover)and (pointer:fine) {

    .footer__contact .email.hover .icon,
    .footer__contact .email:hover:not(:disabled) .icon,
    .hover .footer__contact .email .icon {
        transform: rotate(45deg)
    }
}

.footer__contact .email span {
    font-size: max(1.5rem, min(1.94vw, 1.75rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3;
    -webkit-text-decoration: underline;
    text-decoration: underline;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
    text-decoration-thickness: .05em;
    text-underline-offset: .075em
}

.footer__contact .email .icon {
    color: var(--volt);
    height: max(2rem, min(2.75vw, 2.5rem));
    transition: all .2s ease-in-out;
    transition-property: transform;
    width: max(2rem, min(2.75vw, 2.5rem))
}

.footer__contact .email .icon .arrow {
    color: var(--grey-90);
    stroke-width: 1.5
}

.footer__primary {
    border-bottom: .0625rem solid var(--grey-80);
    color: var(--grey-50);
    display: grid;
    padding-bottom: 2.5rem;
    padding-top: 2.5rem;
    grid-row-gap: 2.5rem;
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42;
    row-gap: 2.5rem
}

[data-theme=light] .footer__primary {
    border-bottom-color: var(--grey-20)
}

@media(min-width:1024px) {
    .footer__primary {
        border-bottom: 0;
        grid-template-columns: 11rem auto 11rem;
        padding-bottom: 0;
        padding-top: 0;
        row-gap: .625rem
    }
}

.footer__logo {
    align-self: center;
    color: var(--white)
}

.footer__logo img {
    width: 100%;
}

[data-theme=light] .footer__logo {
    color: var(--matt-black)
}

[data-theme=light] .footer__logo .logomark {
    fill: var(--matt-black)
}

.footer__logo svg {
    display: block;
    height: auto;
    width: 11rem
}

.footer__locations {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 2rem
}

@media(min-width:1024px) {
    .footer__locations {
        flex-wrap: nowrap;
        justify-content: space-evenly;
        row-gap: 0
    }

    .footer__locations:after,
    .footer__locations:before {
        background-color: var(--grey-80);
        content: "";
        display: block;
        width: .0625rem
    }

    [data-theme=light] .footer__locations:after,
    [data-theme=light] .footer__locations:before {
        background-color: var(--grey-20)
    }

    .footer__locations a {
        transition: all .2s ease-in-out;
        transition-property: color
    }
}

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

    .footer__locations a.hover,
    .footer__locations a:hover:not(:disabled),
    .hover .footer__locations a {
        color: var(--grey-30)
    }
}

.footer__locations .location {
    flex: 1 0 50%
}

@media(min-width:768px) {
    .footer__locations .location {
        flex: 1
    }
}

@media(min-width:1024px) {
    .footer__locations .location {
        flex: unset
    }
}

.footer__locations .country {
    color: var(--white);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .04rem;
    line-height: 1.3;
    margin-bottom: .75rem;
    text-transform: uppercase
}

[data-theme=light] .footer__locations .country {
    color: var(--matt-black)
}

.footer__social {
    display: flex;
    gap: .75rem
}

@media(min-width:1024px) {
    .footer__social {
        align-self: center
    }
}

.footer__social svg {
    height: 2rem;
    transition: all .2s ease-in-out;
    transition-property: filter;
    width: 2rem
}

.footer__social a {
    transition: all .2s ease-in-out;
    transition-property: opacity
}

@media(hover:hover)and (pointer:fine) {

    .footer__social a.hover,
    .footer__social a:hover:not(:disabled),
    .hover .footer__social a {
        opacity: .5
    }
}

[data-theme=light] .footer__social svg {
    filter: invert(.8)
}

.footer__secondary {
    color: var(--grey-50);
    display: flex;
    flex-direction: column;
    font-size: max(.875rem, min(1.1vw, 1rem));
    font-weight: 300;
    line-height: 1.35;
    /* margin-top: 2rem; */
    row-gap: 1.5rem
}

@media(min-width:1024px) {
    .footer__secondary {
        align-items: center;
        flex-direction: row;
        justify-content: space-between;
        /* margin-top: 5rem; */
        row-gap: 0
    }
}

.footer__legal {
    line-height: 1.2;
    margin-top: .5rem
}

@media(min-width:1024px) {
    .footer__legal {
        margin-top: 0
    }
}

.footer__credit {
    align-items: center;
    column-gap: 1rem;
    display: flex;
    transition: all .2s ease-in-out;
    transition-property: opacity
}

@media(hover:hover)and (pointer:fine) {

    .footer__credit.hover,
    .footer__credit:hover:not(:disabled),
    .hover .footer__credit {
        opacity: .5
    }
}

.footer__credit .logo {
    color: var(--white);
    height: 2.625rem;
    width: 2.5625rem
}

[data-theme=light] .footer__credit .logo {
    color: var(--matt-black)
}

.hero.hero--squiggle {
    padding-bottom: 2rem;
    padding-top: 4rem;
    position: relative
}

@media(min-width:768px) {
    .hero.hero--squiggle {
        height: calc(100vh - var(--header-height));
        padding-bottom: 0;
        padding-top: 3rem
    }
}

.hero.hero--squiggle .hero__container {
    display: grid;
    grid-template-rows: 55vw auto auto;
    height: 100%
}

@media(min-width:768px) {
    .hero.hero--squiggle .hero__container {
        grid-template-rows: 3fr auto 1fr
    }
}

.hero.hero--squiggle .hero__content {
    display: grid;
    grid-row: 3;
    max-width: 35rem
}

@media(min-width:768px) {
    .hero.hero--squiggle .hero__content {
        grid-row: 2
    }
}

.hero.hero--squiggle .hero__heading {
    font-size: 2.875rem;
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.2
}

@media(min-width:375px) {
    .hero.hero--squiggle .hero__heading {
        font-size: max(3.1875rem, min(6.11vw, 5.5rem))
    }
}

.hero.hero--squiggle .hero__squiggle {
    display: flex;
    justify-content: flex-end;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0
}

@media(min-width:768px) {
    .hero.hero--squiggle .hero__squiggle {
        bottom: 0;
        height: 100%;
        left: auto;
        right: 0;
        top: 0
    }
}

.hero.hero--squiggle .hero__squiggle .squiggle-wrapper {
    margin-right: 1rem;
    margin-top: 1rem;
    transform: rotate(350deg);
    width: 136vw
}

@media(min-width:768px) {
    .hero.hero--squiggle .hero__squiggle .squiggle-wrapper {
        margin-right: 0;
        margin-top: 0;
        transform: none;
        width: 75vw
    }
}

.hero.hero--squiggle .hero__squiggle .squiggle {
    max-width: 32rem;
    transform: translate(3rem, -1rem);
    width: 142%
}

@media(min-width:768px) {
    .hero.hero--squiggle .hero__squiggle .squiggle {
        height: 90%;
        max-width: 44rem;
        transform: translate(2%, -6%);
        width: auto
    }
}

@media(min-width:1024px) {
    .hero.hero--squiggle .hero__squiggle .squiggle {
        height: 120%;
        max-width: 80vw;
        transform: translate(-4%, -10%)
    }
}

.hero.hero--video {
    min-height: calc(100vh - var(--header-height));
    padding-bottom: 4rem;
    padding-top: 4rem;
    position: relative
}

@media(min-width:768px) {
    .hero.hero--video {
        height: calc(100vh - var(--header-height));
        padding-bottom: 3rem;
        padding-top: 3rem
    }
}

[data-theme=light] .hero.hero--video {
    color: var(--white)
}

.hero.hero--video .hero__container {
    display: grid;
    grid-template-rows: 55vw auto 1fr;
    height: 100%
}

@media(min-width:768px) {
    .hero.hero--video .hero__container {
        grid-template-rows: 1fr auto
    }
}

@media(min-width:1620px) {
    .hero.hero--video .hero__container {
        row-gap: max(2rem, min(3.33vw, 5rem))
    }
}

.hero.hero--video .hero__content {
    display: grid;
    grid-row: 3;
    grid-row-gap: 1.5rem;
    row-gap: 1.5rem
}

@media(min-width:768px) {
    .hero.hero--video .hero__content {
        grid-row: 2;
        row-gap: 3rem
    }
}

.hero.hero--video .hero__heading br {
    display: none
}

@media(min-width:520px) {
    .hero.hero--video .hero__heading br {
        display: block
    }
}

.hero.hero--video .hero__button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .hero.hero--video .hero__button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .hero.hero--video .hero__button.hover,
    .hero.hero--video .hero__button:hover:not(:disabled),
    .hover .hero.hero--video .hero__button {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .hero.hero--video .hero__button.hover .icon-arrow-up-right,
    .hero.hero--video .hero__button:hover:not(:disabled) .icon-arrow-up-right,
    .hover .hero.hero--video .hero__button .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .hero.hero--video .hero__button.hover .icon-chevron .chevron,
    .hero.hero--video .hero__button:hover:not(:disabled) .icon-chevron .chevron,
    .hover .hero.hero--video .hero__button .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.hero.hero--video .hero__button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.hero.hero--video .hero__button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.hero.hero--video .hero__button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

[data-theme=light] .hero.hero--video .hero__button {
    background-color: var(--white);
    color: var(--matt-black)
}

[data-theme=light] .hero.hero--video .hero__button .arrow {
    color: var(--white)
}

.hero.hero--video .hero__button {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    color: var(--matt-black)
}

.hero.hero--video .hero__button .icon .arrow {
    color: var(--white)
}

[data-theme=light] .hero.hero--video .hero__button {
    background-color: var(--matt-black);
    color: var(--white)
}

[data-theme=light] .hero.hero--video .hero__button .chevron {
    fill: var(--matt-black)
}

[data-theme=light] .hero.hero--video .hero__button .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .hero.hero--video .hero__button,
    [data-theme=light] .hero.hero--video .hero__button.hover,
    [data-theme=light] .hero.hero--video .hero__button:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .hero.hero--video .hero__button .arrow,
    [data-theme=light] .hero.hero--video .hero__button.hover .arrow,
    [data-theme=light] .hero.hero--video .hero__button:hover:not(:disabled) .arrow {
        color: var(--white)
    }

    .hover [data-theme=light] .hero.hero--video .hero__button .chevron,
    [data-theme=light] .hero.hero--video .hero__button.hover .chevron,
    [data-theme=light] .hero.hero--video .hero__button:hover:not(:disabled) .chevron {
        fill: var(--white)
    }
}

.hero.hero--video .hero__scroll-prompt {
    display: none
}

@media(min-width:768px) {
    .hero.hero--video .hero__scroll-prompt {
        align-self: end;
        display: block;
        grid-column: 2;
        grid-row: 3;
        justify-self: end
    }
}

.hero.hero--video .hero__video {
    background-color: var(--matt-black);
    bottom: 0;
    left: 0;
    overflow: hidden;
    position: absolute;
    right: 0;
    top: 0
}

.hero.hero--video .hero__video:after {
    background: linear-gradient(255deg, var(--transparent) 0, var(--black-alpha-60) 75%);
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1
}

.hero.hero--video .hero__video video {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.hero.hero--work {
    min-height: calc(100vh - var(--header-height));
    overflow: visible;
    position: relative;
    z-index: 2
}

@media(min-width:768px) {
    .hero.hero--work {
        min-height: unset
    }
}

.hero.hero--work .hero__container {
    display: grid;
    padding-bottom: max(2.5rem, min(5vw, 4.5rem));
    padding-top: max(2rem, min(11.1vw, 10rem))
}

.hero.hero--work .hero__heading {
    font-size: 2.875rem;
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.2
}

@media(min-width:375px) {
    .hero.hero--work .hero__heading {
        font-size: max(3.1875rem, min(6.11vw, 5.5rem))
    }
}

.hero.hero--work .hero__button {
    margin-top: max(2rem, min(2.75vw, 2.5rem))
}

.hero.hero--work .hero__squiggle {
    margin-left: 10%;
    margin-top: -10%;
    overflow: hidden
}

@media(min-width:768px) {
    .hero.hero--work .hero__squiggle {
        bottom: 0;
        margin-left: 0;
        margin-top: 0;
        position: absolute;
        right: 0;
        top: auto;
        width: 60vw
    }
}

.hero.hero--work .hero__squiggle svg {
    width: 120vw
}

@media(min-width:768px) {
    .hero.hero--work .hero__squiggle svg {
        width: 100%
    }
}

.hero.hero--project {
    padding-top: max(5rem, min(11.5vw, 10.5rem))
}

.hero.hero--project .hero__heading {
    font-size: 2.875rem;
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.2
}

@media(min-width:375px) {
    .hero.hero--project .hero__heading {
        font-size: max(3.1875rem, min(6.11vw, 5.5rem))
    }
}

.hero.hero--project .hero__content {
    padding-bottom: max(2.5rem, min(7.25vw, 6.5rem))
}

.hero.hero--project .hero__image {
    aspect-ratio: 1/1
}

@media(min-width:1024px) {
    .hero.hero--project .hero__image {
        aspect-ratio: 2/1
    }
}

.hero.hero--project .hero__image img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.hero.hero--text-media .hero__content {
    align-items: center;
    display: grid;
    grid-gap: 2.5rem;
    gap: 2.5rem;
    padding-bottom: 2.5rem;
    padding-top: max(2rem, min(4.5vw, 4rem))
}

@media(min-width:768px) {
    .hero.hero--text-media .hero__content {
        gap: 3rem;
        grid-column: 1;
        grid-row: 1;
        grid-template-columns: repeat(2, 1fr)
    }
}

.hero.hero--text-media .hero__media {
    aspect-ratio: 1/1;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    border-radius: .27481rem;
    overflow: hidden;
    position: relative;
    width: 100%
}

@media(min-width:768px) {
    .hero.hero--text-media .hero__media {
        border-radius: .5rem;
        grid-column: 2;
        grid-row: 1
    }
}

.hero.hero--text-media .hero__media img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.hero.hero--text-media .hero__play-video {
    align-items: center;
    background: var(--volt);
    border-radius: 50%;
    display: flex;
    flex-direction: column;
    height: max(4rem, min(5.5vw, 5rem));
    justify-content: center;
    transform: translate(-50%, -50%);
    width: max(4rem, min(5.5vw, 5rem))
}

.hero.hero--text-media .hero__play-video .icon {
    color: var(--matt-black);
    height: max(1.75rem, min(2.2vw, 2rem));
    width: max(1.75rem, min(2.2vw, 2rem))
}

.hero.hero--text-media .hero__overline {
    font-weight: 400;
    margin-bottom: .5rem
}

.hero.hero--text-media .hero__heading {
    line-height: 1.3
}

.hero.hero--text-media .hero__heading[data-style=small] {
    font-size: max(2.75rem, min(5vw, 4.5rem))
}

@media(min-width:768px) {
    .hero.hero--text-media .hero__heading {
        line-height: 1.2
    }
}

.hero.hero--text-media .hero__subheading {
    font-size: max(1.125rem, min(1.66vw, 1.5rem));
    font-weight: 300;
    line-height: 1.35;
    margin-top: max(.5rem, min(1.75vw, 1.5rem))
}

.hero.hero--text-media .hero__paragraph {
    font-size: max(1.125rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    line-height: 1.4
}

.hero.hero--text-media .hero__paragraph[data-style=small] {
    font-size: 1.125rem
}

.hero.hero--text-media .hero__button {
    background-color: unset;
    border: 1px solid var(--grey-60);
    color: var(--white);
    margin-top: max(1.5rem, min(2.25vw, 2rem));
    padding: .625rem 1rem
}

@media(hover:hover)and (pointer:fine) {

    .hero.hero--text-media .hero__button.hover,
    .hero.hero--text-media .hero__button:hover:not(:disabled),
    .hover .hero.hero--text-media .hero__button {
        border-color: var(--grey-80);
        color: var(--matt-black)
    }
}

[data-theme=light] .hero.hero--text-media .hero__button {
    border-color: var(--grey-30);
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .hero.hero--text-media .hero__button,
    [data-theme=light] .hero.hero--text-media .hero__button.hover,
    [data-theme=light] .hero.hero--text-media .hero__button:hover:not(:disabled) {
        border-color: var(--grey-10)
    }
}

.hero.hero--text-media .apply-button {
    margin-top: max(1.5rem, min(2.25vw, 2rem))
}

@media(min-width:768px) {
    .hero.hero--text-media .apply-button {
        display: none
    }
}

.hero.hero--form {
    overflow: hidden;
    padding-bottom: 5rem;
    padding-top: 5rem;
    position: relative;
    width: 100%
}

@media(min-width:1024px) {
    .hero.hero--form {
        padding-bottom: 7rem;
        padding-top: 4rem
    }
}

.hero.hero--form .hero__squiggle {
    height: auto;
    position: absolute;
    right: 0;
    top: 30%
}

@media(min-width:768px) {
    .hero.hero--form .hero__squiggle {
        height: auto;
        position: absolute;
        right: 0;
        top: 0;
        width: 100%
    }
}

.hero.hero--form .hero__squiggle .squiggle-wrapper {
    transform: rotate(19deg)translateX(43%);
    width: 250vw
}

@media(min-width:768px) {
    .hero.hero--form .hero__squiggle .squiggle-wrapper {
        transform: translateX(20%);
        width: 100vw
    }
}

.hero.hero--form .hero__layout {
    display: grid;
    grid-row-gap: 5rem;
    row-gap: 5rem
}

@media(min-width:1024px) {
    .hero.hero--form .hero__layout {
        column-gap: 1rem;
        grid-template-columns: 4fr 5fr;
        row-gap: 0
    }
}

@media(min-width:1200px) {
    .hero.hero--form .hero__layout {
        column-gap: max(2rem, min(4.4vw, 4rem));
        grid-template-columns: repeat(2, 1fr)
    }
}

@media(min-width:1024px) {
    .hero.hero--form .hero__content {
        padding-top: max(4rem, min(7.75vw, 7rem))
    }
}

.hero.hero--form .hero__heading {
    font-size: 3rem;
    letter-spacing: -.03em;
    line-height: 1.2
}

.hero.hero--form .hero__heading br {
    display: none
}

@media(min-width:520px) {
    .hero.hero--form .hero__heading br {
        display: block
    }
}

@media(min-width:375px) {
    .hero.hero--form .hero__heading {
        font-size: max(3rem, min(5vw, 4.5rem))
    }
}

.hero.hero--form .hero__email {
    align-items: center;
    display: flex;
    font-size: max(1.25rem, min(1.66vw, 1.5rem));
    font-weight: 300;
    gap: 1rem;
    line-height: 1.35;
    margin-top: max(2.75rem, min(6.66vw, 6rem));
    transition: all .2s ease-in-out;
    transition-property: color
}

@media(hover:hover)and (pointer:fine) {

    .hero.hero--form .hero__email.hover,
    .hero.hero--form .hero__email:hover:not(:disabled),
    .hover .hero.hero--form .hero__email {
        color: var(--grey-20)
    }

    .hero.hero--form .hero__email.hover .icon,
    .hero.hero--form .hero__email:hover:not(:disabled) .icon,
    .hover .hero.hero--form .hero__email .icon {
        transform: rotate(45deg)
    }

    [data-theme=light] .hero.hero--form .hero__email.hover,
    [data-theme=light] .hero.hero--form .hero__email:hover:not(:disabled),
    [data-theme=light] .hover .hero.hero--form .hero__email {
        color: var(--grey-70)
    }
}

.hero.hero--form .hero__email span {
    -webkit-text-decoration: underline;
    text-decoration: underline;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
    text-decoration-thickness: .05em;
    text-underline-offset: .1em
}

.hero.hero--form .hero__email .icon {
    color: var(--volt);
    height: 2.5rem;
    transition: all .2s ease-in-out;
    transition-property: transform;
    width: 2.5rem
}

.hero.hero--form .hero__email .icon .arrow {
    color: var(--matt-black)
}

.hero.hero--form .hero__form {
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background: var(--grey-90-alpha-95);
    border: 1px solid var(--grey-80);
    border-radius: .5rem;
    padding: 2.5rem max(1.5rem, min(2.75vw, 2.5rem))
}

.hero.hero--form .hero__form gravity-form {
    --check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwMCIgZD0ibTEyLjI1MSA0LjA4NC03IDctMy4yMDgtMy4yMDguODIyLS44MjMgMi4zODYgMi4zOCA2LjE3OC02LjE3MXoiLz48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi45NTkgNC4wODQgNS4yNSAxMS43OTEgMS4zMzYgNy44NzZsMS41My0xLjUzIDIuMzg1IDIuMzggNi4xNzgtNi4xNzF6TTUuMjUgOS40MzRsLTIuMzg1LTIuMzgtLjgyMy44MjIgMy4yMDggMy4yMDggNy03LS44MjItLjgyMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==)
}

.hero.hero--form .hero__form gravity-form .gform_required_legend {
    display: none
}

.hero.hero--form .hero__form gravity-form .gfield--type-email,
.hero.hero--form .hero__form gravity-form .gfield--type-text,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea {
    color: var(--chalk);
    position: relative
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-email,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-text,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-textarea {
    color: var(--matt-black)
}

.hero.hero--form .hero__form gravity-form .gfield--type-email input,
.hero.hero--form .hero__form gravity-form .gfield--type-text input,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea input {
    color: inherit
}

.hero.hero--form .hero__form gravity-form .gfield--type-email.has-content input,
.hero.hero--form .hero__form gravity-form .gfield--type-text.has-content input,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea.has-content input {
    border-bottom-color: var(--grey-20)
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-email.has-content input,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-text.has-content input,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-textarea.has-content input {
    border-bottom-color: var(--grey-60)
}

.hero.hero--form .hero__form gravity-form .gfield--type-email .gfield_label,
.hero.hero--form .hero__form gravity-form .gfield--type-text .gfield_label,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea .gfield_label {
    color: var(--grey-30);
    left: 0;
    line-height: 1.4;
    margin-bottom: 0;
    position: absolute;
    transform-origin: top left;
    transition: all .2s ease-in-out;
    transition-property: transform
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-email .gfield_label,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-text .gfield_label,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-textarea .gfield_label {
    color: var(--grey-50)
}

.hero.hero--form .hero__form gravity-form .gfield--type-email .gfield_label .gfield_required,
.hero.hero--form .hero__form gravity-form .gfield--type-text .gfield_label .gfield_required,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea .gfield_label .gfield_required {
    color: var(--red);
    font: inherit;
    opacity: 0;
    transition: all .2s ease-in-out;
    transition-property: opacity
}

.hero.hero--form .hero__form gravity-form .gfield--type-email .ginput_container input,
.hero.hero--form .hero__form gravity-form .gfield--type-email .ginput_container textarea,
.hero.hero--form .hero__form gravity-form .gfield--type-text .ginput_container input,
.hero.hero--form .hero__form gravity-form .gfield--type-text .ginput_container textarea,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea .ginput_container input,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea .ginput_container textarea {
    background: 0 0;
    border-bottom: 1px var(--grey-80);
    border-left-width: 0;
    border-radius: 0;
    border-right-width: 0;
    border-style: solid;
    border-top-width: 0;
    outline: none;
    padding: .75rem 0;
    transition: all .2s ease-in-out;
    transition-property: border-color, color
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-email .ginput_container input,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-email .ginput_container textarea,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-text .ginput_container input,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-text .ginput_container textarea,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-textarea .ginput_container input,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-textarea .ginput_container textarea {
    border-bottom-color: var(--grey-20)
}

.hero.hero--form .hero__form gravity-form .gfield--type-email .ginput_container input:focus,
.hero.hero--form .hero__form gravity-form .gfield--type-email .ginput_container input:focus-visible,
.hero.hero--form .hero__form gravity-form .gfield--type-email .ginput_container textarea:focus,
.hero.hero--form .hero__form gravity-form .gfield--type-email .ginput_container textarea:focus-visible,
.hero.hero--form .hero__form gravity-form .gfield--type-text .ginput_container input:focus,
.hero.hero--form .hero__form gravity-form .gfield--type-text .ginput_container input:focus-visible,
.hero.hero--form .hero__form gravity-form .gfield--type-text .ginput_container textarea:focus,
.hero.hero--form .hero__form gravity-form .gfield--type-text .ginput_container textarea:focus-visible,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea .ginput_container input:focus,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea .ginput_container input:focus-visible,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea .ginput_container textarea:focus,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea .ginput_container textarea:focus-visible {
    border-bottom-color: var(--grey-40);
    box-shadow: none
}

.hero.hero--form .hero__form gravity-form .gfield--type-email.gfield_error .ginput_container input,
.hero.hero--form .hero__form gravity-form .gfield--type-email.gfield_error .ginput_container textarea,
.hero.hero--form .hero__form gravity-form .gfield--type-text.gfield_error .ginput_container input,
.hero.hero--form .hero__form gravity-form .gfield--type-text.gfield_error .ginput_container textarea,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea.gfield_error .ginput_container input,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea.gfield_error .ginput_container textarea {
    border-bottom-color: var(--red)
}

.hero.hero--form .hero__form gravity-form .gfield--type-email.gfield_error .gfield_required,
.hero.hero--form .hero__form gravity-form .gfield--type-text.gfield_error .gfield_required,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea.gfield_error .gfield_required {
    opacity: 1
}

.hero.hero--form .hero__form gravity-form .gfield--type-email.has-content .ginput_container input,
.hero.hero--form .hero__form gravity-form .gfield--type-text.has-content .ginput_container input,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea.has-content .ginput_container input {
    border-bottom-color: var(--grey-20);
    color: var(--chalk)
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-email.has-content .ginput_container input,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-text.has-content .ginput_container input,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-textarea.has-content .ginput_container input {
    border-bottom-color: var(--grey-60);
    color: var(--matt-black)
}

.hero.hero--form .hero__form gravity-form .gfield--type-email.has-content .gfield_label,
.hero.hero--form .hero__form gravity-form .gfield--type-email.is-active .gfield_label,
.hero.hero--form .hero__form gravity-form .gfield--type-text.has-content .gfield_label,
.hero.hero--form .hero__form gravity-form .gfield--type-text.is-active .gfield_label {
    transform: translateY(-100%)scale(.6)
}

.hero.hero--form .hero__form gravity-form .gfield--type-email .gfield_label,
.hero.hero--form .hero__form gravity-form .gfield--type-email .ginput_container input,
.hero.hero--form .hero__form gravity-form .gfield--type-text .gfield_label,
.hero.hero--form .hero__form gravity-form .gfield--type-text .ginput_container input {
    font-size: max(1rem, min(1.4vw, 1.25rem));
    font-weight: 300
}

.hero.hero--form .hero__form gravity-form .gfield--type-email .ginput_container input,
.hero.hero--form .hero__form gravity-form .gfield--type-text .ginput_container input {
    box-shadow: none;
    height: 3rem
}

.hero.hero--form .hero__form gravity-form .gfield--type-email .gfield_label,
.hero.hero--form .hero__form gravity-form .gfield--type-text .gfield_label {
    color: var(--grey-30);
    top: 40%;
    transform: translateY(-50%)
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-email .gfield_label,
[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-text .gfield_label {
    color: var(--grey-50)
}

.hero.hero--form .hero__form gravity-form .gfield--type-textarea.has-content .gfield_label,
.hero.hero--form .hero__form gravity-form .gfield--type-textarea.is-active .gfield_label {
    transform: translateY(-50%)scale(.8)
}

.hero.hero--form .hero__form gravity-form .gfield--type-textarea .gfield_label {
    color: var(--grey-50);
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.35
}

.hero.hero--form .hero__form gravity-form .gfield--type-textarea textarea {
    box-shadow: none;
    color: var(--chalk);
    font-size: 1rem;
    font-weight: 300;
    height: 5rem;
    line-height: 1.3;
    max-height: 10rem
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield--type-textarea textarea {
    color: var(--matt-black)
}

.hero.hero--form .hero__form gravity-form .gfield--type-multi_choice.gfield_error .gfield-choice-input {
    border-color: var(--red)
}

.hero.hero--form .hero__form gravity-form .gfield--type-choice .gfield_checkbox {
    gap: .75rem
}

.hero.hero--form .hero__form gravity-form .gfield_label_before_complex {
    color: var(--grey-50);
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.3;
    margin-bottom: 1rem;
    text-transform: uppercase
}

.hero.hero--form .hero__form gravity-form .gchoice {
    align-items: center
}

.hero.hero--form .hero__form gravity-form .gchoice .gform-field-label {
    color: var(--white);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.35;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gchoice .gform-field-label {
    color: var(--matt-black)
}

.hero.hero--form .hero__form gravity-form .gfield-choice-input {
    background: 0 0;
    border: 1px solid var(--grey-80);
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    height: 1.25rem;
    transition: all .2s ease-in-out;
    transition-property: background-color, border-color;
    width: 1.25rem
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield-choice-input {
    border-color: var(--grey-20)
}

.hero.hero--form .hero__form gravity-form .gfield-choice-input:checked {
    background: var(--volt);
    border-color: var(--volt)
}

.hero.hero--form .hero__form gravity-form .gfield-choice-input:checked:before {
    content: var(--check)
}

.hero.hero--form .hero__form gravity-form .gfield-choice-input:focus,
.hero.hero--form .hero__form gravity-form .gfield-choice-input:focus-visible {
    border: 1px solid var(--volt);
    box-shadow: none
}

.hero.hero--form .hero__form gravity-form .gfield-choice-input:before {
    color: var(--matt-black)
}

.hero.hero--form .hero__form gravity-form .gfield_consent_label {
    color: var(--grey-50);
    cursor: pointer;
    font-size: max(.875rem, min(1.1vw, 1rem));
    font-weight: 300;
    line-height: 1.35;
    margin-left: .75rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gfield_consent_label {
    color: var(--grey-70)
}

.hero.hero--form .hero__form gravity-form .gfield_consent_label a {
    display: inline-block;
    text-decoration: underline;
    -webkit-text-decoration: underline solid currentColor;
    text-decoration: underline;
    -webkit-text-decoration: underline currentColor 1px;
    text-decoration: underline 1px;
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
    transition: all .2s ease-in-out;
    transition-property: color
}

@media(hover:hover)and (pointer:fine) {

    .hero.hero--form .hero__form gravity-form .gfield_consent_label a.hover,
    .hero.hero--form .hero__form gravity-form .gfield_consent_label a:hover:not(:disabled),
    .hover .hero.hero--form .hero__form gravity-form .gfield_consent_label a {
        color: var(--grey-20)
    }

    [data-theme=light] .hero.hero--form .hero__form gravity-form .gfield_consent_label a.hover,
    [data-theme=light] .hero.hero--form .hero__form gravity-form .gfield_consent_label a:hover:not(:disabled),
    [data-theme=light] .hover .hero.hero--form .hero__form gravity-form .gfield_consent_label a {
        color: var(--matt-black)
    }
}

.hero.hero--form .hero__form gravity-form .ginput_container_consent {
    align-items: center
}

.hero.hero--form .hero__form gravity-form .ginput_container_consent input[type=checkbox] {
    background: 0 0;
    border: 1px solid var(--grey-80);
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    height: 1.25rem;
    margin-top: 2px;
    transition: all .2s ease-in-out;
    transition-property: background-color, border-color;
    width: 1.25rem
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .ginput_container_consent input[type=checkbox] {
    border-color: var(--grey-20)
}

.hero.hero--form .hero__form gravity-form .ginput_container_consent input[type=checkbox]:checked {
    background: var(--volt);
    border-color: var(--volt)
}

.hero.hero--form .hero__form gravity-form .ginput_container_consent input[type=checkbox]:checked:before {
    content: var(--check)
}

.hero.hero--form .hero__form gravity-form .ginput_container_consent input[type=checkbox]:focus,
.hero.hero--form .hero__form gravity-form .ginput_container_consent input[type=checkbox]:focus-visible {
    border: 1px solid var(--volt);
    box-shadow: none
}

.hero.hero--form .hero__form gravity-form .ginput_container_consent input[type=checkbox]:before {
    color: var(--matt-black)
}

.hero.hero--form .hero__form gravity-form .gfield--type-consent.gfield_error .ginput_container_consent input[type=checkbox] {
    border-color: var(--red)
}

.hero.hero--form .hero__form gravity-form .gform_footer {
    margin-top: 2rem
}

.hero.hero--form .hero__form gravity-form .gform_footer .gform-loader {
    border-bottom-color: var(--matt-black);
    border-left-color: var(--matt-black);
    border-width: .15rem;
    height: 2rem;
    margin-left: -1px;
    position: absolute;
    right: max(.75rem, min(1.1vw, 1rem));
    transform: none;
    width: 2rem
}

.hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit] {
    --icon-arrow-up-right-dark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSIjMTUxNTE1IiByeD0iMTIiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik05LjI3MSA4LjcyN2g2LjU1MXY2LjU1bS0uNDU1LTYuMDk1LTYuNjQyIDYuNjQyIi8+PC9zdmc+);
    --icon-arrow-up-right-light: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSIjZmZmIiByeD0iMTIiLz48cGF0aCBzdHJva2U9IiMxNTE1MTUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik05LjI3MSA4LjcyN2g2LjU1MXY2LjU1bS0uNDU1LTYuMDk1LTYuNjQyIDYuNjQyIi8+PC9zdmc+);
    align-items: center;
    background: var(--white);
    border-radius: 6.25rem;
    box-shadow: none;
    color: var(--matt-black);
    display: flex;
    font-family: var(--sans-serif);
    font-size: .9375rem;
    font-style: normal;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    letter-spacing: .01875rem;
    line-height: 1;
    padding: max(.5rem, min(.7vw, .625rem))max(1rem, min(1.4vw, 1.25rem));
    position: relative;
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:focus {
    border: 0
}

@media(hover:hover)and (pointer:fine) {

    .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover,
    .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled),
    .hover .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit] {
        background-color: var(--volt)
    }

    .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover:after,
    .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled):after,
    .hover .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after {
        transform: rotate(45deg)
    }
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit] {
    background: var(--matt-black);
    color: var(--white)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit],
    [data-theme=light] .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover,
    [data-theme=light] .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after,
    [data-theme=light] .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover:after,
    [data-theme=light] .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled):after {
        content: var(--icon-arrow-up-right-dark)
    }
}

.hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after {
    content: var(--icon-arrow-up-right-dark);
    display: block;
    height: 1.5rem;
    transition: all .2s ease-in-out;
    transition-property: transform;
    width: 1.5rem
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after {
    content: var(--icon-arrow-up-right-light)
}

.hero.hero--form .hero__form gravity-form .gform_validation_errors {
    background: 0 0;
    border: 1px solid var(--red);
    border-radius: .375rem;
    box-shadow: none;
    color: var(--white);
    font-size: .875rem;
    font-weight: 300;
    line-height: 1.35;
    margin-top: 2rem;
    padding: 1rem
}

@media(min-width:375px) {
    .hero.hero--form .hero__form gravity-form .gform_validation_errors {
        font-size: 1rem
    }
}

[data-theme=light] .hero.hero--form .hero__form gravity-form .gform_validation_errors {
    color: var(--matt-black)
}

.hero.hero--form .hero__form gravity-form .gfield_validation_message:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

.hero.hero--form .hero__form gravity-form .gform_fields {
    row-gap: 1.5rem
}

@media(min-width:1024px) {
    .hero.hero--form .hero__form {
        padding-bottom: 2rem;
        padding-top: 2rem
    }
}

[data-theme=light] .hero.hero--form .hero__form {
    background: var(--white-alpha-90);
    border-color: var(--grey-20)
}

.hero.hero--journal {
    min-height: calc(100vh - var(--header-height));
    position: relative;
    z-index: 2
}

@media(min-width:768px) {
    .hero.hero--journal {
        min-height: unset
    }
}

.hero.hero--journal .hero__container {
    display: grid;
    padding-bottom: max(2.5rem, min(5vw, 4.5rem));
    padding-top: max(2rem, min(18.4vw, 16.5625rem))
}

.hero.hero--journal .hero__heading {
    font-size: 2.875rem;
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.2
}

@media(min-width:375px) {
    .hero.hero--journal .hero__heading {
        font-size: max(3.1875rem, min(6.11vw, 5.5rem))
    }
}

.hero.hero--journal .hero__button {
    margin-top: max(2rem, min(2.75vw, 2.5rem))
}

.hero.hero--journal .hero__squiggle {
    --background: var(--matt-black);
    margin-bottom: -40%;
    margin-left: -19%;
    margin-top: -75%;
    overflow: hidden;
    position: relative
}

[data-theme=light] .hero.hero--journal .hero__squiggle {
    --background: var(--chalk)
}

.hero.hero--journal .hero__squiggle:after {
    background-image: radial-gradient(circle, var(--background) 0, var(--transparent) 52%), linear-gradient(to bottom, transparent 0, var(--background) 66%);
    bottom: 0;
    content: "";
    display: block;
    height: 40vw;
    left: 0;
    position: absolute;
    right: 0;
    top: auto;
    width: 100%;
    z-index: 1
}

@media(min-width:768px) {
    .hero.hero--journal .hero__squiggle {
        margin-bottom: 0;
        margin-left: 0;
        margin-top: 0;
        position: absolute;
        right: 0;
        top: 0;
        transform: translate(-25%, -41%);
        width: 46vw
    }

    .hero.hero--journal .hero__squiggle:after {
        content: none
    }
}

.hero.hero--journal .hero__squiggle svg {
    width: 120vw
}

@media(min-width:768px) {
    .hero.hero--journal .hero__squiggle svg {
        width: 100%
    }
}

.hero.hero--article {
    padding-top: max(5rem, min(11.5vw, 10.5rem))
}

.hero.hero--article .hero__heading {
    font-size: 2.875rem;
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.2
}

@media(min-width:375px) {
    .hero.hero--article .hero__heading {
        font-size: max(3.1875rem, min(6.11vw, 5.5rem))
    }
}

.hero.hero--article .hero__image {
    aspect-ratio: 9/7;
    margin-top: 2.5rem
}

@media(min-width:768px) {
    .hero.hero--article .hero__image {
        aspect-ratio: 9/5
    }
}

.hero.hero--article .hero__image img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.hero.hero--careers {
    max-width: 100%;
    overflow: hidden;
    padding-top: max(5rem, min(12.78vw, 11.5rem))
}

.hero.hero--careers .hero__container {
    z-index: 2
}

@media(min-width:768px) {
    .hero.hero--careers .hero__layout {
        display: grid;
        grid-template-columns: repeat(2, 1fr)
    }
}

.hero.hero--careers .hero__text {
    color: var(--grey-30);
    font-size: max(1rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    line-height: 1.4;
    margin-top: 1rem;
    text-wrap: pretty
}

[data-theme=light] .hero.hero--careers .hero__text {
    color: var(--grey-70)
}

@media(min-width:768px) {
    .hero.hero--careers .hero__text {
        align-self: end;
        color: var(--white);
        grid-column: 2;
        grid-row: 1/span 2;
        justify-self: center;
        margin-top: 0;
        max-width: 31rem
    }

    [data-theme=light] .hero.hero--careers .hero__text {
        color: var(--matt-black)
    }
}

.hero.hero--careers .hero__gallery {
    display: grid;
    grid-auto-columns: -webkit-min-content;
    grid-auto-columns: min-content;
    perspective: 1e3px;
    position: relative;
    transform-style: preserve-3d;
    width: 100%
}

.hero.hero--careers .imageset {
    display: grid;
    grid-row: 1;
    padding-right: 1rem;
    transform-style: preserve-3d;
    grid-gap: 1rem;
    gap: 1rem;
    grid-auto-columns: 69vw 63vw 69vw 55.75vw;
    grid-auto-flow: column
}

@media(min-width:768px) {
    .hero.hero--careers .imageset {
        gap: 1.5rem;
        grid-auto-columns: 30.5vw 28vw 30.5vw 24.75vw;
        padding-right: 1.5rem
    }
}

.hero.hero--careers .imageset[data-index="1"] {
    grid-column: 1
}

.hero.hero--careers .imageset[data-index="2"] {
    grid-column: 2
}

.hero.hero--careers .imageset[data-index="3"] {
    grid-column: 3
}

.hero.hero--careers .hero__gallery-image {
    align-self: center;
    border-radius: .25rem;
    grid-row: 1;
    height: auto;
    overflow: hidden;
    width: 100%
}

.hero.hero--careers .hero__gallery-image:first-child {
    grid-column: 1
}

.hero.hero--careers .hero__gallery-image:nth-child(2) {
    grid-column: 2
}

.hero.hero--careers .hero__gallery-image:nth-child(3) {
    grid-column: 3
}

.hero.hero--careers .hero__gallery-image:nth-child(4) {
    grid-column: 4
}

.hero.hero--careers .hero__gallery-image:nth-child(5) {
    grid-column: 5
}

.hero.hero--careers .hero__gallery-image:nth-child(6) {
    grid-column: 6
}

.hero.hero--careers .hero__gallery-image:nth-child(7) {
    grid-column: 7
}

.hero.hero--careers .hero__gallery-image:nth-child(8) {
    grid-column: 8
}

.hero.hero--careers .hero__gallery-image:nth-child(9) {
    grid-column: 9
}

.hero.hero--careers .hero__gallery-image:nth-child(10) {
    grid-column: 10
}

.hero.hero--careers .hero__gallery-image:nth-child(11) {
    grid-column: 11
}

.hero.hero--careers .hero__gallery-image:nth-child(12) {
    grid-column: 12
}

.hero.hero--careers .hero__gallery-image[data-zindex=over] {
    transform: translateZ(1px)
}

.hero.hero--careers .hero__gallery-image .image-wrapper {
    position: relative;
    width: 100%
}

.hero.hero--careers .hero__gallery-image .image-wrapper:before {
    content: "";
    display: block;
    padding-top: 100%
}

.hero.hero--careers .hero__gallery-image .image-wrapper .media-wrapper img,
.hero.hero--careers .hero__gallery-image .image-wrapper video,
.hero.hero--careers .hero__gallery-image .image-wrapper>img {
    bottom: 0;
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
}

.hero.hero--careers .hero__gallery-image[data-ratio="7:5"] .image-wrapper {
    position: relative;
    width: 100%
}

.hero.hero--careers .hero__gallery-image[data-ratio="7:5"] .image-wrapper:before {
    content: "";
    display: block;
    padding-top: 71.4285714286%
}

.hero.hero--careers .hero__gallery-image[data-ratio="7:5"] .image-wrapper .media-wrapper img,
.hero.hero--careers .hero__gallery-image[data-ratio="7:5"] .image-wrapper video,
.hero.hero--careers .hero__gallery-image[data-ratio="7:5"] .image-wrapper>img {
    bottom: 0;
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
}

.hero.hero--careers .hero__squiggle {
    grid-column: 1/span 4;
    grid-row: 1
}

.hero.hero--careers .hero__squiggle .squiggle-4-group {
    fill: url(#sq4-snaiohks)
}

[data-theme=light] .hero.hero--careers .hero__squiggle .squiggle-4-group {
    fill: url(#sq4-mopmlljl)
}

.hero.hero--careers .hero__squiggle svg {
    height: auto;
    margin-left: -52vw;
    transform: rotate(340deg);
    width: 239vw
}

@media(min-width:768px) {
    .hero.hero--careers .hero__squiggle svg {
        margin-left: -14vw;
        margin-top: -5rem;
        transform: rotate(334deg);
        width: 127vw
    }
}

.hero {
    will-change: transform
}

.hero__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    position: relative;
    z-index: 1
}

.hero__overline {
    align-items: center;
    color: var(--grey-50);
    display: flex;
    font-size: max(.875rem, min(1.1vw, 1rem));
    font-weight: 400;
    gap: .625rem;
    letter-spacing: .04em;
    line-height: 1.3;
    margin-bottom: 1rem;
    text-transform: uppercase
}

[data-theme=light] .hero__overline {
    color: var(--grey-70)
}

.hero__overline:before {
    background-color: var(--volt);
    border-radius: 50%;
    content: "";
    display: block;
    height: .375rem;
    width: .375rem
}

[data-theme=light] .hero__overline:before {
    background-color: var(--putty)
}

.hero__heading {
    font-size: 2.875rem;
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.2
}

@media(min-width:375px) {
    .hero__heading {
        font-size: max(3.1875rem, min(6.11vw, 5.5rem))
    }
}

.hero__paragraph {
    color: var(--grey-30);
    font-size: max(1rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    line-height: 1.4;
    margin-top: max(.75rem, min(1.6vw, 1.5rem));
    max-width: max(28rem, min(39vw, 36rem));
    text-wrap: pretty
}

[data-theme=light] .hero__paragraph {
    color: var(--grey-70)
}

.hero__button {
    align-items: center;
    align-self: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .hero__button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .hero__button.hover,
    .hero__button:hover:not(:disabled),
    .hover .hero__button {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .hero__button.hover .icon-arrow-up-right,
    .hero__button:hover:not(:disabled) .icon-arrow-up-right,
    .hover .hero__button .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .hero__button.hover .icon-chevron .chevron,
    .hero__button:hover:not(:disabled) .icon-chevron .chevron,
    .hover .hero__button .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.hero__button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.hero__button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.hero__button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.hero__button {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    color: var(--matt-black)
}

.hero__button .icon .arrow {
    color: var(--white)
}

[data-theme=light] .hero__button {
    background-color: var(--matt-black);
    color: var(--white)
}

[data-theme=light] .hero__button .chevron {
    fill: var(--matt-black)
}

[data-theme=light] .hero__button .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .hero__button,
    [data-theme=light] .hero__button.hover,
    [data-theme=light] .hero__button:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .hero__button .arrow,
    [data-theme=light] .hero__button.hover .arrow,
    [data-theme=light] .hero__button:hover:not(:disabled) .arrow {
        color: var(--white)
    }

    .hover [data-theme=light] .hero__button .chevron,
    [data-theme=light] .hero__button.hover .chevron,
    [data-theme=light] .hero__button:hover:not(:disabled) .chevron {
        fill: var(--white)
    }
}

.hero__meta {
    align-items: center;
    display: flex;
    flex-wrap: wrap;
    gap: .625rem;
    margin-top: 2rem
}

.hero__categories {
    display: flex;
    flex-wrap: wrap;
    gap: .5rem
}

.hero__category {
    border: 1px solid var(--grey-70);
    border-radius: 6.25rem;
    color: var(--grey-50);
    flex: none;
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.3;
    padding: .375rem .75rem;
    text-transform: uppercase;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

[data-theme=light] .hero__category {
    border-color: var(--grey-30)
}

.hero__label {
    color: var(--grey-50);
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .01625rem;
    line-height: 1.3;
    text-transform: uppercase
}

.hero__label[data-style=light] {
    color: var(--grey-30)
}

[data-theme=light] .hero__label[data-style=light] {
    color: var(--grey-70)
}

.hero__byline {
    grid-column-gap: 2rem;
    column-gap: 2rem;
    display: grid;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr;
    margin-bottom: 2.5rem;
    margin-top: 2.5rem;
    grid-row-gap: 2rem;
    row-gap: 2rem
}

@media(min-width:375px) {
    .hero__byline {
        column-gap: 3rem
    }
}

@media(min-width:520px) {
    .hero__byline {
        grid-template-columns: -webkit-max-content 1fr -webkit-max-content;
        grid-template-columns: max-content 1fr max-content
    }
}

.hero__byline .label {
    color: var(--grey-60);
    font-size: .875rem;
    font-weight: 400;
    letter-spacing: .04em;
    line-height: 1.3;
    margin-bottom: .25rem;
    text-transform: uppercase
}

@media(min-width:375px) {
    .hero__byline .label {
        font-size: 1rem;
        margin-bottom: .375rem
    }
}

[data-theme=light] .hero__byline .label {
    color: var(--grey-40)
}

.hero__byline .author,
.hero__byline .date {
    color: var(--white);
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.42
}

@media(min-width:375px) {

    .hero__byline .author,
    .hero__byline .date {
        font-size: 1.125rem
    }
}

[data-theme=light] .hero__byline .author,
[data-theme=light] .hero__byline .date {
    color: var(--matt-black)
}

.hero__share {
    column-gap: .75rem;
    display: flex;
    grid-column: 1/-1
}

@media(min-width:520px) {
    .hero__share {
        align-self: end;
        grid-column: 3
    }
}

.hero__share a {
    transition: all .2s ease-in-out;
    transition-property: transform
}

@media(hover:hover)and (pointer:fine) {

    .hero__share a.hover,
    .hero__share a:hover:not(:disabled),
    .hover .hero__share a {
        transform: scale(1.1)
    }
}

.hero__share .icon {
    flex: none;
    height: 1.5rem;
    width: 1.5rem
}

.hero hr {
    display: none
}

@media(min-width:768px) {
    .hero hr {
        background-color: var(--grey-80);
        display: block;
        height: 1px
    }

    [data-theme=light] .hero hr {
        background-color: var(--grey-20)
    }
}

#approach,
[data-page-content] {
    background-color: var(--matt-black);
    position: relative;
    z-index: 2
}

[data-theme=light] #approach,
[data-theme=light] [data-page-content] {
    background-color: var(--chalk)
}


.about_section .text-block__large-text {
    color: #24282a;
    font-size: 2.5rem;
    font-weight: 400;
    line-height: 1.4;
    font-family: "Geist";
}

@media(min-width:768px) {

    #approach>.text-block:first-child,
    [data-page-content]>.text-block:first-child {
        margin-top: 0
    }
}

#approach>.text-block:first-child .text-block__layout,
[data-page-content]>.text-block:first-child .text-block__layout {
    border-top: 1px solid var(--grey-80);
    margin-top: 0;
    padding-top: max(4rem, min(7vw, 7.5rem))
}

[data-theme=light] #approach>.text-block:first-child .text-block__layout,
[data-theme=light] [data-page-content]>.text-block:first-child .text-block__layout {
    border-top-color: var(--grey-20)
}

.hero__mask {
    background-color: var(--matt-black);
    bottom: -2px;
    left: -2px;
    position: absolute;
    right: -2px;
    top: -2px;
    z-index: 1000
}

[data-theme=light] .hero__mask {
    background-color: var(--chalk)
}

.hero[data-module=media-hero] [data-fade-in] {
    opacity: 0
}

.image-carousel custom-cursor {
    display: none
}

@media(hover:hover) {
    .image-carousel custom-cursor {
        display: block
    }

    .image-carousel custom-cursor button {
        align-items: center;
        background-color: var(--volt);
        border-radius: 50%;
        display: flex;
        height: max(3rem, min(5.5vw, 5rem));
        justify-content: center;
        transform: translate(-50%, -50%);
        width: max(3rem, min(5.5vw, 5rem));
        z-index: 1
    }

    .image-carousel custom-cursor button .icon {
        color: var(--matt-black);
        height: max(1.5rem, min(2.2vw, 2rem));
        width: max(1.5rem, min(2.2vw, 2rem))
    }
}

.image-carousel .swiper {
    position: relative
}

.image-carousel .swiper,
.image-carousel .swiper-wrapper {
    overflow: visible
}

.image-carousel .swiper-slide {
    aspect-ratio: 1/1;
    border-radius: .375rem;
    height: unset;
    max-height: 80vh;
    max-width: calc(100vw - 52px);
    overflow: hidden
}

@media(min-width:768px) {
    .image-carousel .swiper-slide {
        max-width: 75vw
    }
}

.image-carousel .swiper-slide img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.image-carousel__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.image-grid {
    margin-bottom: max(2.5rem, min(10vw, 9rem));
    margin-top: max(2.5rem, min(10vw, 9rem))
}

.image-grid__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.image-grid__layout {
    display: grid;
    grid-gap: 1rem;
    gap: 1rem;
    width: 100%
}

.image-grid__image {
    border-radius: .375rem;
    height: 100%;
    overflow: hidden;
    width: 100%
}

.image-grid__image img,
.image-grid__image video {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.image-grid__caption {
    border-left: 1px solid var(--grey-80);
    font-size: max(.875rem, min(1.1vw, 1rem));
    font-weight: 300;
    line-height: 1.35;
    margin-bottom: max(.5rem, min(.5vw, .75rem));
    margin-top: max(.5rem, min(.5vw, .75rem));
    padding-left: .5rem;
    word-break: break-all
}

[data-theme=light] .image-grid__caption {
    border-color: var(--grey-20)
}

@media(min-width:520px) {
    .image-grid--two-image .image-grid__layout {
        grid-template-columns: repeat(2, 50%)
    }
}

.image-grid--two-image [data-ratio="1:1"] .image-grid__image {
    position: relative;
    width: 100%
}

.image-grid--two-image [data-ratio="1:1"] .image-grid__image:before {
    content: "";
    display: block;
    padding-top: 100%
}

.image-grid--two-image [data-ratio="1:1"] .image-grid__image .media-wrapper img,
.image-grid--two-image [data-ratio="1:1"] .image-grid__image video,
.image-grid--two-image [data-ratio="1:1"] .image-grid__image>img {
    bottom: 0;
    height: 100%;
    left: 0;
    object-fit: contain;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
}

.image-grid--two-image [data-ratio="3:2"] .image-grid__image {
    position: relative;
    width: 100%
}

.image-grid--two-image [data-ratio="3:2"] .image-grid__image:before {
    content: "";
    display: block;
    padding-top: 66.6666666667%
}

.image-grid--two-image [data-ratio="3:2"] .image-grid__image .media-wrapper img,
.image-grid--two-image [data-ratio="3:2"] .image-grid__image video,
.image-grid--two-image [data-ratio="3:2"] .image-grid__image>img {
    bottom: 0;
    height: 100%;
    left: 0;
    object-fit: contain;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
}

.image-grid--two-image [data-ratio="4:3"] .image-grid__image {
    position: relative;
    width: 100%
}

.image-grid--two-image [data-ratio="4:3"] .image-grid__image:before {
    content: "";
    display: block;
    padding-top: 75%
}

.image-grid--two-image [data-ratio="4:3"] .image-grid__image .media-wrapper img,
.image-grid--two-image [data-ratio="4:3"] .image-grid__image video,
.image-grid--two-image [data-ratio="4:3"] .image-grid__image>img {
    bottom: 0;
    height: 100%;
    left: 0;
    object-fit: contain;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
}

.image-grid--two-image [data-ratio="4:5"] .image-grid__image {
    position: relative;
    width: 100%
}

.image-grid--two-image [data-ratio="4:5"] .image-grid__image:before {
    content: "";
    display: block;
    padding-top: 125%
}

.image-grid--two-image [data-ratio="4:5"] .image-grid__image .media-wrapper img,
.image-grid--two-image [data-ratio="4:5"] .image-grid__image video,
.image-grid--two-image [data-ratio="4:5"] .image-grid__image>img {
    bottom: 0;
    height: 100%;
    left: 0;
    object-fit: contain;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
}

.image-grid--two-image [data-ratio="16:9"] .image-grid__image {
    position: relative;
    width: 100%
}

.image-grid--two-image [data-ratio="16:9"] .image-grid__image:before {
    content: "";
    display: block;
    padding-top: 56.25%
}

.image-grid--two-image [data-ratio="16:9"] .image-grid__image .media-wrapper img,
.image-grid--two-image [data-ratio="16:9"] .image-grid__image video,
.image-grid--two-image [data-ratio="16:9"] .image-grid__image>img {
    bottom: 0;
    height: 100%;
    left: 0;
    object-fit: contain;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
}

@media(min-width:520px) {
    .image-grid--two-image .image-grid__image {
        grid-row: 1
    }
}

.image-grid--two-image [data-fit=cover] .image-grid__image {
    height: unset
}

.image-grid--two-image [data-fit=cover] .image-grid__image img,
.image-grid--two-image [data-fit=cover] .image-grid__image video {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.image-grid--two-image [data-fit=contain] .image-grid__image img,
.image-grid--two-image [data-fit=contain] .image-grid__image video {
    height: 100%;
    object-fit: contain;
    width: 100%
}

@media(min-width:520px) {
    .image-grid--four-image .image-grid__layout {
        grid-template-areas: "i1 i2" "i1 i4" "i3 i4";
        grid-template-columns: repeat(2, 1fr);
        grid-template-rows: repeat(3, auto)
    }

    .image-grid--four-image .image-grid__layout[data-reverse] {
        grid-template-areas: "i2 i1" "i4 i1" "i4 i3"
    }
}

.image-grid--four-image .image-grid__image:first-child,
.image-grid--four-image .image-grid__image:nth-child(4) {
    aspect-ratio: 1/1
}

.image-grid--four-image .image-grid__image:nth-child(2),
.image-grid--four-image .image-grid__image:nth-child(3) {
    aspect-ratio: 8/5
}

@media(min-width:520px) {
    .image-grid--four-image .image-grid__image:first-child {
        grid-area: i1
    }

    .image-grid--four-image .image-grid__image:nth-child(2) {
        grid-area: i2
    }

    .image-grid--four-image .image-grid__image:nth-child(3) {
        grid-area: i3
    }

    .image-grid--four-image .image-grid__image:nth-child(4) {
        grid-area: i4
    }
}

.image-grid--five-image .image-grid__layout {
    grid-template-columns: 1fr;
    grid-template-rows: repeat(5, auto)
}

@media(min-width:520px) {
    .image-grid--five-image .image-grid__layout {
        grid-template-areas: "i1 i2 i3" "i1 i4 i5";
        grid-template-columns: 2fr 1fr 1fr;
        grid-template-rows: repeat(2, 1fr)
    }

    .image-grid--five-image .image-grid__layout[data-reverse] {
        grid-template-areas: "i3 i2 i1" "i5 i4 i1";
        grid-template-columns: 1fr 1fr 2fr
    }
}

.image-grid--five-image .image-grid__image:not(:first-child) {
    aspect-ratio: 1/1
}

@media(min-width:520px) {
    .image-grid--five-image .image-grid__image:first-child {
        grid-area: i1
    }

    .image-grid--five-image .image-grid__image:nth-child(2) {
        grid-area: i2
    }

    .image-grid--five-image .image-grid__image:nth-child(3) {
        grid-area: i3
    }

    .image-grid--five-image .image-grid__image:nth-child(4) {
        grid-area: i4
    }

    .image-grid--five-image .image-grid__image:nth-child(5) {
        grid-area: i5
    }
}

.inline-image {
    margin-bottom: max(2.5rem, min(4.5vw, 4rem));
    margin-top: max(2.5rem, min(5.5vw, 5rem))
}

.inline-image__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.inline-image__image {
    border-radius: .375rem;
    max-height: 80vh;
    overflow: hidden;
    position: relative;
    width: 100%
}

.inline-image__image:before {
    content: "";
    display: block;
    padding-top: 55.5555555556%
}

.inline-image__image .media-wrapper img,
.inline-image__image video,
.inline-image__image>img {
    bottom: 0;
    height: 100%;
    left: 0;
    object-fit: cover;
    position: absolute;
    right: 0;
    top: 0;
    width: 100%
}

.inline-image__caption {
    border-left: 1px solid var(--grey-80);
    font-size: max(.875rem, min(1.1vw, 1rem));
    font-weight: 300;
    line-height: 1.35;
    margin-bottom: .5rem;
    margin-top: .5rem;
    padding-left: .5rem
}

[data-theme=light] .inline-image__caption {
    border-color: var(--grey-20)
}

.journal-articles {
    margin-bottom: max(5rem, min(8.8vw, 8rem));
    overflow: hidden;
    position: relative
}

.journal-articles__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.journal-articles__header {
    border-top: 1px solid var(--grey-80);
    margin-bottom: 2.5rem;
    padding-top: max(2.5rem, min(3.333vw, 3rem))
}

[data-theme=light] .journal-articles__header {
    border-color: var(--grey-20)
}

@media(min-width:1024px) {
    .journal-articles__header {
        align-items: baseline;
        grid-column-gap: 3rem;
        column-gap: 3rem;
        display: grid;
        grid-template-columns: -webkit-max-content auto;
        grid-template-columns: max-content auto
    }
}

.journal-articles__heading {
    font-size: 2.5rem;
    font-weight: 200;
    letter-spacing: -.02em;
    line-height: 1.3;
    margin-bottom: 1.5rem
}

@media(min-width:1024px) {
    .journal-articles__heading {
        margin-bottom: 0
    }
}

.journal-articles__filters {
    justify-self: end;
    opacity: 0;
    overflow: visible
}

@media(min-width:1024px) {
    .journal-articles__filters.swiper {
        margin-right: -.375rem
    }
}

.journal-articles__filters .facetwp-facet-categories {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    margin-bottom: 0
}

.journal-articles__filters .facetwp-facet-categories.swiper-wrapper {
    flex-wrap: nowrap;
    gap: 0
}

@media(min-width:1200px) {
    .journal-articles__filters .facetwp-radio.swiper-slide {
        margin-right: 0
    }
}

.journal-articles__grid {
    display: grid;
    grid-gap: max(2.5rem, min(5vw, 4.5rem));
    gap: max(2.5rem, min(5vw, 4.5rem))
}

.journal-articles__grid-row {
    display: grid;
    grid-gap: 2.5rem;
    gap: 2.5rem
}

@media(min-width:768px) {
    .journal-articles__grid-row {
        column-gap: 1rem;
        grid-template-columns: 3fr 5fr
    }

    .journal-articles__grid-row:nth-of-type(2n) {
        grid-template-columns: 5fr 3fr
    }
}

.journal-insights {
    margin-top: max(2.5rem, min(6.11vw, 5.5rem));
    padding-bottom: max(5rem, min(8.8vw, 8rem));
    position: relative
}

.journal-insights__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.journal-insights__heading {
    font-size: 2.5rem;
    font-weight: 200;
    letter-spacing: -.02em;
    line-height: 1.3;
    margin-bottom: 2rem
}

.journal-insights__grid {
    border-top: 1px solid var(--grey-80)
}

[data-theme=light] .journal-insights__grid {
    border-color: var(--grey-20)
}

.journal-insights__grid-item {
    border-bottom: 1px solid var(--grey-80);
    padding-bottom: 2rem;
    padding-top: 2rem
}

[data-theme=light] .journal-insights__grid-item {
    border-color: var(--grey-20)
}

@media(min-width:1024px) {
    .journal-insights__grid-item {
        display: grid;
        grid-template-areas: "heading . description . button" "date . description . button";
        grid-template-columns: 40% 5% 35% 5% 15%;
        grid-template-rows: -webkit-min-content -webkit-min-content;
        grid-template-rows: min-content min-content
    }

    .journal-insights__grid-item .heading {
        grid-area: heading
    }

    .journal-insights__grid-item .date {
        grid-area: date
    }

    .journal-insights__grid-item .description {
        grid-area: description
    }

    .journal-insights__grid-item .button {
        grid-area: button
    }
}

.journal-insights__grid-item .heading {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.3;
    margin-bottom: .5rem
}

.journal-insights__grid-item .date {
    color: var(--grey-50);
    display: block;
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .04em;
    line-height: 1.3;
    margin-bottom: 1.5rem
}

.journal-insights__grid-item .description {
    color: var(--grey-30);
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.35;
    max-width: 60ch
}

[data-theme=light] .journal-insights__grid-item .description {
    color: var(--grey-60)
}

.journal-insights__grid-item .button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    margin-top: 1.5rem;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .journal-insights__grid-item .button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .hover .journal-insights__grid-item .button,
    .journal-insights__grid-item .button.hover,
    .journal-insights__grid-item .button:hover:not(:disabled) {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .hover .journal-insights__grid-item .button .icon-arrow-up-right,
    .journal-insights__grid-item .button.hover .icon-arrow-up-right,
    .journal-insights__grid-item .button:hover:not(:disabled) .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .hover .journal-insights__grid-item .button .icon-chevron .chevron,
    .journal-insights__grid-item .button.hover .icon-chevron .chevron,
    .journal-insights__grid-item .button:hover:not(:disabled) .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.journal-insights__grid-item .button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.journal-insights__grid-item .button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.journal-insights__grid-item .button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.journal-insights__grid-item .button {
    background: 0 0;
    border-color: var(--grey-80)
}

[data-theme=light] .journal-insights__grid-item .button {
    border-color: var(--grey-30)
}

@media(min-width:1024px) {
    .journal-insights__grid-item .button {
        align-self: start;
        justify-self: end;
        margin-top: 0
    }
}

.journal-insights__squiggle {
    display: none
}

@media(min-width:768px) {
    .journal-insights__squiggle {
        bottom: 110%;
        display: block;
        height: auto;
        position: absolute;
        right: 0;
        width: 65vw;
        z-index: -1
    }

    .journal-insights__squiggle svg {
        transform: translateX(44%)scaleY(-1)rotate(-90deg)
    }
}

.legal-content__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding: max(2.5rem, min(7vw, 6.5rem))clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)max(5rem, min(14vw, 11.75rem))
}

.legal-content__text {
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42;
    margin-left: auto;
    margin-right: auto;
    max-width: 50rem
}

.legal-content__text .intro {
    font-size: max(1.5rem, min(1.94vw, 1.75rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3
}

[data-theme=light] .legal-content__text .intro {
    color: var(--matt-black)
}

.legal-content__text h2 {
    font-size: max(2.5rem, min(3.05vw, 2.75rem));
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 1.3
}

.legal-content__text h2+* {
    margin-top: 1.5rem
}

.legal-content__text h3 {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.35
}

.legal-content__text h3+* {
    margin-top: 1rem
}

.legal-content__text h4 {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.35
}

.legal-content__text h4+* {
    margin-top: .25rem
}

.legal-content__text *+h2 {
    margin-top: max(2rem, min(2.75vw, 2.5rem))
}

.legal-content__text *+h3 {
    margin-top: max(2rem, min(3.33vw, 3rem))
}

.legal-content__text *+h4 {
    margin-top: max(1.5rem, min(2.22vw, 2rem))
}

.legal-content__text li,
.legal-content__text p {
    text-wrap: pretty
}

@media(min-width:768px) {

    .legal-content__text li,
    .legal-content__text p {
        line-height: 1.59
    }
}

.legal-content__text li,
.legal-content__text p {
    color: var(--grey-40);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42
}

[data-theme=light] .legal-content__text li,
[data-theme=light] .legal-content__text p {
    color: var(--grey-60)
}

.legal-content__text li {
    padding-left: .5em
}

.legal-content__text *+ol,
.legal-content__text *+ul {
    margin-top: 1em
}

.legal-content__text li+li {
    margin-top: .35em
}

.legal-content__text p+p {
    margin-top: max(.75rem, min(1.1vw, 1rem))
}

.legal-content__text strong {
    font-weight: 500
}

.legal-content__text a {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% .0625rem;
    border-bottom: 1px solid transparent;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: all .2s ease-in-out;
    transition-property: color;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1)
}

[data-theme=light] .legal-content__text a {
    background-image: linear-gradient(var(--putty), var(--putty))
}

@media(hover:hover)and (pointer:fine) {

    .hover .legal-content__text a,
    .legal-content__text a.hover,
    .legal-content__text a:hover:not(:disabled) {
        color: var(--grey-20)
    }

    [data-theme=light] .hover .legal-content__text a,
    [data-theme=light] .legal-content__text a.hover,
    [data-theme=light] .legal-content__text a:hover:not(:disabled) {
        color: var(--grey-80)
    }
}

@media(min-width:768px) {
    .legal-content__text blockquote {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
}

.legal-content__text blockquote p {
    font-family: var(--serif);
    font-size: 1.75rem;
    font-weight: 200;
    letter-spacing: -.03em;
    line-height: 1.3
}

.legal-content__text blockquote+* {
    margin-top: 3.75rem
}

.legal-content__text *+blockquote {
    margin-top: 4.25rem
}

.legal-content__text ul {
    list-style: disc;
    list-style-position: outside;
    padding-left: 2em
}

.legal-content__text h2 {
    font-size: max(1.25rem, min(1.66vw, 1.5rem));
    font-weight: 300;
    line-height: 1.35
}

.legal-content__text h2+* {
    margin-top: max(.75rem, min(1.1vw, 1rem))
}

.legal-content__text *+h2 {
    margin-top: max(2rem, min(3.33vw, 3rem))
}

.legal-header {
    position: relative
}

.legal-header__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    position: relative;
    z-index: 1
}

.legal-header__content {
    border-bottom: 1px solid var(--grey-80);
    padding-bottom: max(1.75rem, min(5.5vw, 5rem))
}

@media(min-width:768px) {
    .legal-header__content {
        padding-top: max(5rem, min(16vw, 15rem))
    }
}

[data-theme=light] .legal-header__content {
    border-color: var(--grey-20)
}

.legal-header__heading {
    font-size: 3rem;
    letter-spacing: -.03em;
    line-height: 1.2
}

.legal-header__heading br {
    display: none
}

@media(min-width:520px) {
    .legal-header__heading br {
        display: block
    }
}

@media(min-width:375px) {
    .legal-header__heading {
        font-size: max(3rem, min(5vw, 4.5rem))
    }
}

@media(min-width:768px) {
    .legal-header__heading {
        max-width: 58vw
    }
}

.legal-header__text {
    color: var(--grey-50);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42;
    margin-top: 1rem
}

@media(min-width:768px) {
    .legal-header__text {
        margin-top: 2rem;
        max-width: 58vw
    }
}

[data-theme=light] .legal-header__text {
    color: var(--grey-70)
}

.legal-header__squiggle {
    height: auto;
    margin-top: -10%;
    overflow: visible;
    width: 140vw
}

@media(min-width:768px) {
    .legal-header__squiggle {
        bottom: 0;
        height: 100%;
        left: auto;
        margin-top: 0;
        position: absolute;
        right: 0;
        top: 0;
        width: 49vw;
        width: 55vw
    }
}

.legal-header__squiggle svg {
    display: block;
    width: auto
}

@media(min-width:768px) {
    .legal-header__squiggle svg {
        height: max(90%, min(50vw, 150%));
        transform: translateY(-12.5%)
    }
}

.logo-list {
    margin-bottom: max(3rem, min(5.5vw, 5rem));
    margin-top: max(3rem, min(8.33vw, 7.5rem));
    max-width: 100%;
    overflow: hidden;
    position: relative
}

.logo-list__row {
    display: flex;
    gap: 1.5rem;
    will-change: transform
}

.logo-list__row+.logo-list__row {
    margin-top: 1rem
}

.logo-list__set {
    display: flex;
    flex: none;
    gap: 1.5rem
}

.logo-list__item {
    background-color: var(--grey-90);
    border: 1px solid var(--grey-80);
    border-radius: .5rem;
    display: block;
    flex: none;
    /* padding: max(1rem, min(3.33vw, 3rem)); */
    padding: 15px 15px;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    --width: max(20.8rem, min(20vw, 18rem));
    height: max(9.7rem, min(45.5vw, 12.5rem));
    width: round(var(--width), 50px)
}

[data-theme=light] .logo-list__item {
    background-color: var(--white);
    border-color: var(--grey-20)
}

.logo-list__item img,
.logo-list__item svg {
    height: 100%;
    object-fit: contain;
    width: 100%
}

/* [data-theme=light] .logo-list__item img,
[data-theme=light] .logo-list__item svg {
    filter: invert(.8);
    filter: invert(.5);
} */

::-ms-backdrop {
    backdrop-filter: blur(16px);
    background-color: var(--black-alpha-50)
}

::backdrop {
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background-color: var(--black-alpha-50)
}

.modal {
    background-color: var(--matt-black);
    border: none;
    border-radius: .5rem .5rem 0 0;
    color: var(--white);
    max-width: unset;
    padding-bottom: 1.5rem;
    padding-left: 1.125rem;
    padding-right: 1.125rem;
    top: auto
}

@media(min-width:375px) {
    .modal {
        padding: max(1.5rem, min(6.667vw, 6rem))max(1.25rem, min(6.667vw, 6rem))
    }
}

[data-theme=light] .modal {
    background-color: var(--chalk);
    color: var(--matt-black)
}

@media(min-width:768px) {
    .modal {
        border-radius: .5rem;
        max-width: 86vw;
        top: 0
    }
}

.modal__close {
    background-color: var(--white);
    border-radius: 50%;
    color: var(--matt-black);
    height: max(2.5rem, min(3.33vw, 3rem));
    position: absolute;
    right: 1rem;
    top: 1rem;
    transition: all .2s ease;
    transition-property: transform;
    width: max(2.5rem, min(3.33vw, 3rem));
    z-index: 1
}

[data-theme=light] .modal__close {
    background-color: var(--matt-black);
    color: var(--white)
}

@media(min-width:375px) {
    .modal__close {
        right: max(1.125rem, min(1.667vw, 1.5rem));
        top: max(1.125rem, min(1.667vw, 1.5rem))
    }
}

@media(hover:hover)and (pointer:fine) {

    .hover .modal__close,
    .modal__close.hover,
    .modal__close:hover:not(:disabled) {
        transform: rotate(90deg)
    }
}

.modal__close svg {
    height: 100%;
    width: 100%
}

.modal__layout {
    display: grid;
    grid-row-gap: 2.5rem;
    row-gap: 2.5rem
}

@media(min-width:768px) {
    .modal__layout {
        grid-template-columns: 4fr 1fr 5fr
    }
}

.modal__title {
    font-size: max(2rem, min(3vw, 2.75rem));
    font-weight: 200;
    letter-spacing: -.02em;
    line-height: 1.3;
    margin-bottom: .75rem;
    margin-top: 1.25rem
}

@media(min-width:768px) {
    .modal__title {
        margin-bottom: .5rem;
        margin-top: 2.5rem
    }
}

.modal__subheading {
    font-size: max(1.125rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    line-height: 1.4;
    margin-bottom: max(1rem, min(2.22vw, 2rem))
}

.modal__description {
    color: var(--grey-40);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42;
    margin-top: max(1rem, min(1.67vw, 1.5rem))
}

[data-theme=light] .modal__description {
    color: var(--grey-60)
}

.modal__form {
    -webkit-backdrop-filter: blur(16px);
    backdrop-filter: blur(16px);
    background-color: var(--grey-90-alpha-95);
    border: 1px solid var(--grey-80);
    border-radius: .5rem;
    padding: 1.5rem 1.125rem
}

[data-theme=light] .modal__form {
    background-color: var(--white-alpha-95);
    border-color: var(--grey-20)
}

@media(min-width:375px) {
    .modal__form {
        padding: max(1.5rem, min(2.8vw, 2.5rem))
    }
}

@media(min-width:768px) {
    .modal__form {
        grid-column: 3
    }
}

.modal__form gravity-form {
    --check: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIxNCIgaGVpZ2h0PSIxNCIgZmlsbD0ibm9uZSI+PHBhdGggZmlsbD0iIzAwMCIgZD0ibTEyLjI1MSA0LjA4NC03IDctMy4yMDgtMy4yMDguODIyLS44MjMgMi4zODYgMi4zOCA2LjE3OC02LjE3MXoiLz48cGF0aCBmaWxsPSIjMDAwIiBmaWxsLXJ1bGU9ImV2ZW5vZGQiIGQ9Ik0xMi45NTkgNC4wODQgNS4yNSAxMS43OTEgMS4zMzYgNy44NzZsMS41My0xLjUzIDIuMzg1IDIuMzggNi4xNzgtNi4xNzF6TTUuMjUgOS40MzRsLTIuMzg1LTIuMzgtLjgyMy44MjIgMy4yMDggMy4yMDggNy03LS44MjItLjgyMnoiIGNsaXAtcnVsZT0iZXZlbm9kZCIvPjwvc3ZnPg==)
}

.modal__form gravity-form .gform_required_legend {
    display: none
}

.modal__form gravity-form .gfield--type-email,
.modal__form gravity-form .gfield--type-text,
.modal__form gravity-form .gfield--type-textarea {
    color: var(--chalk);
    position: relative
}

[data-theme=light] .modal__form gravity-form .gfield--type-email,
[data-theme=light] .modal__form gravity-form .gfield--type-text,
[data-theme=light] .modal__form gravity-form .gfield--type-textarea {
    color: var(--matt-black)
}

.modal__form gravity-form .gfield--type-email input,
.modal__form gravity-form .gfield--type-text input,
.modal__form gravity-form .gfield--type-textarea input {
    color: inherit
}

.modal__form gravity-form .gfield--type-email.has-content input,
.modal__form gravity-form .gfield--type-text.has-content input,
.modal__form gravity-form .gfield--type-textarea.has-content input {
    border-bottom-color: var(--grey-20)
}

[data-theme=light] .modal__form gravity-form .gfield--type-email.has-content input,
[data-theme=light] .modal__form gravity-form .gfield--type-text.has-content input,
[data-theme=light] .modal__form gravity-form .gfield--type-textarea.has-content input {
    border-bottom-color: var(--grey-60)
}

.modal__form gravity-form .gfield--type-email .gfield_label,
.modal__form gravity-form .gfield--type-text .gfield_label,
.modal__form gravity-form .gfield--type-textarea .gfield_label {
    color: var(--grey-30);
    left: 0;
    line-height: 1.4;
    margin-bottom: 0;
    position: absolute;
    transform-origin: top left;
    transition: all .2s ease-in-out;
    transition-property: transform
}

[data-theme=light] .modal__form gravity-form .gfield--type-email .gfield_label,
[data-theme=light] .modal__form gravity-form .gfield--type-text .gfield_label,
[data-theme=light] .modal__form gravity-form .gfield--type-textarea .gfield_label {
    color: var(--grey-50)
}

.modal__form gravity-form .gfield--type-email .gfield_label .gfield_required,
.modal__form gravity-form .gfield--type-text .gfield_label .gfield_required,
.modal__form gravity-form .gfield--type-textarea .gfield_label .gfield_required {
    color: var(--red);
    font: inherit;
    opacity: 0;
    transition: all .2s ease-in-out;
    transition-property: opacity
}

.modal__form gravity-form .gfield--type-email .ginput_container input,
.modal__form gravity-form .gfield--type-email .ginput_container textarea,
.modal__form gravity-form .gfield--type-text .ginput_container input,
.modal__form gravity-form .gfield--type-text .ginput_container textarea,
.modal__form gravity-form .gfield--type-textarea .ginput_container input,
.modal__form gravity-form .gfield--type-textarea .ginput_container textarea {
    background: 0 0;
    border-bottom: 1px var(--grey-80);
    border-left-width: 0;
    border-radius: 0;
    border-right-width: 0;
    border-style: solid;
    border-top-width: 0;
    outline: none;
    padding: .75rem 0;
    transition: all .2s ease-in-out;
    transition-property: border-color, color
}

[data-theme=light] .modal__form gravity-form .gfield--type-email .ginput_container input,
[data-theme=light] .modal__form gravity-form .gfield--type-email .ginput_container textarea,
[data-theme=light] .modal__form gravity-form .gfield--type-text .ginput_container input,
[data-theme=light] .modal__form gravity-form .gfield--type-text .ginput_container textarea,
[data-theme=light] .modal__form gravity-form .gfield--type-textarea .ginput_container input,
[data-theme=light] .modal__form gravity-form .gfield--type-textarea .ginput_container textarea {
    border-bottom-color: var(--grey-20)
}

.modal__form gravity-form .gfield--type-email .ginput_container input:focus,
.modal__form gravity-form .gfield--type-email .ginput_container input:focus-visible,
.modal__form gravity-form .gfield--type-email .ginput_container textarea:focus,
.modal__form gravity-form .gfield--type-email .ginput_container textarea:focus-visible,
.modal__form gravity-form .gfield--type-text .ginput_container input:focus,
.modal__form gravity-form .gfield--type-text .ginput_container input:focus-visible,
.modal__form gravity-form .gfield--type-text .ginput_container textarea:focus,
.modal__form gravity-form .gfield--type-text .ginput_container textarea:focus-visible,
.modal__form gravity-form .gfield--type-textarea .ginput_container input:focus,
.modal__form gravity-form .gfield--type-textarea .ginput_container input:focus-visible,
.modal__form gravity-form .gfield--type-textarea .ginput_container textarea:focus,
.modal__form gravity-form .gfield--type-textarea .ginput_container textarea:focus-visible {
    border-bottom-color: var(--grey-40);
    box-shadow: none
}

.modal__form gravity-form .gfield--type-email.gfield_error .ginput_container input,
.modal__form gravity-form .gfield--type-email.gfield_error .ginput_container textarea,
.modal__form gravity-form .gfield--type-text.gfield_error .ginput_container input,
.modal__form gravity-form .gfield--type-text.gfield_error .ginput_container textarea,
.modal__form gravity-form .gfield--type-textarea.gfield_error .ginput_container input,
.modal__form gravity-form .gfield--type-textarea.gfield_error .ginput_container textarea {
    border-bottom-color: var(--red)
}

.modal__form gravity-form .gfield--type-email.gfield_error .gfield_required,
.modal__form gravity-form .gfield--type-text.gfield_error .gfield_required,
.modal__form gravity-form .gfield--type-textarea.gfield_error .gfield_required {
    opacity: 1
}

.modal__form gravity-form .gfield--type-email.has-content .ginput_container input,
.modal__form gravity-form .gfield--type-text.has-content .ginput_container input,
.modal__form gravity-form .gfield--type-textarea.has-content .ginput_container input {
    border-bottom-color: var(--grey-20);
    color: var(--chalk)
}

[data-theme=light] .modal__form gravity-form .gfield--type-email.has-content .ginput_container input,
[data-theme=light] .modal__form gravity-form .gfield--type-text.has-content .ginput_container input,
[data-theme=light] .modal__form gravity-form .gfield--type-textarea.has-content .ginput_container input {
    border-bottom-color: var(--grey-60);
    color: var(--matt-black)
}

.modal__form gravity-form .gfield--type-email.has-content .gfield_label,
.modal__form gravity-form .gfield--type-email.is-active .gfield_label,
.modal__form gravity-form .gfield--type-text.has-content .gfield_label,
.modal__form gravity-form .gfield--type-text.is-active .gfield_label {
    transform: translateY(-100%)scale(.6)
}

.modal__form gravity-form .gfield--type-email .gfield_label,
.modal__form gravity-form .gfield--type-email .ginput_container input,
.modal__form gravity-form .gfield--type-text .gfield_label,
.modal__form gravity-form .gfield--type-text .ginput_container input {
    font-size: max(1rem, min(1.4vw, 1.25rem));
    font-weight: 300
}

.modal__form gravity-form .gfield--type-email .ginput_container input,
.modal__form gravity-form .gfield--type-text .ginput_container input {
    box-shadow: none;
    height: 3rem
}

.modal__form gravity-form .gfield--type-email .gfield_label,
.modal__form gravity-form .gfield--type-text .gfield_label {
    color: var(--grey-30);
    top: 40%;
    transform: translateY(-50%)
}

[data-theme=light] .modal__form gravity-form .gfield--type-email .gfield_label,
[data-theme=light] .modal__form gravity-form .gfield--type-text .gfield_label {
    color: var(--grey-50)
}

.modal__form gravity-form .gfield--type-textarea.has-content .gfield_label,
.modal__form gravity-form .gfield--type-textarea.is-active .gfield_label {
    transform: translateY(-50%)scale(.8)
}

.modal__form gravity-form .gfield--type-textarea .gfield_label {
    color: var(--grey-50);
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.35
}

.modal__form gravity-form .gfield--type-textarea textarea {
    box-shadow: none;
    color: var(--chalk);
    font-size: 1rem;
    font-weight: 300;
    height: 5rem;
    line-height: 1.3;
    max-height: 10rem
}

[data-theme=light] .modal__form gravity-form .gfield--type-textarea textarea {
    color: var(--matt-black)
}

.modal__form gravity-form .gfield--type-multi_choice.gfield_error .gfield-choice-input {
    border-color: var(--red)
}

.modal__form gravity-form .gfield--type-choice .gfield_checkbox {
    gap: .75rem
}

.modal__form gravity-form .gfield_label_before_complex {
    color: var(--grey-50);
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.3;
    margin-bottom: 1rem;
    text-transform: uppercase
}

.modal__form gravity-form .gchoice {
    align-items: center
}

.modal__form gravity-form .gchoice .gform-field-label {
    color: var(--white);
    cursor: pointer;
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.35;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

[data-theme=light] .modal__form gravity-form .gchoice .gform-field-label {
    color: var(--matt-black)
}

.modal__form gravity-form .gfield-choice-input {
    background: 0 0;
    border: 1px solid var(--grey-80);
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    height: 1.25rem;
    transition: all .2s ease-in-out;
    transition-property: background-color, border-color;
    width: 1.25rem
}

[data-theme=light] .modal__form gravity-form .gfield-choice-input {
    border-color: var(--grey-20)
}

.modal__form gravity-form .gfield-choice-input:checked {
    background: var(--volt);
    border-color: var(--volt)
}

.modal__form gravity-form .gfield-choice-input:checked:before {
    content: var(--check)
}

.modal__form gravity-form .gfield-choice-input:focus,
.modal__form gravity-form .gfield-choice-input:focus-visible {
    border: 1px solid var(--volt);
    box-shadow: none
}

.modal__form gravity-form .gfield-choice-input:before {
    color: var(--matt-black)
}

.modal__form gravity-form .gfield_consent_label {
    color: var(--grey-50);
    cursor: pointer;
    font-size: max(.875rem, min(1.1vw, 1rem));
    font-weight: 300;
    line-height: 1.35;
    margin-left: .75rem;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

[data-theme=light] .modal__form gravity-form .gfield_consent_label {
    color: var(--grey-70)
}

.modal__form gravity-form .gfield_consent_label a {
    display: inline-block;
    text-decoration: underline;
    -webkit-text-decoration: underline solid currentColor;
    text-decoration: underline;
    -webkit-text-decoration: underline currentColor 1px;
    text-decoration: underline 1px;
    text-decoration-thickness: 1px;
    text-underline-offset: .2em;
    transition: all .2s ease-in-out;
    transition-property: color
}

@media(hover:hover)and (pointer:fine) {

    .hover .modal__form gravity-form .gfield_consent_label a,
    .modal__form gravity-form .gfield_consent_label a.hover,
    .modal__form gravity-form .gfield_consent_label a:hover:not(:disabled) {
        color: var(--grey-20)
    }

    [data-theme=light] .hover .modal__form gravity-form .gfield_consent_label a,
    [data-theme=light] .modal__form gravity-form .gfield_consent_label a.hover,
    [data-theme=light] .modal__form gravity-form .gfield_consent_label a:hover:not(:disabled) {
        color: var(--matt-black)
    }
}

.modal__form gravity-form .ginput_container_consent {
    align-items: center
}

.modal__form gravity-form .ginput_container_consent input[type=checkbox] {
    background: 0 0;
    border: 1px solid var(--grey-80);
    border-radius: 50%;
    box-shadow: none;
    cursor: pointer;
    height: 1.25rem;
    margin-top: 2px;
    transition: all .2s ease-in-out;
    transition-property: background-color, border-color;
    width: 1.25rem
}

[data-theme=light] .modal__form gravity-form .ginput_container_consent input[type=checkbox] {
    border-color: var(--grey-20)
}

.modal__form gravity-form .ginput_container_consent input[type=checkbox]:checked {
    background: var(--volt);
    border-color: var(--volt)
}

.modal__form gravity-form .ginput_container_consent input[type=checkbox]:checked:before {
    content: var(--check)
}

.modal__form gravity-form .ginput_container_consent input[type=checkbox]:focus,
.modal__form gravity-form .ginput_container_consent input[type=checkbox]:focus-visible {
    border: 1px solid var(--volt);
    box-shadow: none
}

.modal__form gravity-form .ginput_container_consent input[type=checkbox]:before {
    color: var(--matt-black)
}

.modal__form gravity-form .gfield--type-consent.gfield_error .ginput_container_consent input[type=checkbox] {
    border-color: var(--red)
}

.modal__form gravity-form .gform_footer {
    margin-top: 2rem
}

.modal__form gravity-form .gform_footer .gform-loader {
    border-bottom-color: var(--matt-black);
    border-left-color: var(--matt-black);
    border-width: .15rem;
    height: 2rem;
    margin-left: -1px;
    position: absolute;
    right: max(.75rem, min(1.1vw, 1rem));
    transform: none;
    width: 2rem
}

.modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit] {
    --icon-arrow-up-right-dark: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSIjMTUxNTE1IiByeD0iMTIiLz48cGF0aCBzdHJva2U9IiNmZmYiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik05LjI3MSA4LjcyN2g2LjU1MXY2LjU1bS0uNDU1LTYuMDk1LTYuNjQyIDYuNjQyIi8+PC9zdmc+);
    --icon-arrow-up-right-light: url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgZmlsbD0ibm9uZSI+PHJlY3Qgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiBmaWxsPSIjZmZmIiByeD0iMTIiLz48cGF0aCBzdHJva2U9IiMxNTE1MTUiIHN0cm9rZS1saW5lY2FwPSJzcXVhcmUiIHN0cm9rZS1taXRlcmxpbWl0PSIxMCIgc3Ryb2tlLXdpZHRoPSIxLjUiIGQ9Ik05LjI3MSA4LjcyN2g2LjU1MXY2LjU1bS0uNDU1LTYuMDk1LTYuNjQyIDYuNjQyIi8+PC9zdmc+);
    align-items: center;
    background: var(--white);
    border-radius: 6.25rem;
    box-shadow: none;
    color: var(--matt-black);
    display: flex;
    font-family: var(--sans-serif);
    font-size: .9375rem;
    font-style: normal;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    letter-spacing: .01875rem;
    line-height: 1;
    padding: max(.5rem, min(.7vw, .625rem))max(1rem, min(1.4vw, 1.25rem));
    position: relative;
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:focus {
    border: 0
}

@media(hover:hover)and (pointer:fine) {

    .hover .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit],
    .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover,
    .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled) {
        background-color: var(--volt)
    }

    .hover .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after,
    .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover:after,
    .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled):after {
        transform: rotate(45deg)
    }
}

[data-theme=light] .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit] {
    background: var(--matt-black);
    color: var(--white)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit],
    [data-theme=light] .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover,
    [data-theme=light] .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after,
    [data-theme=light] .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit].hover:after,
    [data-theme=light] .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:hover:not(:disabled):after {
        content: var(--icon-arrow-up-right-dark)
    }
}

.modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after {
    content: var(--icon-arrow-up-right-dark);
    display: block;
    height: 1.5rem;
    transition: all .2s ease-in-out;
    transition-property: transform;
    width: 1.5rem
}

[data-theme=light] .modal__form gravity-form .gform-footer.gform_footer button.gform_button[type=submit]:after {
    content: var(--icon-arrow-up-right-light)
}

.modal__form gravity-form .gform_validation_errors {
    background: 0 0;
    border: 1px solid var(--red);
    border-radius: .375rem;
    box-shadow: none;
    color: var(--white);
    font-size: .875rem;
    font-weight: 300;
    line-height: 1.35;
    margin-top: 2rem;
    padding: 1rem
}

@media(min-width:375px) {
    .modal__form gravity-form .gform_validation_errors {
        font-size: 1rem
    }
}

[data-theme=light] .modal__form gravity-form .gform_validation_errors {
    color: var(--matt-black)
}

.modal__form gravity-form .gfield_validation_message:not(:focus):not(:active) {
    clip: rect(0 0 0 0);
    -webkit-clip-path: inset(50%);
    clip-path: inset(50%);
    height: 1px;
    margin: -1px;
    opacity: 0;
    overflow: hidden;
    position: absolute;
    white-space: nowrap;
    width: 1px
}

.modal__form gravity-form .gform_fields {
    row-gap: .5rem
}

@media(min-width:768px) {
    .modal__form gravity-form .gform_fields {
        row-gap: 2rem
    }
}

.modal__form gravity-form .gfield--type-email .gfield_label,
.modal__form gravity-form .gfield--type-text .gfield_label {
    font-size: 1.125rem;
    font-weight: 300
}

.modal__form gravity-form .gfield_visibility_hidden {
    position: absolute
}

@media(max-width:767px) {
    .modal__form gravity-form .gfield--type-consent {
        margin-top: 1.25rem
    }

    .modal__form gravity-form .gfield--type-consent:last-of-type {
        margin-top: 1rem
    }
}

.newsletter-signup-button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .newsletter-signup-button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .hover .newsletter-signup-button,
    .newsletter-signup-button.hover,
    .newsletter-signup-button:hover:not(:disabled) {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .hover .newsletter-signup-button .icon-arrow-up-right,
    .newsletter-signup-button.hover .icon-arrow-up-right,
    .newsletter-signup-button:hover:not(:disabled) .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .hover .newsletter-signup-button .icon-chevron .chevron,
    .newsletter-signup-button.hover .icon-chevron .chevron,
    .newsletter-signup-button:hover:not(:disabled) .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.newsletter-signup-button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.newsletter-signup-button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.newsletter-signup-button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.newsletter-signup-button {
    background-color: var(--volt);
    border-color: var(--volt);
    color: var(--matt-black)
}

.newsletter-signup-button .arrow {
    color: var(--white)
}

@media(hover:hover)and (pointer:fine) {

    .hover .newsletter-signup-button,
    .newsletter-signup-button.hover,
    .newsletter-signup-button:hover:not(:disabled) {
        background-color: var(--white)
    }

    [data-theme=light] .hover .newsletter-signup-button,
    [data-theme=light] .newsletter-signup-button.hover,
    [data-theme=light] .newsletter-signup-button:hover:not(:disabled) {
        background-color: var(--matt-black);
        color: var(--white)
    }

    [data-theme=light] .hover .newsletter-signup-button .arrow,
    [data-theme=light] .newsletter-signup-button.hover .arrow,
    [data-theme=light] .newsletter-signup-button:hover:not(:disabled) .arrow {
        color: var(--matt-black)
    }
}

.newsletter-signup-button .icon-arrow-up-right {
    transform: rotate(45deg)
}

.offices {
    padding-bottom: 5rem
}

@media(min-width:768px) {
    .offices {
        padding-bottom: 7rem
    }
}

.offices__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.offices__heading {
    border-top: 1px solid var(--grey-80);
    font-size: max(2.75rem, min(3.89vw, 3.5rem));
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.2;
    margin-bottom: max(2rem, min(3.33vw, 3rem));
    padding-top: max(2rem, min(7.75vw, 7rem))
}

[data-theme=light] .offices__heading {
    border-color: var(--grey-20)
}

.offices__list {
    display: grid;
    grid-gap: 2rem;
    gap: 2rem
}

@media(min-width:768px) {
    .offices__list {
        gap: 1.5rem
    }
}

.offices__list-item {
    background: var(--grey-90-alpha-95);
    border: 1px solid var(--grey-80);
    border-radius: .5rem;
    display: grid;
    padding: max(1.5rem, min(2.78vw, 2.5rem))
}

[data-theme=light] .offices__list-item {
    background: var(--white-alpha-90);
    border-color: var(--grey-20)
}

@media(min-width:768px) {
    .offices__list-item {
        column-gap: 2rem;
        grid-template-columns: 24% repeat(3, 1fr);
        grid-template-rows: -webkit-min-content -webkit-min-content 1fr -webkit-min-content;
        grid-template-rows: min-content min-content 1fr min-content
    }
}

@media(min-width:1024px) {
    .offices__list-item {
        column-gap: max(2rem, min(5.5vw, 5rem))
    }
}

.offices__list-item .image {
    aspect-ratio: 7/5;
    border-radius: .5rem;
    margin-bottom: 2rem;
    overflow: hidden
}

@media(min-width:768px) {
    .offices__list-item .image {
        aspect-ratio: 4/3;
        grid-column: 1;
        grid-row: 1/span 4;
        margin-bottom: 0
    }
}

.offices__list-item .image img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.offices__list-item .name {
    font-size: 2rem;
    font-weight: 500;
    letter-spacing: -.02em;
    line-height: 1.3;
    margin-bottom: .5rem
}

@media(min-width:768px) {
    .offices__list-item .name {
        grid-column: 2;
        grid-row: 1;
        margin-bottom: 0
    }
}

.offices__list-item .location,
.offices__list-item .time {
    color: var(--grey-60);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .04em;
    line-height: 1.3;
    text-transform: uppercase
}

[data-theme=light] .offices__list-item .location,
[data-theme=light] .offices__list-item .time {
    color: var(--grey-50)
}

.offices__list-item .location {
    margin-bottom: .5rem
}

@media(min-width:768px) {
    .offices__list-item .location {
        grid-column: 2;
        grid-row: 2;
        margin-bottom: 0;
        margin-top: .5rem
    }
}

.offices__list-item .address {
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.35;
    margin-bottom: .5rem;
    margin-top: 2rem
}

@media(min-width:768px) {
    .offices__list-item .address {
        grid-column: 3;
        grid-row: 1/span 3;
        margin-bottom: 0;
        margin-top: 0
    }

    .offices__list-item .time {
        grid-column: 2;
        grid-row: 4
    }
}

.offices__list-item .contact {
    display: grid;
    grid-template-rows: -webkit-min-content -webkit-min-content;
    grid-template-rows: min-content min-content;
    margin-bottom: 1rem;
    margin-top: 2rem;
    grid-row-gap: .375rem;
    font-weight: 400;
    row-gap: .375rem
}

@media(min-width:768px) {
    .offices__list-item .contact {
        grid-column: 4;
        grid-row: 1/span 4;
        margin-top: 0
    }
}

.offices__list-item .email,
.offices__list-item .map,
.offices__list-item .phone {
    font-size: 1.125rem;
    line-height: 1.42;
    -webkit-text-decoration-line: underline;
    text-decoration-line: underline;
    -webkit-text-decoration-skip-ink: none;
    text-decoration-skip-ink: none;
    -webkit-text-decoration-style: solid;
    text-decoration-style: solid;
    text-decoration-thickness: 1px;
    text-underline-position: from-font;
    transition: all .2s ease-in-out;
    transition-property: opacity
}

@media(hover:hover)and (pointer:fine) {

    .hover .offices__list-item .email,
    .hover .offices__list-item .map,
    .hover .offices__list-item .phone,
    .offices__list-item .email.hover,
    .offices__list-item .email:hover:not(:disabled),
    .offices__list-item .map.hover,
    .offices__list-item .map:hover:not(:disabled),
    .offices__list-item .phone.hover,
    .offices__list-item .phone:hover:not(:disabled) {
        opacity: .5
    }
}

.offices__list-item .map {
    align-items: center;
    display: flex;
    font-weight: 300;
    gap: .5rem
}

@media(min-width:768px) {
    .offices__list-item .map {
        grid-column: 3;
        grid-row: 4
    }
}

.offices__list-item .map:before {
    background-color: var(--volt);
    border-radius: 50%;
    content: "";
    display: block;
    flex: none;
    height: .375rem;
    width: .375rem
}

.project-card {
    display: grid;
    grid-template-rows: 1fr -webkit-max-content;
    grid-template-rows: 1fr max-content;
    position: relative
}

@media(hover:hover)and (pointer:fine) {

    .hover .project-card .project-card__image img,
    .project-card.hover .project-card__image img,
    .project-card:hover:not(:disabled) .project-card__image img {
        transform: scale(1.4)
    }

    .hover .project-card .project-card__title>span,
    .project-card.hover .project-card__title>span,
    .project-card:hover:not(:disabled) .project-card__title>span {
        background-size: 100% .0625rem
    }
}

.project-card__image {
    grid-area: 1/1/2/2;
    overflow: hidden
}

.project-card__image img {
    height: 100%;
    object-fit: cover;
    transition: all 2.4s cubic-bezier(.09, .69, 0, 1);
    transition-property: transform;
    width: 100%
}

.project-card__title {
    font-size: max(1.5rem, min(1.94vw, 2rem));
    font-weight: 400;
    grid-area: 2/1/3/2;
    justify-self: start;
    letter-spacing: -.02em;
    line-height: 1.3;
    margin-top: max(.625rem, min(1.1vw, 1rem));
    text-wrap: pretty
}

.project-card__title>span {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 .0625rem;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1)
}

[data-theme=light] .project-card__title>span {
    background-image: linear-gradient(var(--putty), var(--putty))
}

.project-card__link {
    grid-area: 1/1/2/2
}

.project-card__link:before {
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1
}

.project-intro {
    margin-bottom: max(2.5rem, min(10vw, 9rem));
    margin-top: max(2.5rem, min(10.5vw, 9.5rem))
}

.project-intro__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.project-intro__layout {
    display: grid;
    grid-gap: 1.5rem;
    gap: 1.5rem
}

@media(min-width:768px) {
    .project-intro__layout {
        grid-column-gap: 2rem;
        column-gap: 2rem;
        display: grid;
        grid-template-columns: 2fr 3fr
    }
}

.project-intro__key-info {
    align-self: start;
    border-bottom: 1px solid var(--grey-80);
    display: grid;
    grid-template-columns: -webkit-max-content 1fr;
    grid-template-columns: max-content 1fr
}

[data-theme=light] .project-intro__key-info {
    border-color: var(--grey-20)
}

@media(min-width:768px) {
    .project-intro__key-info {
        grid-column: 1;
        grid-row: 1
    }
}

@media(min-width:1024px) {
    .project-intro__key-info {
        max-width: 24vw
    }
}

.project-intro__key-info dd,
.project-intro__key-info dt {
    border-top: 1px solid var(--grey-80);
    line-height: 1.3;
    padding-bottom: 1rem;
    padding-top: 1rem
}

[data-theme=light] .project-intro__key-info dd,
[data-theme=light] .project-intro__key-info dt {
    border-color: var(--grey-20)
}

.project-intro__key-info dt {
    color: var(--grey-60);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .04em;
    text-transform: uppercase
}

.project-intro__key-info dd {
    font-size: 1.125rem;
    font-weight: 300;
    padding-left: 1.5rem;
    text-align: right
}

.project-intro__text .large {
    font-size: max(1.75rem, min(2.78vw, 2.5rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.25
}

.project-intro__text .large+.small {
    margin-top: 2rem
}

.project-intro__text .small {
    color: var(--grey-30);
    font-size: max(1.125rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    line-height: 1.4
}

.project-intro__text .small *+h2 {
    margin-top: max(2rem, min(2.75vw, 2.5rem))
}

.project-intro__text .small *+h3 {
    margin-top: max(2rem, min(3.33vw, 3rem))
}

.project-intro__text .small *+h4 {
    margin-top: max(1.5rem, min(2.22vw, 2rem))
}

.project-intro__text .small li,
.project-intro__text .small p {
    text-wrap: pretty
}

@media(min-width:768px) {

    .project-intro__text .small li,
    .project-intro__text .small p {
        line-height: 1.59
    }
}

.project-intro__text .small li {
    padding-left: .5em
}

.project-intro__text .small *+ol,
.project-intro__text .small *+ul {
    margin-top: 1em
}

.project-intro__text .small li+li {
    margin-top: .35em
}

.project-intro__text .small p+p {
    margin-top: max(.75rem, min(1.1vw, 1rem))
}

.project-intro__text .small strong {
    font-weight: 500
}

.project-intro__text .small a {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% .0625rem;
    border-bottom: 1px solid transparent;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: all .2s ease-in-out;
    transition-property: color;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1)
}

[data-theme=light] .project-intro__text .small a {
    background-image: linear-gradient(var(--putty), var(--putty))
}

@media(hover:hover)and (pointer:fine) {

    .hover .project-intro__text .small a,
    .project-intro__text .small a.hover,
    .project-intro__text .small a:hover:not(:disabled) {
        color: var(--grey-20)
    }

    [data-theme=light] .hover .project-intro__text .small a,
    [data-theme=light] .project-intro__text .small a.hover,
    [data-theme=light] .project-intro__text .small a:hover:not(:disabled) {
        color: var(--grey-80)
    }
}

@media(min-width:768px) {
    .project-intro__text .small blockquote {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
}

.project-intro__text .small blockquote p {
    font-family: var(--serif);
    font-size: 1.75rem;
    font-weight: 200;
    letter-spacing: -.03em;
    line-height: 1.3
}

.project-intro__text .small blockquote+* {
    margin-top: 3.75rem
}

.project-intro__text .small *+blockquote {
    margin-top: 4.25rem
}

.project-intro__text .small ul {
    list-style: disc;
    list-style-position: outside;
    padding-left: 2em
}

[data-theme=light] .project-intro__text .small {
    color: var(--grey-70)
}

quick-links {
    display: none
}

@media(min-width:768px) {
    quick-links {
        bottom: 2.5rem;
        display: block;
        left: auto;
        margin-left: auto;
        margin-right: auto;
        max-width: max(320px, min(100vw, 1600px));
        opacity: 0;
        padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
        padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
        position: fixed;
        right: 0;
        visibility: hidden;
        z-index: 100
    }
}

.quick-links {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: var(--grey-20-alpha-20);
    border-radius: 6.25rem;
    color: var(--white);
    display: inline-grid;
    gap: .25rem;
    grid-auto-flow: column;
    padding: .5rem
}

[data-theme=light] .quick-links {
    background: var(--grey-70-alpha-10)
}

.quick-links__item {
    background-color: var(--grey-80);
    border-radius: 6.25rem;
    color: var(--white);
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1.3;
    padding: .5rem .75rem;
    text-align: left;
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color
}

[data-theme=light] .quick-links__item {
    background-color: var(--white);
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover .quick-links__item,
    .quick-links__item.hover,
    .quick-links__item:hover:not(:disabled) {
        background-color: var(--volt);
        color: var(--matt-black)
    }
}

.quick-links__item.is-active {
    background-color: var(--volt);
    color: var(--matt-black)
}

.related-articles {
    margin-bottom: 5rem;
    margin-top: 1.5rem;
    overflow: hidden
}

.related-articles:last-child {
    margin-bottom: 0;
    padding-bottom: 5rem
}

@media(min-width:1024px) {
    .related-articles:last-child {
        padding-bottom: 6rem
    }
}

.related-articles__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

@media(min-width:1024px) {
    .related-articles__layout {
        border-top: 1px solid var(--grey-80);
        padding-top: max(2rem, min(5vw, 4.5rem));
        grid-row-gap: max(1.5rem, min(2.75vw, 2.5rem));
        display: grid;
        grid-template-areas: "heading button" "articles articles";
        row-gap: max(1.5rem, min(2.75vw, 2.5rem))
    }
}

[data-theme=light] .related-articles__layout {
    border-top-color: var(--grey-20)
}

.related-articles__heading {
    font-size: max(2rem, min(3.88vw, 3.5rem));
    font-weight: 200;
    letter-spacing: -.02em;
    line-height: 1.3;
    margin-bottom: 2rem
}

@media(min-width:1024px) {
    .related-articles__heading {
        align-self: center;
        grid-area: heading;
        margin-bottom: 0
    }
}

.related-articles__articles {
    grid-area: articles;
    width: 100%
}

.related-articles__articles.swiper {
    overflow: visible
}

@media(min-width:1024px) {
    .related-articles__grid {
        display: grid;
        grid-gap: 1rem;
        gap: 1rem;
        grid-template-columns: repeat(3, 1fr)
    }
}

.related-articles__grid-item {
    display: grid;
    grid-gap: 1rem;
    gap: 1rem;
    grid-template-areas: "image" "title" "category";
    grid-template-rows: auto 1fr auto;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.related-articles__grid-item.swiper-slide {
    height: auto
}

@media(hover:hover)and (pointer:fine) {

    .hover .related-articles__grid-item .related-articles__image img,
    .related-articles__grid-item.hover .related-articles__image img,
    .related-articles__grid-item:hover:not(:disabled) .related-articles__image img {
        transform: scale(1.4)
    }

    .hover .related-articles__grid-item .related-articles__title>span,
    .related-articles__grid-item.hover .related-articles__title>span,
    .related-articles__grid-item:hover:not(:disabled) .related-articles__title>span {
        background-size: 100% .0625rem
    }
}

.related-articles__grid-link {
    grid-column: 1;
    grid-row: 1/span 3;
    z-index: 1
}

.related-articles__image {
    aspect-ratio: 8/5;
    border-radius: .375rem;
    grid-area: image;
    overflow: hidden
}

.related-articles__image img {
    height: 100%;
    object-fit: cover;
    transition: all 2.4s cubic-bezier(.09, .69, 0, 1);
    transition-property: transform;
    width: 100%
}

.related-articles__title {
    font-size: max(1rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    grid-area: title;
    line-height: 1.4
}

.related-articles__title>span {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 .0625rem;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1)
}

[data-theme=light] .related-articles__title>span {
    background-image: linear-gradient(var(--putty), var(--putty))
}

.related-articles__category {
    border: 1px solid var(--grey-70);
    border-radius: 6.25rem;
    color: var(--grey-50);
    font-size: .8125rem;
    font-weight: 500;
    grid-area: category;
    justify-self: start;
    letter-spacing: .02em;
    line-height: 1.3;
    padding: .375rem .75rem;
    text-transform: uppercase
}

[data-theme=light] .related-articles__category {
    border-color: var(--grey-30)
}

.related-articles__view-all {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    margin-top: 2rem;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .related-articles__view-all {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .hover .related-articles__view-all,
    .related-articles__view-all.hover,
    .related-articles__view-all:hover:not(:disabled) {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .hover .related-articles__view-all .icon-arrow-up-right,
    .related-articles__view-all.hover .icon-arrow-up-right,
    .related-articles__view-all:hover:not(:disabled) .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .hover .related-articles__view-all .icon-chevron .chevron,
    .related-articles__view-all.hover .icon-chevron .chevron,
    .related-articles__view-all:hover:not(:disabled) .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.related-articles__view-all .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.related-articles__view-all .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.related-articles__view-all .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.related-articles__view-all {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    color: var(--matt-black)
}

.related-articles__view-all .icon .arrow {
    color: var(--white)
}

[data-theme=light] .related-articles__view-all {
    background-color: var(--matt-black);
    color: var(--white)
}

[data-theme=light] .related-articles__view-all .chevron {
    fill: var(--matt-black)
}

[data-theme=light] .related-articles__view-all .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .related-articles__view-all,
    [data-theme=light] .related-articles__view-all.hover,
    [data-theme=light] .related-articles__view-all:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .related-articles__view-all .arrow,
    [data-theme=light] .related-articles__view-all.hover .arrow,
    [data-theme=light] .related-articles__view-all:hover:not(:disabled) .arrow {
        color: var(--white)
    }

    .hover [data-theme=light] .related-articles__view-all .chevron,
    [data-theme=light] .related-articles__view-all.hover .chevron,
    [data-theme=light] .related-articles__view-all:hover:not(:disabled) .chevron {
        fill: var(--white)
    }
}

@media(min-width:1024px) {
    .related-articles__view-all {
        align-self: center;
        grid-area: button;
        justify-self: end;
        margin-top: 0
    }
}

.related-work {
    margin-bottom: 6rem;
    margin-top: 3rem;
    overflow: hidden
}

.related-work:last-child {
    margin-bottom: 0;
    padding-bottom: 6rem
}

@media(min-width:1024px) {
    .related-work {
        margin-top: 1.5rem
    }
}

.single-service .related-work {
    margin-bottom: max(5rem, min(10.55vw, 9.5rem))
}

.related-work__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.related-work__layout {
    padding-top: max(2rem, min(5vw, 4.5rem))
}

@media(min-width:1024px) {
    .related-work__layout {
        border-top: 1px solid var(--grey-80);
        display: grid;
        grid-template-areas: "heading button" "projects projects";
        grid-row-gap: max(1.5rem, min(2.75vw, 2.5rem));
        row-gap: max(1.5rem, min(2.75vw, 2.5rem))
    }
}

[data-theme=light] .related-work__layout {
    border-top-color: var(--grey-20)
}

[data-template=single-article] .related-work__layout {
    padding-top: 0
}

.related-work__heading {
    font-size: max(2.5625rem, min(3.88vw, 3.5rem));
    font-weight: 500;
    letter-spacing: -.02em;
    line-height: 1.3;
    margin-bottom: 2rem
}

@media(min-width:1024px) {
    .related-work__heading {
        align-self: center;
        grid-area: heading;
        margin-bottom: 0
    }
}

.related-work__view-all {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    margin-top: 2rem;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .related-work__view-all {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .hover .related-work__view-all,
    .related-work__view-all.hover,
    .related-work__view-all:hover:not(:disabled) {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .hover .related-work__view-all .icon-arrow-up-right,
    .related-work__view-all.hover .icon-arrow-up-right,
    .related-work__view-all:hover:not(:disabled) .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .hover .related-work__view-all .icon-chevron .chevron,
    .related-work__view-all.hover .icon-chevron .chevron,
    .related-work__view-all:hover:not(:disabled) .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.related-work__view-all .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.related-work__view-all .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.related-work__view-all .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.related-work__view-all {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    color: var(--matt-black)
}

.related-work__view-all .icon .arrow {
    color: var(--white)
}

[data-theme=light] .related-work__view-all {
    background-color: var(--matt-black);
    color: var(--white)
}

[data-theme=light] .related-work__view-all .chevron {
    fill: var(--matt-black)
}

[data-theme=light] .related-work__view-all .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .related-work__view-all,
    [data-theme=light] .related-work__view-all.hover,
    [data-theme=light] .related-work__view-all:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .related-work__view-all .arrow,
    [data-theme=light] .related-work__view-all.hover .arrow,
    [data-theme=light] .related-work__view-all:hover:not(:disabled) .arrow {
        color: var(--white)
    }

    .hover [data-theme=light] .related-work__view-all .chevron,
    [data-theme=light] .related-work__view-all.hover .chevron,
    [data-theme=light] .related-work__view-all:hover:not(:disabled) .chevron {
        fill: var(--white)
    }
}

@media(min-width:1024px) {
    .related-work__view-all {
        align-self: center;
        grid-area: button;
        justify-self: end;
        margin-top: 0
    }
}

.related-work__projects {
    grid-area: projects;
    width: 100%
}

.related-work__projects.swiper {
    overflow: visible
}

@media(min-width:1024px) {
    .related-work__grid {
        display: grid;
        grid-gap: 1rem;
        gap: 1rem;
        grid-template-columns: 56fr 44fr
    }
}

.related-work__grid-item {
    display: grid;
    grid-gap: max(.5rem, min(1.1vw, 1rem));
    gap: max(.5rem, min(1.1vw, 1rem));
    grid-template-areas: "image" "title";
    grid-template-rows: auto 1fr;
    position: relative;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

@media(hover:hover)and (pointer:fine) {

    .hover .related-work__grid-item .related-work__image img,
    .related-work__grid-item.hover .related-work__image img,
    .related-work__grid-item:hover:not(:disabled) .related-work__image img {
        transform: scale(1.4)
    }

    .hover .related-work__grid-item .related-work__title>span,
    .related-work__grid-item.hover .related-work__title>span,
    .related-work__grid-item:hover:not(:disabled) .related-work__title>span {
        background-size: 100% .0625rem
    }
}

.related-work__grid-link {
    grid-column: 1;
    grid-row: 1/span 2
}

.related-work__grid-link:before {
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 1
}

.related-work__image {
    grid-area: image;
    overflow: hidden;
    position: relative;
    width: 100%
}

@media(min-width:1024px) {
    .related-work__image {
        height: max(24rem, min(36vw, 32rem))
    }
}

.related-work__image img {
    height: 100%;
    object-fit: cover;
    transition: all 2.4s cubic-bezier(.09, .69, 0, 1);
    transition-property: transform;
    width: 100%
}

@media(max-width:1023px) {
    .related-work__image {
        position: relative;
        width: 100%
    }

    .related-work__image:before {
        content: "";
        display: block;
        padding-top: 70%
    }

    .related-work__image .media-wrapper img,
    .related-work__image video,
    .related-work__image>img {
        bottom: 0;
        height: 100%;
        left: 0;
        object-fit: cover;
        position: absolute;
        right: 0;
        top: 0;
        width: 100%
    }
}

.related-work__title {
    font-size: max(1.5rem, min(1.94vw, 1.75rem));
    font-weight: 400;
    grid-area: title;
    line-height: 130%
}

.related-work__title>span {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 .0625rem;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1)
}

[data-theme=light] .related-work__title>span {
    background-image: linear-gradient(var(--putty), var(--putty))
}

.results {
    margin-bottom: 2.5rem;
    margin-top: 2.5rem
}

@media(min-width:768px) {
    .results {
        margin-bottom: 6.25rem;
        margin-top: 7.5rem
    }
}

.results__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.results__layout {
    display: grid;
    grid-gap: 1.5rem;
    gap: 1.5rem
}

@media(min-width:768px) {
    .results__layout {
        gap: 2rem;
        grid-template-columns: 2fr 3fr
    }
}

.results__heading {
    align-self: start;
    display: inline-block;
    font-family: var(--serif);
    font-size: 2.5rem;
    font-weight: 300;
    justify-self: start;
    letter-spacing: -.02em;
    line-height: 1.3;
    width: auto
}

.results__grid {
    display: grid;
    grid-gap: max(2rem, min(3.875vw, 3.5rem));
    gap: max(2rem, min(3.875vw, 3.5rem))
}

@media(min-width:520px) {
    .results__grid {
        grid-template-columns: repeat(2, 1fr)
    }

    .results__grid[data-count="1"] {
        grid-template-columns: 1fr
    }
}

.results__grid-item {
    border-left: 1px solid var(--grey-80);
    padding-left: 2rem
}

[data-theme=light] .results__grid-item {
    border-color: var(--grey-20)
}

.results__grid-item .large {
    font-size: max(1.75rem, min(3.05vw, 2.75rem));
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 1.3
}

.results__grid-item .small {
    color: var(--grey-40);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42;
    margin-top: 1rem
}

[data-theme=light] .results__grid-item .small {
    color: var(--grey-70)
}

.site-menu {
    bottom: 0;
    display: block;
    left: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    visibility: hidden;
    width: 100%;
    z-index: 300
}

.site-menu [data-menu-label-open] {
    display: inline
}

.site-menu[open] [data-label-menu-closed] {
    display: none
}

.site-menu[open] [data-label-menu-open] {
    display: inline
}

.overlay {
    background-color: var(--chalk-alpha-05);
    bottom: 0;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0
}

[data-theme=light] .overlay {
    background-color: var(--matt-black-alpha-50)
}

.site-menu__dropdown {
    background-color: #fff;
    height: 100%;
    max-height: 100%;
    overflow: auto;
    padding-top: var(--header-height);
    position: relative;
    transform: translateY(-100%);
    z-index: 1
}

[data-theme=light] .site-menu__dropdown {
    background-color: var(--chalk)
}

@media(min-width:768px) {
    .site-menu__dropdown {
        height: unset
    }
}

.site-menu__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.site-menu__content {
    display: grid;
    opacity: 0;
    padding-top: 2rem;
    visibility: hidden
}

[data-theme=light] .site-menu__content {
    border-color: var(--grey-20)
}

@media(min-width:768px) {
    .site-menu__content {
        gap: 0 3rem;
        grid-template-columns: repeat(2, 1fr);
        height: unset
    }
}

@media(min-width:1024px) {
    .site-menu__content {
        grid-auto-flow: column;
        grid-template-columns: -webkit-max-content 1fr;
        grid-template-columns: max-content 1fr
    }
}

.site-menu__featured-post {
    display: none
}

@media(min-width:768px) {
    .site-menu__featured-post {
        display: block;
        grid-column: 1;
        grid-row: 1;
        -webkit-user-select: none;
        -moz-user-select: none;
        -ms-user-select: none;
        user-select: none
    }
}

@media(min-width:1024px) {
    .site-menu__featured-post {
        max-width: max(14rem, min(20vw, 18rem))
    }
}

.site-menu__featured-post .heading {
    align-items: center;
    color: var(--grey-50);
    display: flex;
    font-size: .8125rem;
    font-weight: 400;
    gap: .625rem;
    letter-spacing: .04em;
    line-height: 1.3;
    margin-bottom: 1rem;
    text-transform: uppercase
}

@media(min-width:768px) {
    .site-menu__featured-post .heading {
        gap: .5rem;
        letter-spacing: .02em
    }
}

[data-theme=light] .site-menu__featured-post .heading {
    color: var(--grey-70)
}

.site-menu__featured-post .heading:before {
    background-color: var(--volt);
    border-radius: 50%;
    content: "";
    display: block;
    height: .375rem;
    width: .375rem
}

[data-theme=light] .site-menu__featured-post .heading:before {
    background-color: var(--putty)
}

.site-menu__featured-post .post {
    display: grid;
    grid-template-areas: "content";
    overflow: hidden;
    position: relative
}

@media(hover:hover)and (pointer:fine) {

    .hover .site-menu__featured-post .post .post-image img,
    .hover .site-menu__featured-post .post .post-image:before,
    .site-menu__featured-post .post.hover .post-image img,
    .site-menu__featured-post .post.hover .post-image:before,
    .site-menu__featured-post .post:hover:not(:disabled) .post-image img,
    .site-menu__featured-post .post:hover:not(:disabled) .post-image:before {
        transform: scale(1.4)
    }

    .hover .site-menu__featured-post .post .post-title,
    .site-menu__featured-post .post.hover .post-title,
    .site-menu__featured-post .post:hover:not(:disabled) .post-title {
        border-bottom-color: var(--volt)
    }
}

.site-menu__featured-post .post-link {
    grid-area: content
}

.site-menu__featured-post .post-link:before {
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    position: absolute;
    right: 0;
    top: 0;
    z-index: 3
}

.site-menu__featured-post .post-title {
    align-self: end;
    color: var(--white);
    font-size: 1.125rem;
    font-weight: 300;
    grid-area: content;
    line-height: 1.42;
    padding: 1rem;
    position: relative;
    z-index: 2
}

.site-menu__featured-post .post-title h3 {
    border-bottom: 1px solid transparent;
    display: inline-block;
    transition: all .6s ease;
    transition-property: border-bottom-color
}

.site-menu__featured-post .post-image {
    aspect-ratio: 8/5;
    grid-area: content;
    overflow: hidden;
    position: relative;
    transition: all 2.4s cubic-bezier(.09, .69, 0, 1);
    transition-property: transform
}

.site-menu__featured-post .post-image:before {
    background: linear-gradient(180deg, var(--transparent) 52.68%, var(--black-alpha-75) 100%);
    bottom: 0;
    content: "";
    display: block;
    left: 0;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: 0;
    transition: all 2.4s cubic-bezier(.09, .69, 0, 1);
    transition-property: transform;
    z-index: 1
}

.site-menu__featured-post .post-image img {
    height: 100%;
    object-fit: cover;
    transition: all 2.4s cubic-bezier(.09, .69, 0, 1);
    transition-property: transform;
    width: 100%
}

.site-menu__links {
    font-size: max(2.25rem, min(3.05vw, 2.75rem));
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 1.3
}

@media(min-width:768px) {
    .site-menu__links {
        grid-column: 2;
        grid-row: 1;
        justify-self: center
    }
}

@media(min-width:1024px) {
    .site-menu__links {
        display: flex;
        justify-content: center
    }

    .site-menu__links .menu {
        display: grid;
        grid-template-columns: repeat(2, 1fr);
        grid-column-gap: 3rem;
        column-gap: 3rem;
        grid-auto-flow: column;
        grid-template-rows: inherit
    }
}

.site-menu__links li {
    margin-bottom: max(.5rem, min(.7vw, .625rem));
    transition: all .2s ease-in-out;
    transition-property: color
}

@media(hover:hover)and (pointer:fine) {

    .hover .site-menu__links li,
    .site-menu__links li.hover,
    .site-menu__links li:hover:not(:disabled) {
        color: var(--volt)
    }

    [data-theme=light] .hover .site-menu__links li,
    [data-theme=light] .site-menu__links li.hover,
    [data-theme=light] .site-menu__links li:hover:not(:disabled) {
        color: var(--putty)
    }
}

.site-menu__languages {
    padding-bottom: 1.875rem;
    padding-top: 1.5rem
}

@media(min-width:768px) {
    .site-menu__languages {
        border-top: 1px solid var(--grey-80);
        grid-column: 1/span 2;
        grid-row: 2;
        margin-top: 5rem
    }

    .site-menu__languages ul {
        justify-content: flex-end
    }

    [data-theme=light] .site-menu__languages {
        border-color: var(--grey-20)
    }
}

site-portal {
    background-color: var(--matt-black);
    bottom: 0;
    color: var(--white);
    display: block;
    left: 0;
    opacity: 0;
    position: fixed;
    right: 0;
    top: 0;
    visibility: hidden;
    z-index: 700
}

.site-portal__header {
    align-items: center;
    display: flex;
    height: var(--header-height);
    justify-content: flex-end;
    left: 0;
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    position: absolute;
    top: 0;
    width: 100%
}

.site-portal__close {
    background-color: var(--white);
    border-radius: 50%;
    color: var(--matt-black);
    display: grid;
    grid-template-areas: "icon";
    height: 3rem;
    width: 3rem;
    z-index: 1
}

.site-portal__close svg {
    align-self: center;
    grid-area: icon;
    justify-self: center
}

.site-portal__content {
    bottom: 0;
    left: 0;
    position: absolute;
    right: 0;
    top: 0
}

.site-portal__content video {
    height: 100%;
    object-fit: contain;
    width: 100%
}

:root {
    --header-height: 7.18rem
}

.header {
    /* background-color: var(--matt-black); */
    border-bottom: 1px solid var(--grey-80);
    bottom: auto;
    left: 0;
    /* pointer-events: none; */
    position: fixed;
    right: 0;
    top: 0;
    transition: all .2s ease-in-out;
    transition-property: transform;
    z-index: 999;
    cursor: pointer;
}

[data-theme=light] .header {
    background-color: var(--chalk);
    border-color: var(--grey-20)
}

.header.is-sticky {
    transform: translate(0)
}

.header.is-hidden,
.header.should-hide {
    transform: translateY(-100%)
}

.header__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

@media(min-width:1440px) {
    .header__container {
        max-width: unset;
        padding-left: 2rem;
        padding-right: 2rem
    }
}

.header__layout {
    align-items: center;
    grid-column-gap: .375rem;
    column-gap: .375rem;
    display: grid;
    grid-template-areas: "logo lightmode menu";
    grid-template-columns: 1fr -webkit-min-content -webkit-min-content;
    grid-template-columns: 1fr min-content min-content;
    height: var(--header-height)
}

@media(min-width:520px) {
    .header__layout {
        column-gap: 0;
        grid-template-areas: "lightmode logo menu";
        grid-template-columns: -webkit-min-content 1fr -webkit-min-content;
        grid-template-columns: min-content 1fr min-content
    }
}

.header__button,
.header__logo {
    pointer-events: auto
}

.header__logo {
    align-self: center;
    grid-area: logo;
    justify-self: start;
    transition: all .2s ease-in-out;
    transition-property: opacity;
    width: 10rem
}

@media(min-width:375px) {
    .header__logo {
        width: 22.5rem;
    }
}

@media(min-width:520px) {
    .header__logo {
        justify-self: center
    }
}

.header__logo svg {
    height: auto;
    object-fit: contain;
    width: 100%
}

.menu-open .header__logo {
    opacity: 0;
    pointer-events: none
}

.header__logo .logomark {
    transition: all .2s ease-in-out;
    transition-property: fill
}

[data-theme=light] .header__logo .logomark {
    fill: var(--matt-black)
}

.header__button {
    border-radius: 50%;
    display: grid;
    grid-template-areas: "icon";
    height: 3rem;
    width: 3rem
}

.header__button svg {
    align-self: center;
    grid-area: icon;
    justify-self: center
}

[data-toggle-light-mode] {
    border: 1px solid var(--grey-70);
    grid-area: lightmode;
    transition: all .2s ease-in-out;
    transition-property: border-color
}

[data-theme=light] [data-toggle-light-mode] {
    border-color: var(--grey-30)
}

[data-theme=light] [data-toggle-light-mode] .icon-solar {
    display: none
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] [data-toggle-light-mode],
    [data-theme=light] [data-toggle-light-mode].hover,
    [data-theme=light] [data-toggle-light-mode]:hover:not(:disabled) {
        border-color: var(--grey-70)
    }
}

[data-theme=dark] [data-toggle-light-mode] .icon-lunar {
    display: none
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=dark] [data-toggle-light-mode],
    [data-theme=dark] [data-toggle-light-mode].hover,
    [data-theme=dark] [data-toggle-light-mode]:hover:not(:disabled) {
        border-color: var(--grey-30)
    }
}

.menu-open [data-toggle-light-mode] {
    opacity: 0;
    pointer-events: none
}

[data-toggle-menu] {
    background-color: var(--white);
    color: var(--matt-black);
    grid-area: menu;
    transition: all .2s ease-in-out;
    transition-property: background-color, color
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-toggle-menu],
    [data-toggle-menu].hover,
    [data-toggle-menu]:hover:not(:disabled) {
        background-color: var(--volt)
    }
}

[data-theme=light] [data-toggle-menu] {
    background-color: var(--matt-black);
    color: var(--chalk)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] [data-toggle-menu],
    [data-theme=light] [data-toggle-menu].hover,
    [data-theme=light] [data-toggle-menu]:hover:not(:disabled) {
        color: var(--matt-black)
    }
}

[data-toggle-menu] .icon {
    color: inherit;
    transition: all .2s ease-in-out;
    transition-property: color, opacity
}

[data-toggle-menu] .icon-close {
    opacity: 0;
    visibility: hidden
}

.menu-open [data-toggle-menu] .icon-close {
    opacity: 1;
    visibility: visible
}

.menu-open [data-toggle-menu] .icon-menu {
    opacity: 0;
    visibility: hidden
}

.text-block {
    margin-bottom: max(4rem, min(7vw, 6.25rem));
    margin-top: max(4rem, min(7vw, 7.5rem))
}

.hero+.text-block {
    margin-top: 2.5rem
}

.hero--video+.text-block {
    margin-bottom: max(5rem, min(7vw, 6.25rem));
    margin-top: max(5rem, min(11.1vw, 10rem))
}

.text-block__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.text-block__layout {
    display: grid;
    grid-gap: 1.5rem;
    gap: 1.5rem
}

@media(min-width:768px) {
    .text-block__layout {
        gap: 2rem;
        grid-template-columns: 2fr 3fr
    }
}

.text-block__heading {
    align-self: start;
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% .0625rem;
    display: inline-block;
    font-family: var(--serif);
    font-size: 2.5rem;
    font-weight: 300;
    justify-self: start;
    letter-spacing: -.02em;
    line-height: 1.3;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1);
    width: auto
}

[data-theme=light] .text-block__heading {
    background-image: linear-gradient(var(--putty), var(--putty))
}

.text-block__large-text {
    font-size: max(1.75rem, min(3.05vw, 2.75rem));
    font-weight: 400;
    line-height: 1.3;
    text-wrap: pretty
}

@media(min-width:1024px) {
    .text-block__large-text {
        letter-spacing: -.03em
    }
}

.text-block__small-text {
    color: var(--grey-30);
    margin-top: 1.25rem;
    max-width: 47rem;
    text-wrap: pretty
}

.text-block__small-text .intro {
    font-size: max(1.5rem, min(1.94vw, 1.75rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3
}

[data-theme=light] .text-block__small-text .intro {
    color: var(--matt-black)
}

.text-block__small-text h2 {
    font-size: max(2.5rem, min(3.05vw, 2.75rem));
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 1.3
}

.text-block__small-text h2+* {
    margin-top: 1.5rem
}

.text-block__small-text h3 {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.35
}

.text-block__small-text h3+* {
    margin-top: 1rem
}

.text-block__small-text h4 {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.35
}

.text-block__small-text h4+* {
    margin-top: .25rem
}

.text-block__small-text *+h2 {
    margin-top: max(2rem, min(2.75vw, 2.5rem))
}

.text-block__small-text *+h3 {
    margin-top: max(2rem, min(3.33vw, 3rem))
}

.text-block__small-text *+h4 {
    margin-top: max(1.5rem, min(2.22vw, 2rem))
}

.text-block__small-text li,
.text-block__small-text p {
    text-wrap: pretty
}

@media(min-width:768px) {

    .text-block__small-text li,
    .text-block__small-text p {
        line-height: 1.59
    }
}

.text-block__small-text li,
.text-block__small-text p {
    color: var(--grey-40);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42
}

[data-theme=light] .text-block__small-text li,
[data-theme=light] .text-block__small-text p {
    color: var(--grey-60)
}

.text-block__small-text li {
    padding-left: .5em
}

.text-block__small-text *+ol,
.text-block__small-text *+ul {
    margin-top: 1em
}

.text-block__small-text li+li {
    margin-top: .35em
}

.text-block__small-text p+p {
    margin-top: max(.75rem, min(1.1vw, 1rem))
}

.text-block__small-text strong {
    font-weight: 500
}

.text-block__small-text a {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% .0625rem;
    border-bottom: 1px solid transparent;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: all .2s ease-in-out;
    transition-property: color;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1)
}

[data-theme=light] .text-block__small-text a {
    background-image: linear-gradient(var(--putty), var(--putty))
}

@media(hover:hover)and (pointer:fine) {

    .hover .text-block__small-text a,
    .text-block__small-text a.hover,
    .text-block__small-text a:hover:not(:disabled) {
        color: var(--grey-20)
    }

    [data-theme=light] .hover .text-block__small-text a,
    [data-theme=light] .text-block__small-text a.hover,
    [data-theme=light] .text-block__small-text a:hover:not(:disabled) {
        color: var(--grey-80)
    }
}

@media(min-width:768px) {
    .text-block__small-text blockquote {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
}

.text-block__small-text blockquote p {
    font-family: var(--serif);
    font-size: 1.75rem;
    font-weight: 200;
    letter-spacing: -.03em;
    line-height: 1.3
}

.text-block__small-text blockquote+* {
    margin-top: 3.75rem
}

.text-block__small-text *+blockquote {
    margin-top: 4.25rem
}

.text-block__small-text ul {
    list-style: disc;
    list-style-position: outside;
    padding-left: 2em
}

.text-block__small-text {
    font-size: max(1rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    line-height: 1.4
}

[data-theme=light] .text-block__small-text {
    color: var(--grey-70)
}

@media(min-width:768px) {
    .text-block__small-text {
        margin-top: 2rem
    }
}

.text-block__button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: 1.5rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    margin-top: 2rem;
    padding: 1rem max(1.5rem, min(1.3888vw, 1.25rem));
    /* text-transform: uppercase; */
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .text-block__button {
        padding-bottom: 1rem;
        padding-top: 1rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .hover .text-block__button,
    .text-block__button.hover,
    .text-block__button:hover:not(:disabled) {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .hover .text-block__button .icon-arrow-up-right,
    .text-block__button.hover .icon-arrow-up-right,
    .text-block__button:hover:not(:disabled) .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .hover .text-block__button .icon-chevron .chevron,
    .text-block__button.hover .icon-chevron .chevron,
    .text-block__button:hover:not(:disabled) .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.text-block__button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.text-block__button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.text-block__button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.text-block__button {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    color: var(--matt-black)
}

.text-block__button .icon .arrow {
    color: var(--white)
}

[data-theme=light] .text-block__button {
    background-color: var(--matt-black);
    color: var(--white)
}

[data-theme=light] .text-block__button .chevron {
    fill: var(--matt-black)
}

[data-theme=light] .text-block__button .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .text-block__button,
    [data-theme=light] .text-block__button.hover,
    [data-theme=light] .text-block__button:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .text-block__button .arrow,
    [data-theme=light] .text-block__button.hover .arrow,
    [data-theme=light] .text-block__button:hover:not(:disabled) .arrow {
        color: var(--white)
    }

    .hover [data-theme=light] .text-block__button .chevron,
    [data-theme=light] .text-block__button.hover .chevron,
    [data-theme=light] .text-block__button:hover:not(:disabled) .chevron {
        fill: var(--white)
    }
}

@media(min-width:768px) {
    .text-block__button {
        margin-top: 3rem
    }
}

.text-card-carousel {
    margin-bottom: max(5rem, min(9vw, 8rem));
    overflow: hidden
}

.text-card-carousel:last-child {
    margin-bottom: 0;
    padding-bottom: max(5rem, min(9vw, 8rem))
}

@media(min-width:520px) {
    .text-card-carousel {
        margin-top: max(3.5rem, min(7.75vw, 7rem))
    }
}

.text-card-carousel__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.text-card-carousel__layout {
    display: grid;
    grid-gap: .75rem;
    gap: .75rem
}

@media(min-width:1024px) {
    .text-card-carousel__layout {
        grid-auto-flow: column
    }
}

.text-card-carousel__card {
    --background: var(--grey-90);
    --color: var(--white);
    --active-background: var(--white);
    --active-color: var(--matt-black);
    background: var(--background);
    border: 1px solid var(--grey-80);
    cursor: pointer;
    display: flex;
    flex-basis: 33vw;
    flex-direction: column;
    flex-grow: 1;
    flex-shrink: 1;
    padding: 1.5rem;
    position: relative;
    transition: all .2s ease-in-out;
    transition-property: border-color
}

@media(min-width:1024px) {
    .text-card-carousel__card {
        width: 33vw
    }
}

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

    .hover .text-card-carousel__card,
    .text-card-carousel__card.hover,
    .text-card-carousel__card:hover:not(:disabled) {
        border-color: var(--grey-70)
    }

    .hover .text-card-carousel__card .card__toggle,
    .text-card-carousel__card.hover .card__toggle,
    .text-card-carousel__card:hover:not(:disabled) .card__toggle {
        background-color: var(--volt);
        border-color: var(--volt)
    }

    .hover .text-card-carousel__card .card__toggle .icon,
    .text-card-carousel__card.hover .card__toggle .icon,
    .text-card-carousel__card:hover:not(:disabled) .card__toggle .icon {
        color: var(--matt-black);
        transform: rotate(90deg)
    }
}

[data-theme=light] .text-card-carousel__card {
    --active-background: var(--grey-90);
    --active-color: var(--grey-10);
    --background: var(--white);
    --color: var(--matt-black);
    border-color: var(--grey-20)
}

[data-theme=light] .text-card-carousel__card .card__toggle {
    border-color: var(--grey-30)
}

[data-theme=light] .text-card-carousel__card .card__toggle .icon {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .text-card-carousel__card,
    [data-theme=light] .text-card-carousel__card.hover,
    [data-theme=light] .text-card-carousel__card:hover:not(:disabled) {
        border-color: var(--grey-30)
    }
}

@media(min-width:1024px) {

    .text-card-carousel__card .card__content,
    .text-card-carousel__card .card__link {
        opacity: 0;
        overflow: hidden;
        visibility: hidden
    }
}

.text-card-carousel__card .card__content {
    margin-bottom: auto
}

.text-card-carousel__card .card__number {
    color: var(--grey-60);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .04em;
    line-height: 1.3
}

@media(min-width:1024px) {
    .text-card-carousel__card .card__number {
        color: var(--grey-70)
    }
}

[data-theme=light] .text-card-carousel__card .card__number {
    color: var(--grey-30)
}

.text-card-carousel__card .card__title {
    font-size: 1.75rem;
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 1.3;
    margin-top: .375rem
}

@media(min-width:520px) {
    .text-card-carousel__card .card__title {
        margin-top: 1rem
    }
}

.text-card-carousel__card .card__subheading {
    color: var(--grey-50);
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.42;
    padding-top: .675rem;
    text-wrap: pretty
}

.text-card-carousel__card .card__text {
    color: var(--grey-30);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42;
    padding-bottom: .25rem;
    padding-top: max(.875rem, min(1.625vw, 1.5rem));
    text-wrap: pretty
}

@media(min-width:1024px) {
    .text-card-carousel__card .card__text {
        color: var(--grey-70)
    }
}

.text-card-carousel__card .card__toggle {
    align-items: center;
    border: 1px solid var(--grey-60);
    border-radius: 50%;
    display: inline-flex;
    height: 2.5rem;
    justify-content: center;
    margin-right: auto;
    margin-top: 2rem;
    transition: all .2s ease-in-out;
    transition-property: background-color;
    width: 2.5rem
}

@media(min-width:1024px) {
    .text-card-carousel__card .card__toggle {
        pointer-events: none
    }
}

.text-card-carousel__card .card__toggle .icon {
    color: var(--white);
    height: 2.5rem;
    transform: rotate(45deg);
    transition: all .2s ease-in-out;
    transition-property: color, transform;
    width: 2.5rem
}

.text-card-carousel__card .card__toggle [data-label-card-expanded] {
    display: none
}

@media(hover:hover)and (pointer:fine) {

    .hover .text-card-carousel__card .card__toggle,
    .text-card-carousel__card .card__toggle.hover,
    .text-card-carousel__card .card__toggle:hover:not(:disabled) {
        background-color: var(--white)
    }

    .hover .text-card-carousel__card .card__toggle .icon,
    .text-card-carousel__card .card__toggle.hover .icon,
    .text-card-carousel__card .card__toggle:hover:not(:disabled) .icon {
        color: var(--black)
    }
}

.text-card-carousel__card.is-expanded {
    cursor: default
}

.text-card-carousel__card.is-expanded [data-label-card-expanded] {
    display: inline
}

.text-card-carousel__card.is-expanded [data-label-card-collapsed] {
    display: none
}

.text-card-carousel__card.is-expanded .card__subheading {
    color: var(--grey-70)
}

.text-card-carousel__card.is-expanded .card__number {
    color: var(--grey-60)
}

.text-card-carousel__card.is-expanded .card__text {
    color: var(--grey-70)
}

@media(hover:hover)and (pointer:fine) {

    .hover .text-card-carousel__card.is-expanded .card__toggle,
    .text-card-carousel__card.is-expanded.hover .card__toggle,
    .text-card-carousel__card.is-expanded:hover:not(:disabled) .card__toggle {
        background-color: var(--matt-black);
        border-color: var(--matt-black)
    }

    .hover .text-card-carousel__card.is-expanded .card__toggle .icon,
    .text-card-carousel__card.is-expanded.hover .card__toggle .icon,
    .text-card-carousel__card.is-expanded:hover:not(:disabled) .card__toggle .icon {
        color: var(--white)
    }
}

.text-card-carousel__card.is-expanded .card__toggle {
    background-color: var(--matt-black);
    border-color: var(--matt-black);
    pointer-events: auto
}

.text-card-carousel__card.is-expanded .card__toggle .icon {
    color: var(--white);
    transform: rotate(90deg)
}

@media(hover:hover)and (pointer:fine) {

    .hover .text-card-carousel__card.is-expanded .card__toggle,
    .text-card-carousel__card.is-expanded .card__toggle.hover,
    .text-card-carousel__card.is-expanded .card__toggle:hover:not(:disabled) {
        background-color: var(--volt);
        border-color: var(--volt)
    }

    .hover .text-card-carousel__card.is-expanded .card__toggle .icon,
    .text-card-carousel__card.is-expanded .card__toggle.hover .icon,
    .text-card-carousel__card.is-expanded .card__toggle:hover:not(:disabled) .icon {
        color: var(--matt-black);
        transform: rotate(45deg)
    }

    .hover [data-theme=light] .text-card-carousel__card.is-expanded .card__toggle,
    [data-theme=light] .text-card-carousel__card.is-expanded.hover .card__toggle,
    [data-theme=light] .text-card-carousel__card.is-expanded:hover:not(:disabled) .card__toggle {
        background-color: var(--white);
        border-color: var(--white)
    }

    .hover [data-theme=light] .text-card-carousel__card.is-expanded .card__toggle .icon,
    [data-theme=light] .text-card-carousel__card.is-expanded.hover .card__toggle .icon,
    [data-theme=light] .text-card-carousel__card.is-expanded:hover:not(:disabled) .card__toggle .icon {
        color: var(--matt-black)
    }
}

[data-theme=light] .text-card-carousel__card.is-expanded .card__subheading {
    color: var(--white)
}

[data-theme=light] .text-card-carousel__card.is-expanded .card__text {
    color: var(--grey-30)
}

[data-theme=light] .text-card-carousel__card.is-expanded .card__toggle {
    background-color: var(--white);
    border-color: var(--white)
}

[data-theme=light] .text-card-carousel__card.is-expanded .card__toggle .icon {
    color: var(--matt-black)
}

.text-card-carousel__card .card__link {
    color: var(--volt);
    position: absolute;
    right: 1.5rem;
    top: 1.5rem
}

.text-card-carousel__card .card__link .arrow,
.text-card-carousel__card .card__link .icon {
    transition: all .2s ease-in-out;
    transition-property: color
}

.text-card-carousel__card .card__link .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover .text-card-carousel__card .card__link .icon,
    .text-card-carousel__card .card__link.hover .icon,
    .text-card-carousel__card .card__link:hover:not(:disabled) .icon {
        color: var(--matt-black)
    }

    .hover .text-card-carousel__card .card__link .arrow,
    .text-card-carousel__card .card__link.hover .arrow,
    .text-card-carousel__card .card__link:hover:not(:disabled) .arrow {
        color: var(--white)
    }
}

.text-media-card {
    margin-top: 2rem
}

.text-block+.text-media-card {
    margin-top: max(2.5rem, min(11.667vw, 10.5rem))
}

main>.text-media-card:last-child {
    padding-bottom: max(4rem, min(8.61vw, 7.75rem))
}

.text-media-card__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.text-media-card__layout {
    background-color: var(--grey-90);
    border: 1px solid var(--grey-80);
    border-radius: .75rem;
    display: grid;
    overflow: hidden
}

@media(min-width:768px) {
    .text-media-card__layout {
        border-radius: 1rem;
        grid-template-columns: repeat(2, 1fr)
    }
}

[data-theme=light] .text-media-card__layout {
    background-color: var(--white);
    border-color: var(--grey-20)
}

.text-media-card__image {
    grid-column: 1
}

@media(min-width:768px) {
    [data-layout=image-right] .text-media-card__image {
        grid-column: 2;
        grid-row: 1
    }
}

.text-media-card__image img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.text-media-card__content {
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: 1.5rem 1.25rem;
    row-gap: max(1rem, min(2.2vw, 2rem))
}

@media(min-width:520px) {
    .text-media-card__content {
        padding: max(2.5rem, min(4vw, 4rem))max(2rem, min(4vw, 4rem))
    }
}

.text-media-card__heading {
    font-size: max(1.75rem, min(3.05vw, 2.75rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3;
    text-wrap: pretty
}

.text-media-card__text {
    color: var(--grey-30);
    text-wrap: pretty
}

.text-media-card__text .intro {
    font-size: max(1.5rem, min(1.94vw, 1.75rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3
}

[data-theme=light] .text-media-card__text .intro {
    color: var(--matt-black)
}

.text-media-card__text h2 {
    font-size: max(2.5rem, min(3.05vw, 2.75rem));
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 1.3
}

.text-media-card__text h2+* {
    margin-top: 1.5rem
}

.text-media-card__text h3 {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.35
}

.text-media-card__text h3+* {
    margin-top: 1rem
}

.text-media-card__text h4 {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.35
}

.text-media-card__text h4+* {
    margin-top: .25rem
}

.text-media-card__text *+h2 {
    margin-top: max(2rem, min(2.75vw, 2.5rem))
}

.text-media-card__text *+h3 {
    margin-top: max(2rem, min(3.33vw, 3rem))
}

.text-media-card__text *+h4 {
    margin-top: max(1.5rem, min(2.22vw, 2rem))
}

.text-media-card__text li,
.text-media-card__text p {
    text-wrap: pretty
}

@media(min-width:768px) {

    .text-media-card__text li,
    .text-media-card__text p {
        line-height: 1.59
    }
}

.text-media-card__text li,
.text-media-card__text p {
    color: var(--grey-40);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42
}

[data-theme=light] .text-media-card__text li,
[data-theme=light] .text-media-card__text p {
    color: var(--grey-60)
}

.text-media-card__text li {
    padding-left: .5em
}

.text-media-card__text *+ol,
.text-media-card__text *+ul {
    margin-top: 1em
}

.text-media-card__text li+li {
    margin-top: .35em
}

.text-media-card__text p+p {
    margin-top: max(.75rem, min(1.1vw, 1rem))
}

.text-media-card__text strong {
    font-weight: 500
}

.text-media-card__text a {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% .0625rem;
    border-bottom: 1px solid transparent;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: all .2s ease-in-out;
    transition-property: color;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1)
}

[data-theme=light] .text-media-card__text a {
    background-image: linear-gradient(var(--putty), var(--putty))
}

@media(hover:hover)and (pointer:fine) {

    .hover .text-media-card__text a,
    .text-media-card__text a.hover,
    .text-media-card__text a:hover:not(:disabled) {
        color: var(--grey-20)
    }

    [data-theme=light] .hover .text-media-card__text a,
    [data-theme=light] .text-media-card__text a.hover,
    [data-theme=light] .text-media-card__text a:hover:not(:disabled) {
        color: var(--grey-80)
    }
}

@media(min-width:768px) {
    .text-media-card__text blockquote {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
}

.text-media-card__text blockquote p {
    font-family: var(--serif);
    font-size: 1.75rem;
    font-weight: 200;
    letter-spacing: -.03em;
    line-height: 1.3
}

.text-media-card__text blockquote+* {
    margin-top: 3.75rem
}

.text-media-card__text *+blockquote {
    margin-top: 4.25rem
}

.text-media-card__text ul {
    list-style: disc;
    list-style-position: outside;
    padding-left: 2em
}

.text-media-card__text {
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42
}

[data-theme=light] .text-media-card__text {
    color: var(--grey-80)
}

.text-media-card__button .button {
    align-items: center;
    border: 1px solid;
    border-radius: 10rem;
    cursor: pointer;
    display: inline-flex;
    font-size: .9375rem;
    font-weight: 500;
    gap: .5rem;
    justify-content: center;
    justify-self: start;
    letter-spacing: .01875rem;
    line-height: 100%;
    padding: .5rem max(1rem, min(1.3888vw, 1.25rem));
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: background-color, color, border-color;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
    width: auto
}

@media(min-width:520px) {
    .text-media-card__button .button {
        padding-bottom: .625rem;
        padding-top: .625rem
    }
}

@media(hover:hover)and (pointer:fine) {

    .hover .text-media-card__button .button,
    .text-media-card__button .button.hover,
    .text-media-card__button .button:hover:not(:disabled) {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }

    .hover .text-media-card__button .button .icon-arrow-up-right,
    .text-media-card__button .button.hover .icon-arrow-up-right,
    .text-media-card__button .button:hover:not(:disabled) .icon-arrow-up-right {
        transform: rotate(45deg)
    }

    .hover .text-media-card__button .button .icon-chevron .chevron,
    .text-media-card__button .button.hover .icon-chevron .chevron,
    .text-media-card__button .button:hover:not(:disabled) .icon-chevron .chevron {
        transform: scaleY(-1)translateY(1px)
    }
}

.text-media-card__button .button .icon {
    transition: all .2s ease-in-out;
    transition-property: transform
}

.text-media-card__button .button .icon .arrow {
    transition: all .2s ease-in-out;
    transition-property: color
}

.text-media-card__button .button .icon .chevron {
    transform-origin: center center;
    transition: all .2s ease-in-out;
    transition-property: fill, transform
}

.text-media-card__button .button {
    background-color: var(--white);
    border: 1px solid var(--border-color);
    color: var(--matt-black)
}

.text-media-card__button .button .icon .arrow {
    color: var(--white)
}

[data-theme=light] .text-media-card__button .button {
    background-color: var(--matt-black);
    color: var(--white)
}

[data-theme=light] .text-media-card__button .button .chevron {
    fill: var(--matt-black)
}

[data-theme=light] .text-media-card__button .button .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover [data-theme=light] .text-media-card__button .button,
    [data-theme=light] .text-media-card__button .button.hover,
    [data-theme=light] .text-media-card__button .button:hover:not(:disabled) {
        color: var(--matt-black)
    }

    .hover [data-theme=light] .text-media-card__button .button .arrow,
    [data-theme=light] .text-media-card__button .button.hover .arrow,
    [data-theme=light] .text-media-card__button .button:hover:not(:disabled) .arrow {
        color: var(--white)
    }

    .hover [data-theme=light] .text-media-card__button .button .chevron,
    [data-theme=light] .text-media-card__button .button.hover .chevron,
    [data-theme=light] .text-media-card__button .button:hover:not(:disabled) .chevron {
        fill: var(--white)
    }
}

.vertical-carousel {
    margin-bottom: max(2.5rem, min(8.88vw, 8rem));
    margin-top: max(3rem, min(8.33vw, 7.5rem));
    overflow: hidden
}

.vertical-carousel__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.vertical-carousel__header {
    border-top: 1px solid var(--grey-80);
    display: grid;
    grid-template-areas: "heading" "menu" "intro";
    margin-bottom: max(5rem, min(13.33vw, 12rem));
    grid-row-gap: 2rem;
    padding-top: max(4rem, min(7.75vw, 7rem));
    row-gap: 2rem
}

@media(min-width:768px) {
    .vertical-carousel__header {
        gap: 3rem 7rem;
        grid-template-areas: "heading heading" "menu intro";
        grid-template-columns: 1fr 2fr
    }
}

[data-theme=light] .vertical-carousel__header {
    border-color: var(--grey-20)
}

.vertical-carousel__heading {
    font-size: max(2.75rem, min(3.88vw, 3.5rem));
    font-weight: 500;
    grid-area: heading;
    letter-spacing: -.03em;
    line-height: 1.2
}

.vertical-carousel__menu {
    align-self: start;
    display: grid;
    grid-area: menu;
    margin-top: 2.25rem
}

@media(min-width:768px) {
    .vertical-carousel__menu {
        border-bottom: 1px solid var(--grey-80);
        margin-top: 0
    }

    [data-theme=light] .vertical-carousel__menu {
        border-color: var(--grey-20)
    }
}

.vertical-carousel__menu-link {
    align-items: center;
    border-top: 1px solid var(--grey-80);
    column-gap: 1ch;
    display: flex;
    font-size: max(1.125rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    line-height: 1.4;
    padding-bottom: .7rem;
    padding-top: .7rem
}

[data-theme=light] .vertical-carousel__menu-link {
    border-color: var(--grey-20)
}

.vertical-carousel__menu-link .title {
    background-image: linear-gradient(currentColor, currentColor);
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 .075rem;
    transition: all .2s ease-in-out;
    transition-property: background-size, color
}

.vertical-carousel__menu-link .icon {
    color: var(--volt);
    margin-left: auto;
    opacity: 0;
    transition: all .2s ease-in-out;
    transition-property: opacity
}

.vertical-carousel__menu-link .icon .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover .vertical-carousel__menu-link .title,
    .vertical-carousel__menu-link.hover .title,
    .vertical-carousel__menu-link:hover:not(:disabled) .title {
        background-size: 100% .075rem
    }

    .hover .vertical-carousel__menu-link .icon,
    .vertical-carousel__menu-link.hover .icon,
    .vertical-carousel__menu-link:hover:not(:disabled) .icon {
        opacity: 1;
        visibility: visible
    }
}

.vertical-carousel__menu-link .number {
    color: var(--grey-60);
    flex: none;
    width: 2ch
}

[data-theme=light] .vertical-carousel__menu-link .number {
    color: var(--grey-30)
}

.vertical-carousel__intro {
    grid-area: intro
}

.vertical-carousel__intro .large-text {
    font-size: max(1.5rem, min(2.78vw, 2.5rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.25
}

.vertical-carousel__intro .small-text {
    color: var(--grey-40);
    font-size: 1.25rem;
    font-weight: 300;
    line-height: 1.4;
    margin-top: 2rem
}

[data-theme=light] .vertical-carousel__intro .small-text {
    color: var(--grey-70)
}

.vertical-carousel__squiggle {
    bottom: 0;
    left: 0;
    overflow-y: clip;
    pointer-events: none;
    position: absolute;
    right: 0;
    top: -2.5rem
}

.vertical-carousel__squiggle svg {
    height: auto;
    margin-left: -30vw;
    width: 140vw
}

@media(min-width:768px) {
    .vertical-carousel__squiggle {
        top: -6rem
    }
}

.vertical-carousel__scroller {
    border-bottom: 1px solid var(--grey-80);
    padding-bottom: max(4rem, min(7.75vw, 7rem));
    position: relative
}

[data-theme=light] .vertical-carousel__scroller {
    border-bottom-color: var(--grey-20)
}

.vertical-carousel__cards {
    display: grid;
    position: relative;
    grid-row-gap: max(1rem, min(2.2vw, 2rem));
    row-gap: max(1rem, min(2.2vw, 2rem));
    z-index: 1
}

@media(min-width:1024px) {
    .vertical-carousel__cards {
        grid-template-areas: "content"
    }
}

.vertical-carousel__card {
    -webkit-backdrop-filter: blur(.75rem);
    backdrop-filter: blur(.75rem);
    background: var(--grey-90-alpha-95);
    border: 1px solid var(--grey-80);
    border-radius: .75rem;
    display: grid;
    grid-template-rows: repeat(3, -webkit-min-content)auto -webkit-min-content;
    grid-template-rows: repeat(3, min-content)auto min-content;
    padding: 2rem 1.25rem;
    position: relative;
    grid-row-gap: .75rem;
    row-gap: .75rem;
    width: 100%;
    z-index: 1
}

@media(min-width:768px) {
    .vertical-carousel__card {
        align-items: center;
        column-gap: 4rem;
        grid-template-areas: "number ." "title ." "subtitle list" "text list" "button list";
        grid-template-columns: 4fr 5fr;
        padding: 3.5rem 4rem;
        row-gap: 0
    }
}

@media(min-width:1024px) {
    .vertical-carousel__card {
        grid-area: content
    }

    .vertical-carousel__card:first-child {
        z-index: 2
    }

    .vertical-carousel__card:nth-child(2) {
        z-index: 3
    }

    .vertical-carousel__card:nth-child(3) {
        z-index: 4
    }

    .vertical-carousel__card:nth-child(4) {
        z-index: 5
    }

    .vertical-carousel__card:nth-child(5) {
        z-index: 6
    }
}

[data-theme=light] .vertical-carousel__card {
    background: var(--white-alpha-90);
    border-color: var(--grey-10)
}

.vertical-carousel__card .number {
    color: var(--grey-50);
    font-size: 1rem;
    font-weight: 400;
    letter-spacing: .04em;
    line-height: 1.3
}

.vertical-carousel__card .title {
    font-size: max(1.75rem, min(3.05vw, 2.75rem));
    font-weight: 500;
    letter-spacing: -.03em;
    line-height: 1.3
}

@media(min-width:768px) {
    .vertical-carousel__card .title {
        margin-bottom: 1rem;
        margin-top: 1rem
    }
}

.vertical-carousel__card .text {
    color: var(--grey-30);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42;
    margin-top: max(.75rem, min(1.67vw, 1.5rem));
    max-width: 30rem;
    text-wrap: pretty
}

[data-theme=light] .vertical-carousel__card .text {
    color: var(--grey-70)
}

.vertical-carousel__card .image {
    aspect-ratio: 7/5;
    border-radius: .5rem;
    overflow: hidden
}

@media(min-width:1024px) {
    .vertical-carousel__card .image {
        aspect-ratio: 4/3
    }
}

.vertical-carousel__card .image img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.vertical-carousel__card .caption {
    border-left: 1px solid var(--grey-80);
    color: var(--grey-50);
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.35;
    margin-top: .5rem;
    padding-left: .5rem
}

.vertical-carousel__card .switcher {
    margin-bottom: 1.5rem;
    margin-top: 1.5rem
}

@media(min-width:1024px) {
    .vertical-carousel__card .switcher {
        margin-bottom: 0;
        margin-top: 0
    }
}

.vertical-carousel__card .switcher__buttons {
    display: flex;
    flex-wrap: wrap;
    gap: .375rem;
    margin-bottom: 2rem
}

.vertical-carousel__card .switcher__buttons button {
    border: 1px solid var(--grey-70);
    border-radius: 6.25rem;
    color: var(--grey-50);
    font-size: .8125rem;
    font-weight: 500;
    letter-spacing: .01625rem;
    line-height: 1.3;
    padding: .375rem .75rem;
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: color, border-color, background-color
}

@media(hover:hover)and (pointer:fine) {

    .hover .vertical-carousel__card .switcher__buttons button,
    .vertical-carousel__card .switcher__buttons button.hover,
    .vertical-carousel__card .switcher__buttons button:hover:not(:disabled) {
        border-color: var(--white);
        color: var(--white)
    }
}

.vertical-carousel__card .switcher__buttons button.is-active {
    background-color: var(--volt);
    border-color: var(--black-alpha-05);
    color: var(--matt-black);
    pointer-events: none
}

.vertical-carousel__card .switcher__text {
    display: grid;
    grid-template-areas: "content"
}

.vertical-carousel__card .switcher__text .text {
    align-self: start;
    grid-area: content;
    margin-top: 0;
    opacity: 0;
    text-wrap: pretty;
    transition: all .2s ease-in-out;
    transition-property: opacity;
    visibility: hidden
}

.vertical-carousel__card .switcher__text .text.is-active {
    opacity: 1;
    visibility: visible
}

.vertical-carousel--services .vertical-carousel__header {
    row-gap: 1.5rem
}

.vertical-carousel--services .vertical-carousel__heading {
    font-size: max(2.75rem, min(5vw, 4.5rem));
    line-height: 1.1
}

@media(min-width:768px) {
    .vertical-carousel--services .vertical-carousel__intro {
        margin-top: 0
    }
}

.vertical-carousel--services .vertical-carousel__card {
    grid-template-areas: "number" "title" "subtitle" "text" "list" "button"
}

@media(min-width:768px) {
    .vertical-carousel--services .vertical-carousel__card {
        align-items: unset;
        grid-template-areas: "number ." "title ." "subtitle list" "text list" "button list";
        grid-template-columns: repeat(2, 1fr);
        padding: 3.5rem 4rem
    }
}

.vertical-carousel--services .vertical-carousel__card .number {
    grid-area: number
}

.vertical-carousel--services .vertical-carousel__card .title {
    grid-area: title
}

.vertical-carousel--services .vertical-carousel__card .subtitle {
    grid-area: subtitle
}

.vertical-carousel--services .vertical-carousel__card .list {
    grid-area: list
}

.vertical-carousel--services .vertical-carousel__card .text {
    grid-area: text
}

.vertical-carousel--services .vertical-carousel__card .button {
    grid-area: button
}

.vertical-carousel--services .vertical-carousel__card .title {
    font-size: max(2.5625rem, min(3.88vw, 3.5rem));
    font-weight: 500;
    line-height: 1.3
}

.vertical-carousel--services .vertical-carousel__card .subtitle {
    font-size: max(1.125rem, min(1.39vw, 1.25rem));
    font-weight: 300;
    line-height: 1.4
}

.vertical-carousel--services .vertical-carousel__card .button {
    align-self: end;
    border: 1px solid var(--grey-60);
    border-radius: 6.25rem;
    color: var(--white);
    display: inline-block;
    font-size: .9375rem;
    font-weight: 500;
    justify-self: start;
    margin-top: max(2rem, min(4.4vw, 4rem));
    padding: .625rem 1rem;
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: border-color, background-color, color
}

[data-theme=light] .vertical-carousel--services .vertical-carousel__card .button {
    border-color: var(--grey-30);
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover .vertical-carousel--services .vertical-carousel__card .button,
    .vertical-carousel--services .vertical-carousel__card .button.hover,
    .vertical-carousel--services .vertical-carousel__card .button:hover:not(:disabled) {
        background-color: var(--volt);
        border-color: var(--black-alpha-05);
        color: var(--matt-black)
    }
}

.vertical-carousel--services .vertical-carousel__card .list {
    font-size: max(1rem, min(1.39vw, 1.25rem));
    font-weight: 400;
    line-height: 1.4;
    margin-top: 1rem
}

@media(min-width:768px) {
    .vertical-carousel--services .vertical-carousel__card .list {
        margin-top: 0
    }

    .vertical-carousel--services .vertical-carousel__card .list ul.two-column {
        column-count: 2;
        column-gap: max(1rem, min(3.33vw, 3rem))
    }
}

.vertical-carousel--services .vertical-carousel__card .list li+li {
    margin-top: .5em
}

@media(min-width:768px) {
    .vertical-carousel--services .vertical-carousel__card .list li+li {
        margin-top: .75em
    }
}

.vertical-carousel--services .vertical-carousel__card .link {
    position: absolute;
    right: 1rem;
    top: 1rem
}

@media(min-width:768px) {
    .vertical-carousel--services .vertical-carousel__card .link {
        right: 2rem;
        top: 2rem
    }
}

.vertical-carousel--services .vertical-carousel__card .link .icon {
    color: var(--volt);
    height: 2rem;
    width: 2rem
}

.vertical-carousel--services .vertical-carousel__card .link .icon .arrow {
    color: var(--matt-black)
}

@media(hover:hover)and (pointer:fine) {

    .hover .vertical-carousel--services .vertical-carousel__card .link .icon,
    .vertical-carousel--services .vertical-carousel__card .link.hover .icon,
    .vertical-carousel--services .vertical-carousel__card .link:hover:not(:disabled) .icon {
        color: var(--white)
    }

    [data-theme=light] .hover .vertical-carousel--services .vertical-carousel__card .link .icon,
    [data-theme=light] .vertical-carousel--services .vertical-carousel__card .link.hover .icon,
    [data-theme=light] .vertical-carousel--services .vertical-carousel__card .link:hover:not(:disabled) .icon {
        color: var(--matt-black)
    }

    [data-theme=light] .hover .vertical-carousel--services .vertical-carousel__card .link .icon .arrow,
    [data-theme=light] .vertical-carousel--services .vertical-carousel__card .link.hover .icon .arrow,
    [data-theme=light] .vertical-carousel--services .vertical-carousel__card .link:hover:not(:disabled) .icon .arrow {
        color: var(--white)
    }
}

@media(min-width:768px) {
    .what-we-offer {
        margin-bottom: 4.5rem;
        margin-top: 4.5rem
    }
}

.what-we-offer__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.what-we-offer__card {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: var(--grey-90-alpha-90);
    border: 1px solid var(--grey-80);
    border-radius: .75rem;
    padding: max(1.125rem, min(3.33vw, 3rem))max(1.125rem, min(5vw, 4.5rem))
}

[data-theme=light] .what-we-offer__card {
    background: var(--white-alpha-90);
    border-color: var(--grey-20)
}

@media(min-width:1024px) {
    .what-we-offer__card {
        border-radius: .5rem
    }
}

.what-we-offer__layout {
    display: grid
}

@media(min-width:1024px) {
    .what-we-offer__layout {
        column-gap: max(2.5rem, min(4.44vw, 4rem));
        grid-template-columns: 7fr 18fr;
        row-gap: 1rem
    }
}

.what-we-offer__header {
    margin-top: .25rem
}

@media(min-width:768px) {
    .what-we-offer__header {
        margin-top: max(2rem, min(5.55vw, 5rem))
    }
}

.what-we-offer__heading {
    font-family: var(--serif);
    font-size: max(1.75rem, min(2.77vw, 2.5rem));
    font-weight: 200;
    letter-spacing: -.02em;
    line-height: 1.3;
    margin-bottom: max(1rem, min(2.22vw, 2rem))
}

.what-we-offer__toc {
    counter-reset: item;
    list-style: decimal;
    list-style-position: inside;
    margin-bottom: 3.5rem;
    margin-top: 1rem
}

@media(min-width:1024px) {
    .what-we-offer__toc {
        border-bottom: 1px solid var(--grey-80);
        margin-bottom: 0
    }
}

[data-theme=light] .what-we-offer__toc {
    border-bottom-color: var(--grey-20)
}

.what-we-offer__toc-link {
    border-top: 1px solid var(--grey-80);
    counter-increment: item;
    display: flex;
    font-size: 1.125rem;
    font-weight: 300;
    line-height: 1.42;
    padding-bottom: .75rem;
    padding-top: .75rem
}

.what-we-offer__toc-link:before {
    content: counter(item)". "
}

[data-theme=light] .what-we-offer__toc-link {
    border-top-color: var(--grey-20)
}

.what-we-offer__toc-link .link-text {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 0 .0625rem;
    line-height: 1.42;
    margin-right: auto;
    padding-bottom: .1em;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: background-size .3s ease
}

[data-theme=light] .what-we-offer__toc-link .link-text {
    background-image: linear-gradient(var(--putty), var(--putty))
}

.what-we-offer__toc-link .icon {
    align-self: center;
    color: var(--volt);
    margin-left: auto;
    opacity: 0;
    transition: all .2s ease-in-out;
    transition-property: opacity
}

.what-we-offer__toc-link .icon .arrow {
    color: var(--matt-black)
}

.what-we-offer__toc-link.active .link-text {
    background-size: 100% .0625rem
}

.what-we-offer__toc-link.active .icon {
    opacity: 1
}

.what-we-offer__body {
    display: grid;
    grid-row-gap: 1.5rem;
    row-gap: 1.5rem
}

@media(min-width:768px) {
    .what-we-offer__body {
        margin-top: max(6.5rem, min(10vw, 9rem));
        row-gap: 4rem
    }
}

.what-we-offer__section:not(:last-child) {
    border-bottom: 1px solid var(--grey-80);
    margin-bottom: 1rem
}

@media(min-width:1024px) {
    .what-we-offer__section:not(:last-child) {
        margin-bottom: 0
    }
}

[data-theme=light] .what-we-offer__section:not(:last-child) {
    border-bottom-color: var(--grey-20)
}

@media(min-width:1024px) {
    .what-we-offer__section {
        padding-bottom: 1rem
    }
}

.what-we-offer__subheading {
    font-size: 1.75rem;
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3;
    margin-bottom: 1.5rem
}

.what-we-offer__text {
    color: var(--grey-30);
    margin-bottom: 1.5rem
}

.what-we-offer__text .intro {
    font-size: max(1.5rem, min(1.94vw, 1.75rem));
    font-weight: 400;
    letter-spacing: -.02em;
    line-height: 1.3
}

[data-theme=light] .what-we-offer__text .intro {
    color: var(--matt-black)
}

.what-we-offer__text h2 {
    font-size: max(2.5rem, min(3.05vw, 2.75rem));
    font-weight: 400;
    letter-spacing: -.03em;
    line-height: 1.3
}

.what-we-offer__text h2+* {
    margin-top: 1.5rem
}

.what-we-offer__text h3 {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.35
}

.what-we-offer__text h3+* {
    margin-top: 1rem
}

.what-we-offer__text h4 {
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.35
}

.what-we-offer__text h4+* {
    margin-top: .25rem
}

.what-we-offer__text *+h2 {
    margin-top: max(2rem, min(2.75vw, 2.5rem))
}

.what-we-offer__text *+h3 {
    margin-top: max(2rem, min(3.33vw, 3rem))
}

.what-we-offer__text *+h4 {
    margin-top: max(1.5rem, min(2.22vw, 2rem))
}

.what-we-offer__text li,
.what-we-offer__text p {
    text-wrap: pretty
}

@media(min-width:768px) {

    .what-we-offer__text li,
    .what-we-offer__text p {
        line-height: 1.59
    }
}

.what-we-offer__text li,
.what-we-offer__text p {
    color: var(--grey-40);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42
}

[data-theme=light] .what-we-offer__text li,
[data-theme=light] .what-we-offer__text p {
    color: var(--grey-60)
}

.what-we-offer__text li {
    padding-left: .5em
}

.what-we-offer__text *+ol,
.what-we-offer__text *+ul {
    margin-top: 1em
}

.what-we-offer__text li+li {
    margin-top: .35em
}

.what-we-offer__text p+p {
    margin-top: max(.75rem, min(1.1vw, 1rem))
}

.what-we-offer__text strong {
    font-weight: 500
}

.what-we-offer__text a {
    background-image: linear-gradient(var(--volt), var(--volt));
    background-position: 0 100%;
    background-repeat: no-repeat;
    background-size: 100% .0625rem;
    border-bottom: 1px solid transparent;
    -webkit-text-decoration: none;
    text-decoration: none;
    transition: all .2s ease-in-out;
    transition-property: color;
    transition: background-size .5s cubic-bezier(.09, .69, 0, 1)
}

[data-theme=light] .what-we-offer__text a {
    background-image: linear-gradient(var(--putty), var(--putty))
}

@media(hover:hover)and (pointer:fine) {

    .hover .what-we-offer__text a,
    .what-we-offer__text a.hover,
    .what-we-offer__text a:hover:not(:disabled) {
        color: var(--grey-20)
    }

    [data-theme=light] .hover .what-we-offer__text a,
    [data-theme=light] .what-we-offer__text a.hover,
    [data-theme=light] .what-we-offer__text a:hover:not(:disabled) {
        color: var(--grey-80)
    }
}

@media(min-width:768px) {
    .what-we-offer__text blockquote {
        padding-left: 1.25rem;
        padding-right: 1.25rem
    }
}

.what-we-offer__text blockquote p {
    font-family: var(--serif);
    font-size: 1.75rem;
    font-weight: 200;
    letter-spacing: -.03em;
    line-height: 1.3
}

.what-we-offer__text blockquote+* {
    margin-top: 3.75rem
}

.what-we-offer__text *+blockquote {
    margin-top: 4.25rem
}

.what-we-offer__text ul {
    list-style: disc;
    list-style-position: outside;
    padding-left: 2em
}

.what-we-offer__text {
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42
}

[data-theme=light] .what-we-offer__text {
    color: var(--grey-70)
}

*+.what-we-offer__text {
    margin-top: 1.5rem
}

.what-we-offer__features {
    display: flex;
    flex-direction: column;
    margin-bottom: 2.5rem;
    row-gap: 2rem
}

@media(min-width:768px) {
    .what-we-offer__features {
        column-gap: 1.5rem;
        flex-direction: row;
        row-gap: 0
    }
}

*+.what-we-offer__features {
    margin-top: 2.5rem
}

@media(min-width:768px) {
    .what-we-offer__features .feature {
        flex: 1
    }
}

.what-we-offer__features .icon {
    height: 2rem;
    margin-bottom: max(.5rem, min(1.1vw, 1rem));
    position: relative;
    width: 2rem
}

.what-we-offer__features .icon .dark,
.what-we-offer__features .icon .light {
    bottom: 0;
    left: 0;
    object-fit: contain;
    position: absolute;
    right: 0;
    top: 0;
    transition: all .2s ease-in-out;
    transition-property: opacity
}

.what-we-offer__features .icon .light {
    opacity: 0;
    visibility: hidden
}

[data-theme=light] .what-we-offer__features .icon .light {
    opacity: 1;
    visibility: visible
}

[data-theme=light] .what-we-offer__features .icon .dark {
    opacity: 0;
    visibility: hidden
}

.what-we-offer__features .heading {
    font-size: 1.5rem;
    font-weight: 300;
    line-height: 1.35
}

.what-we-offer__features .text {
    color: var(--grey-30);
    font-size: max(1rem, min(1.25vw, 1.125rem));
    font-weight: 300;
    line-height: 1.42;
    margin-top: max(.5rem, min(1.1vw, 1rem));
    text-wrap: pretty
}

[data-theme=light] .what-we-offer__features .text {
    color: var(--grey-70)
}

.what-we-offer__image {
    margin-bottom: 4rem
}

*+.what-we-offer__image {
    margin-top: 4rem
}

@media(min-width:768px) {
    .what-we-offer__image:last-child {
        margin-bottom: 1rem
    }
}

.what-we-offer__image .image {
    aspect-ratio: 7/5;
    border-radius: .5rem;
    mix-blend-mode: luminosity;
    overflow: hidden
}

@media(min-width:768px) {
    .what-we-offer__image .image {
        aspect-ratio: 5/3
    }
}

.what-we-offer__image img {
    height: 100%;
    object-fit: cover;
    width: 100%
}

.what-we-offer__image .caption {
    border-left: 1px solid var(--grey-80);
    font-size: 1rem;
    font-weight: 300;
    line-height: 1.35;
    margin-top: .5rem;
    padding-left: .5rem
}

[data-theme=light] .what-we-offer__image .caption {
    border-left-color: var(--grey-20)
}

work-filters {
    display: block;
    position: relative
}

@media(min-width:375px) {
    work-filters {
        display: inline-block
    }
}

@media(hover:hover)and (pointer:fine) {

    .hover work-filters .hero__button,
    work-filters.hover .hero__button,
    work-filters:hover:not(:disabled) .hero__button {
        background-color: var(--volt);
        color: var(--matt-black)
    }

    .hover work-filters .hero__button .chevron,
    work-filters.hover .hero__button .chevron,
    work-filters:hover:not(:disabled) .hero__button .chevron {
        fill: var(--white);
        transform: scaleY(-1)translateY(1px)
    }
}

work-filters[open] .chevron {
    fill: var(--white);
    transform: scaleY(-1)translateY(1px)
}

.work-filters__dropdown {
    left: 0;
    opacity: 0;
    position: absolute;
    top: 100%;
    visibility: hidden;
    width: 100%
}

@media(min-width:375px) {
    .work-filters__dropdown {
        width: unset
    }
}

.work-filters__list {
    -webkit-backdrop-filter: blur(10px);
    backdrop-filter: blur(10px);
    background: var(--grey-90-alpha-90);
    border: 1px solid var(--grey-80);
    border-radius: .9375rem;
    display: inline-grid;
    justify-items: start;
    margin-top: .5rem;
    padding: 1.5rem;
    width: 100%
}

@media(min-width:375px) {
    .work-filters__list {
        margin-top: 1rem;
        min-width: 20rem
    }
}

[data-theme=light] .work-filters__list {
    background: var(--white-alpha-90);
    border-color: var(--grey-20)
}

.work-filters__button {
    font-size: .9375rem;
    font-weight: 500;
    letter-spacing: .02em;
    line-height: 1;
    padding-bottom: .75rem;
    padding-top: .75rem;
    text-transform: uppercase;
    transition: all .2s ease-in-out;
    transition-property: color
}

@media(hover:hover)and (pointer:fine) {

    .hover .work-filters__button,
    .work-filters__button.hover,
    .work-filters__button:hover:not(:disabled) {
        color: var(--volt)
    }

    [data-theme=light] .hover .work-filters__button,
    [data-theme=light] .work-filters__button.hover,
    [data-theme=light] .work-filters__button:hover:not(:disabled) {
        color: var(--grey-50)
    }
}

.work-grid,
.work-grid #content {
    position: relative
}

.work-grid {
    margin-bottom: max(5rem, min(10.5vw, 9.5rem))
}

.work-grid .featured-work {
    margin-top: 0
}

.work-grid #content {
    border-top: 1px solid var(--grey-80);
    padding-top: max(2.5rem, min(5vw, 4.5rem))
}

[data-theme=light] .work-grid #content {
    border-color: var(--grey-20)
}

.work-grid__container {
    margin-left: auto;
    margin-right: auto;
    max-width: max(320px, min(100vw, 1600px));
    padding-left: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem);
    padding-right: clamp(1rem, 5.2582159624vw + -.2323943662rem, 4.5rem)
}

.work-grid__layout {
    display: grid;
    grid-gap: max(1rem, min(3vw, 2rem));
    gap: max(1rem, min(3vw, 2rem));
    grid-template-columns: 1fr;
    margin-bottom: max(6rem, min(10vw, 9rem))
}

@media(min-width:520px) {
    .work-grid__layout {
        grid-template-columns: repeat(2, 1fr)
    }
}

.work-grid__layout .project-card__image {
    aspect-ratio: 3/2
}

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


.header .header__layout {
    position: relative;
}

.header .header__layout .header-menu {
    position: absolute;
    right: 0;
}

.header .menu-toggle,
.header .hamburger-lines {
    height: 4rem;
    width: 4rem;
    border-radius: 50%;
    background: #0094d3;
    display: inline-flex;
    justify-content: center;
    align-items: center;
}

.header .hamburger-lines {
    flex-direction: column;
    gap: 0.2em;
    text-align: end;
    justify-content: center;
    align-items: end;
    padding-right: 20px;
}

.header .line {
    display: block;
    height: 2px;
    background-color: #fff;
    border-radius: 4px;
    transition: 0.3s;
}

.header #bar1,
.header #bar2 {
    width: 50%;
}

.header #bar3 {
    width: 35%;
}

.header #hamburger-1.is-active .line:nth-child(3) {
    transform: translateY(-5px) rotate(-55deg);
    width: 55%;
}

.header #hamburger-1.is-active .line:nth-child(1) {
    transform: translateY(5px) rotate(45deg);
    width: 55%;
}

.header #hamburger-1.is-active .line:nth-child(2) {
    opacity: 0;
}