@keyframes splide-loading {
    0% {
        transform: rotate(0)
    }
    to {
        transform: rotate(1turn)
    }
}

.splide__track--draggable {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    user-select: none
}

.splide__track--fade>.splide__list>.splide__slide {
    opacity: 0;
    z-index: 0;
    margin: 0 !important
}

.splide__track--fade>.splide__list>.splide__slide.is-active {
    opacity: 1;
    z-index: 1
}

.splide--rtl {
    direction: rtl
}

.splide__track--ttb>.splide__list {
    display: block
}

.splide__container {
    box-sizing: border-box;
    position: relative
}

.splide__list {
    backface-visibility: hidden;
    height: 100%;
    display: flex;
    margin: 0 !important;
    padding: 0 !important
}

.splide.is-initialized:not(.is-active) .splide__list {
    display: block
}

.splide__pagination {
    pointer-events: none;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    margin: 0;
    display: flex
}

.splide__pagination li {
    pointer-events: auto;
    margin: 0;
    line-height: 1;
    list-style-type: none;
    display: inline-block
}

.splide:not(.is-overflow) .splide__pagination {
    display: none
}

.splide__progress__bar {
    width: 0
}

.splide {
    visibility: hidden;
    position: relative
}

.splide.is-initialized,
.splide.is-rendered {
    visibility: visible
}

.splide__slide {
    backface-visibility: hidden;
    box-sizing: border-box;
    flex-shrink: 0;
    margin: 0;
    position: relative;
    list-style-type: none !important
}

.splide__slide img {
    vertical-align: bottom
}

.splide__spinner {
    contain: strict;
    border: 2px solid #999;
    border-left-color: #0000;
    border-radius: 50%;
    width: 20px;
    height: 20px;
    margin: auto;
    animation: 1s linear infinite splide-loading;
    display: inline-block;
    position: absolute;
    inset: 0
}

.splide__sr {
    clip: rect(0 0 0 0);
    border: 0;
    width: 1px;
    height: 1px;
    margin: -1px;
    padding: 0;
    position: absolute;
    overflow: hidden
}

.splide__toggle.is-active .splide__toggle__play,
.splide__toggle__pause {
    display: none
}

.splide__toggle.is-active .splide__toggle__pause {
    display: inline
}

.splide__track {
    z-index: 0;
    position: relative;
    overflow: hidden
}

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

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:before,
blockquote:after,
q:before,
q:after {
    content: "";
    content: none
}

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

a:not([class]) {
    -webkit-text-decoration-skip-ink: auto;
    text-decoration-skip-ink: auto;
    color: currentColor
}

.otgs-development-site-front-end {
    display: none !important
}

::selection {
    background: var(--clr-primary);
    color: #fff
}

:root {
    --color-basic-red: #c72c27;
    --color-basic-green: #2ecc40;
    --color-basic-white: #fff;
    --color-basic-black: #000;
    --color-status-open: var(--color-basic-green);
    --color-status-closed: var(--color-basic-red);
    --clr-primary: #ff4f31;
    --clr-black: #12110b;
    --clr-beige: #f4efea;
    --clr-light-beige: #fdf9f9;
    --clr-off-white: #fdf8f7;
    --clr-glass: #f6f5f4;
    --clr-dark: #15140e;
    --clr-dark-raised: #26241b;
    --clr-bg: var(--clr-light-beige);
    --clr-text: var(--clr-black);
    --color-accent: var(--clr-primary);
    --clr-error: var(--color-basic-red);
    --color-social-facebook: #3b5998;
    --color-social-instagram: #e1306c;
    --color-social-youtube: #cd201f;
    --color-social-twitter: #1da1f2;
    --ease-out-expo: cubic-bezier(.19, 1, .22, 1);
    --ease-in-expo: cubic-bezier(.7, 0, .84, 0);
    --t-fast: .2s;
    --t-normal: .3s;
    --border-radius-mini: .25rem;
    --border-radius-small: .5rem;
    --border-radius-medium: .75rem;
    --border-radius-default: 1rem;
    --border-radius-full: 62.4375rem;
    --aspect-ratio-square: 1;
    --aspect-ratio-portrait: 4/5;
    --aspect-ratio-video: 16/9;
    --aspect-ratio-ultrawide: 21/9;
    --aspect-ratio-cinerama: 3/2;
    --aspect-ratio-hero: 1568/850;
    --pad: clamp(5rem, 3.125vw + 4.375rem, 7.5rem);
    --pad-hero: 8.75rem;
    --pad-hero-sm: 4rem;
    --gutter: clamp(1.25rem, 4.6875vw + .3125rem, 5rem);
    --container-ultra: 120rem;
    --container-xl: 98rem;
    --container-lg: 64.625rem;
    --container-md: 47.25rem;
    --container-sm: 30.125rem;
    --fs-display: clamp(2.5rem, 9.375vw + .625rem, 10rem);
    --fs-xxl: clamp(2.25rem, 6.5625vw + .9375rem, 7.5rem);
    --fs-xl: clamp(1.875rem, 3.90625vw + 1.09375rem, 5rem);
    --fs-l: clamp(1.625rem, 2.96875vw + 1.03125rem, 4rem);
    --fs-m: clamp(1.5rem, 1.875vw + 1.125rem, 3rem);
    --fs-s: clamp(1.375rem, 1.40625vw + 1.09375rem, 2.5rem);
    --fs-xs: clamp(1.25rem, .625vw + 1.125rem, 1.75rem);
    --fs-body-xs: clamp(.875rem, .15625vw + .84375rem, 1rem);
    --fs-body-sm: clamp(1rem, .15625vw + .96875rem, 1.125rem);
    --fs-body: clamp(1rem, .390625vw + .921875rem, 1.3125rem);
    --fs-body-lg: clamp(1.125rem, .46875vw + 1.03125rem, 1.5rem);
    --fs-body-display: clamp(2.5rem, 3.90625vw + 1.71875rem, 5.625rem)
}

.client-quote__quote,
.accordion__title,
.service-list__heading,
.coverage-lp__heading,
.intro-stats-lp__heading,
.intro-stats-lp__stat-value,
.hero-lp-centered__title,
.latest-work__heading,
.meet-the-team__heading,
.archive__title,
.hero-case__title,
.content--formatted ol.wp-block-list>li:before,
.wp-block-media-text__content ol.wp-block-list>li:before,
h6,
.feature-cards-list-lp__card-title,
.card-office-lp__city,
.card-office-compact__city,
.card-office__city,
.single-research-paper__abstract-heading,
.card__title,
.cta[data-variant=boxed] .cta__heading,
.credits__heading,
.single-research-paper__references-heading,
.filter-sheet__title,
h5,
.image-list-lp__title,
.text-sticky__title,
.archive__related-title,
.related-grid__heading,
h4,
.feature-cards-list-lp__heading,
.text-office-lp__title,
h3,
.list-columns__title,
.team-grid__heading,
.core-values__heading,
.statistics-lp__value,
.image-list-lp__heading,
.simple-text__content h1,
.simple-text__content h2,
.simple-text__content h3,
.simple-text__content h4,
.single-simple__title,
.single-research-paper__title,
.error-404__tagline,
.hero-blog__title,
h2,
.hero-page__title,
.hero-homepage__title,
.single-service__services-heading,
.next-project__heading,
.hero-service__title,
h1,
.lp-single-hero__title,
.hero-lp__title,
.hero-page__counter-figure,
.technology__heading,
.error-404__number {
    font-family: var(--ff-title);
    text-wrap: pretty;
    letter-spacing: -.02em;
    line-height: 1
}

.content--formatted .wp-block-list ol li::marker {
    font-family: var(--ff-title);
    text-wrap: pretty;
    letter-spacing: -.02em;
    line-height: 1
}

.wp-block-media-text__content .wp-block-list ol li::marker {
    font-family: var(--ff-title);
    text-wrap: pretty;
    letter-spacing: -.02em;
    line-height: 1
}

.feature-cards-list-lp__card-description,
.lp-single-hero__intro,
.list-columns__heading,
.client-quote__body,
.accordion__label-text,
.coverage-lp__body,
.intro-stats-lp__body,
.hero-lp-centered__intro,
.hero-lp__intro,
.hero-page__counter-label,
.technology__form-prefix,
.technology__row,
.technology__row-label,
.single-research-paper__abstract-body,
.card-office-compact__name,
.card-team-compact__name,
.card-team-compact__role,
.pill-tech,
.pill-tech__label,
.filter-sheet__option-label,
.form__label,
.form__input,
.form__textarea,
.form__select,
.form__file,
.form__checkbox-label,
.form__radio-label,
.gform_wrapper .gfield_label,
.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=url],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=number],
.gform_wrapper input[type=password],
.gform_wrapper input[type=search],
.gform_wrapper input[type=date],
.gform_wrapper textarea,
.gform_wrapper select,
.gform_wrapper input[type=file],
.gform_wrapper .gfield_checkbox .gchoice label,
.gform_wrapper .gfield_radio .gchoice label,
body,
.visit-website-cta__link,
.list-columns__item,
.cta__heading,
.cta__body,
.client-quote__author-name,
.accordion__description,
.accordion__body,
.service-list__description,
.text-office-lp__location,
.text-office-lp__phone,
.statistics-lp__caption,
.coverage-lp__area-link,
.intro-stats-lp__note,
.intro-stats-lp__stat-caption,
.image-list-lp__item,
.hero-page__counter-caption,
.credits__label,
.credits__value,
.interactive-diagram__node,
.simple-text__content p,
.single-research-paper__date,
.single-research-paper__reference,
.footer__description,
.footer-services__link,
.footer__contact-link,
.social__single a,
.card-office-lp__contact,
.card-office-compact__address,
.card-office-compact__email,
.card-office-compact__phone,
.card-office-compact__vat,
.pagination__item .page-numbers,
.card__description,
.filter-sheet__action,
.filter-sheet__toggle,
.card-office__status,
.card-office__hours,
.card-office__phone,
.nav-footer__link,
.client-quote__author-role,
.single-research-paper__author-affiliation,
.single-research-paper__sidebar-intro,
.single-research-paper__toc-link,
.archive__chip__label,
.footer__copyright,
.card-office-lp__status,
.card__subtitle,
.form__sublabel,
.form__error,
.form__validation,
.gform_wrapper .ginput_complex label,
.gform_wrapper .gform_validation_errors,
.gform_wrapper .gform_validation_errors .gform_submission_error {
    font-family: var(--ff-body);
    font-weight: 500;
    font-size: var(--fs-body);
    letter-spacing: -.02em;
    text-wrap: pretty;
    line-height: 1.25
}

.lp-single-hero__title,
.hero-lp__title,
.hero-page__counter-figure,
.technology__heading,
.error-404__number {
    font-size: var(--fs-display);
    line-height: 1
}

.hero-page__title,
.hero-homepage__title,
.single-service__services-heading,
.next-project__heading,
.hero-service__title,
h1 {
    font-size: var(--fs-xxl)
}

.list-columns__title,
.team-grid__heading,
.core-values__heading,
.statistics-lp__value,
.image-list-lp__heading,
.simple-text__content h1,
.simple-text__content h2,
.simple-text__content h3,
.simple-text__content h4,
.single-simple__title,
.single-research-paper__title,
.error-404__tagline,
.hero-blog__title,
h2 {
    font-size: var(--fs-xl)
}

.feature-cards-list-lp__heading,
.text-office-lp__title,
h3 {
    font-size: var(--fs-l)
}

.image-list-lp__title,
.text-sticky__title,
.archive__related-title,
.related-grid__heading,
h4 {
    font-size: var(--fs-m)
}

.cta[data-variant=boxed] .cta__heading,
.credits__heading,
.single-research-paper__references-heading,
.filter-sheet__title,
h5 {
    font-size: var(--fs-s)
}

.single-research-paper__abstract-heading,
.card__title {
    font-size: var(--fs-xs)
}

.feature-cards-list-lp__card-title,
.card-office-lp__city,
.card-office-compact__city,
.card-office__city {
    font-size: var(--fs-body)
}

.client-quote__author-role,
.single-research-paper__author-affiliation,
.single-research-paper__sidebar-intro,
.single-research-paper__toc-link,
.archive__chip__label,
.footer__copyright,
.card-office-lp__status,
.card__subtitle,
.form__sublabel,
.form__error,
.form__validation,
.gform_wrapper .ginput_complex label,
.gform_wrapper .gform_validation_errors,
.gform_wrapper .gform_validation_errors .gform_submission_error {
    font-size: var(--fs-body-xs)
}

.list-columns__item,
.cta__heading,
.cta__body,
.client-quote__author-name,
.accordion__description,
.accordion__body,
.service-list__description,
.text-office-lp__location,
.text-office-lp__phone,
.statistics-lp__caption,
.coverage-lp__area-link,
.intro-stats-lp__note,
.intro-stats-lp__stat-caption,
.image-list-lp__item,
.hero-page__counter-caption,
.credits__label,
.credits__value,
.interactive-diagram__node,
.simple-text__content p,
.single-research-paper__date,
.single-research-paper__reference,
.footer__description,
.footer-services__link,
.footer__contact-link,
.social__single a,
.card-office-lp__contact,
.card-office-compact__address,
.card-office-compact__email,
.card-office-compact__phone,
.card-office-compact__vat,
.pagination__item .page-numbers,
.card__description,
.filter-sheet__action,
.filter-sheet__toggle,
.card-office__status,
.card-office__hours,
.card-office__phone,
.nav-footer__link {
    font-size: var(--fs-body-sm)
}

.visit-website-cta__link {
    font-size: var(--fs-body-display);
    line-height: 1
}

.lp-single-hero__back,
.contact__selection-label,
.core-values__value,
.image-list-lp__cta-phone,
.hero-lp-centered__label-right,
.hero-lp__phone,
.single-research-paper__author-name,
.footer__col-title,
.tag,
.section-label,
.hero-case__industry-term {
    font-size: var(--fs-body-sm);
    letter-spacing: -.02em;
    font-weight: 500;
    line-height: 1
}

.hero-lp__eyebrow,
.text-sticky__eyebrow,
.single-research-paper__eyebrow,
.next-project__caption,
.callout,
.hero-service__back,
.hero-case__back {
    font-size: var(--fs-body-xs);
    letter-spacing: -.02em;
    text-transform: uppercase;
    font-weight: 400;
    line-height: 1.35
}

.pill-contact__label,
.lang-switcher__label,
.nav-main__link {
    font-family: var(--ff-body);
    letter-spacing: -.02rem;
    font-size: 1rem;
    font-weight: 600;
    line-height: 1.25
}

@font-face {
    font-family: Fustat;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/wp-content/themes/artsyamigos/public/build/assets/fustat-latin-500-normal-beURfYU3.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Fustat;
    font-style: normal;
    font-weight: 500;
    font-display: swap;
    src: url(/wp-content/themes/artsyamigos/public/build/assets/fustat-latin-ext-500-normal-DylNXdTo.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Fustat;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/wp-content/themes/artsyamigos/public/build/assets/fustat-latin-700-normal-aqWGUdpP.woff2)format("woff2");
    unicode-range: U+??, U+131, U+152-153, U+2BB-2BC, U+2C6, U+2DA, U+2DC, U+304, U+308, U+329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD
}

@font-face {
    font-family: Fustat;
    font-style: normal;
    font-weight: 700;
    font-display: swap;
    src: url(/wp-content/themes/artsyamigos/public/build/assets/fustat-latin-ext-700-normal-C82se5Lo.woff2)format("woff2");
    unicode-range: U+100-2BA, U+2BD-2C5, U+2C7-2CC, U+2CE-2D7, U+2DD-2FF, U+304, U+308, U+329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C0, U+2113, U+2C60-2C7F, U+A720-A7FF
}

@font-face {
    font-family: Season Mix;
    src: url(/wp-content/themes/artsyamigos/public/build/assets/season-mix-medium-gS90wozr.woff2)format("woff2");
    font-style: normal;
    font-display: swap
}

:root {
    --ff-body: "Fustat", sans-serif;
    --ff-title: "Season Mix", serif;
    --ff-button: "Fustat", sans-serif;
    --ff-mono: "SFMono-Regular", "SF Mono", "Menlo", "Consolas", "Liberation Mono", monospace
}

[data-container] {
    --container-width: 0;
    width: 100%;
    max-width: calc(var(--container-width) + var(--gutter) * 2);
    padding-inline: var(--gutter);
    margin-inline: auto
}

[data-gutter=none] {
    --gutter: 0px;
    margin-inline: 0
}

[data-container=ultra] {
    --container-width: var(--container-ultra)
}

[data-container=xl] {
    --container-width: var(--container-xl)
}

[data-container=lg] {
    --container-width: var(--container-lg)
}

[data-container=md] {
    --container-width: var(--container-md)
}

[data-container=sm] {
    --container-width: var(--container-sm)
}

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

html {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    scroll-padding-top: calc(var(--header-height, 0px) + 1rem);
    line-height: 1
}

body {
    background: var(--clr-bg);
    color: var(--clr-text);
    transition: background-color var(--t-normal) ease, color var(--t-normal) ease
}

@media (prefers-reduced-motion:reduce) {
    body {
        transition: none
    }
}

h6 {
    font-size: var(--fs-body)
}

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

strong,
b {
    font-weight: 700
}

em,
i {
    font-style: italic
}

button {
    color: inherit;
    cursor: pointer;
    background: 0 0;
    border: none;
    outline: none
}

img {
    vertical-align: middle
}

.wp-block-image img {
    border-radius: var(--border-radius-default);
    width: 100%;
    height: auto
}

.wp-block-media-text__media img {
    border-radius: var(--border-radius-default)
}

.wp-block-media-text {
    row-gap: 1.5rem
}

@media (width<=979px) {
    .wp-block-media-text.is-stacked-on-mobile {
        grid-template-columns: minmax(0, 1fr) !important
    }
    .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__media {
        grid-area: 1/1
    }
    .wp-block-media-text.is-stacked-on-mobile .wp-block-media-text__content {
        grid-area: 2/1;
        padding: 0
    }
}

.content>:is(.wp-paragraph, .wp-block-columns, .wp-block-heading, .wp-block-quote, .wp-block-separator, .wp-block-image, .wp-block-list, .wp-block-media-text) {
    --container-width: var(--container-xl);
    --container-pad: max(var(--gutter), calc((100% - var(--container-width)) / 2));
    padding-inline: var(--container-pad)
}

.content>:is(.wp-paragraph, .wp-block-columns, .wp-block-heading, .wp-block-quote, .wp-block-separator, .wp-block-image, .wp-block-list, .wp-block-media-text)+:is(.wp-paragraph, .wp-block-columns, .wp-block-heading, .wp-block-quote, .wp-block-separator, .wp-block-image, .wp-block-list, .wp-block-media-text),
.content>.block-wrapper[data-background]:not([data-background=off-white])+:is(.wp-paragraph, .wp-block-columns, .wp-block-heading, .wp-block-quote, .wp-block-separator, .wp-block-image, .wp-block-list, .wp-block-media-text) {
    margin-block-start: var(--pad)
}

.content--formatted {
    --fs-xl: var(--fs-s);
    --fs-l: var(--fs-body-lg);
    --fs-m: var(--fs-body)
}

.content--formatted,
.wp-block-media-text__content {
    --content-gap: 2rem;
    --content-gap-heading-stack: .75rem;
    --content-gap-section: clamp(2rem, 2.5vw + 1.5rem, 4rem);
    --content-list-indent: 1.25rem;
    --content-list-border: var(--clr-black);
    --content-list-pad-y: 2rem;
    --content-list-icon-gap: .875rem;
    --content-list-marker-w: .6875rem;
    --content-list-basic-gap: .5rem
}

.content--formatted .btn:not(:first-child),
.content--formatted .wp-block-acf-button:not(:first-child),
.content--formatted p.wp-paragraph:not(:first-child),
.content--formatted p.wp-block:not(:first-child),
.content--formatted .wp-block-yoast-seo-table-of-contents:not(:first-child),
.content--formatted .wp-block-list:not(:first-child),
.content--formatted .wp-block-code:not(:first-child),
.content--formatted .wp-block-yoast-faq-block:not(:first-child),
.content--formatted .block-wrapper:not(:first-child),
.wp-block-media-text__content .btn:not(:first-child),
.wp-block-media-text__content .wp-block-acf-button:not(:first-child),
.wp-block-media-text__content p.wp-paragraph:not(:first-child),
.wp-block-media-text__content p.wp-block:not(:first-child),
.wp-block-media-text__content .wp-block-yoast-seo-table-of-contents:not(:first-child),
.wp-block-media-text__content .wp-block-list:not(:first-child),
.wp-block-media-text__content .wp-block-code:not(:first-child),
.wp-block-media-text__content .wp-block-yoast-faq-block:not(:first-child),
.wp-block-media-text__content .block-wrapper:not(:first-child) {
    margin-top: var(--content-gap)
}

.content--formatted .wp-block-image:not(:first-child),
.content--formatted .wp-block-heading:not(:first-child),
.wp-block-media-text__content .wp-block-image:not(:first-child),
.wp-block-media-text__content .wp-block-heading:not(:first-child) {
    margin-top: var(--content-gap-section)
}

.content--formatted .wp-block-heading+.wp-block-heading,
.wp-block-media-text__content .wp-block-heading+.wp-block-heading {
    margin-top: var(--content-gap-heading-stack)
}

.content--formatted .wp-block-image,
.wp-block-media-text__content .wp-block-image {
    margin-bottom: 0
}

.content--formatted .wp-block-list,
.wp-block-media-text__content .wp-block-list {
    margin-bottom: var(--content-gap)
}

.content--formatted ul.wp-block-list,
.content--formatted ol.wp-block-list,
.wp-block-media-text__content ul.wp-block-list,
.wp-block-media-text__content ol.wp-block-list {
    padding: 0;
    list-style: none
}

.content--formatted ul.wp-block-list>li,
.content--formatted ol.wp-block-list>li,
.wp-block-media-text__content ul.wp-block-list>li,
.wp-block-media-text__content ol.wp-block-list>li {
    padding-block: var(--content-list-pad-y);
    border-bottom: .0625rem solid var(--content-list-border);
    padding-inline-start: calc(var(--content-list-marker-w) + var(--content-list-icon-gap));
    position: relative
}

.content--formatted ul.wp-block-list>li:before,
.content--formatted ol.wp-block-list>li:before,
.wp-block-media-text__content ul.wp-block-list>li:before,
.wp-block-media-text__content ol.wp-block-list>li:before {
    position: absolute;
    inset-block-start: var(--content-list-pad-y);
    inset-inline-start: 0
}

.content--formatted ul.wp-block-list>li:before,
.wp-block-media-text__content ul.wp-block-list>li:before {
    content: "";
    width: var(--content-list-marker-w);
    background: var(--color-accent);
    height: 1.25rem;
    -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='20' viewBox='0 0 11 20'%3E%3Cpath d='M-3.90187e-05 15.7711V5.82933e-05H1.49096V14.2801H6.53096C5.87996 13.5451 5.18696 12.4111 4.51496 10.9411H5.71196C7.18196 12.6421 8.73596 13.9231 10.332 14.7211V15.3301C8.73596 16.1281 7.18196 17.3881 5.71196 19.1101H4.51496C5.18696 17.6401 5.87996 16.5061 6.53096 15.7711H-3.90187e-05Z'/%3E%3C/svg%3E") 50%/contain no-repeat;
    mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='11' height='20' viewBox='0 0 11 20'%3E%3Cpath d='M-3.90187e-05 15.7711V5.82933e-05H1.49096V14.2801H6.53096C5.87996 13.5451 5.18696 12.4111 4.51496 10.9411H5.71196C7.18196 12.6421 8.73596 13.9231 10.332 14.7211V15.3301C8.73596 16.1281 7.18196 17.3881 5.71196 19.1101H4.51496C5.18696 17.6401 5.87996 16.5061 6.53096 15.7711H-3.90187e-05Z'/%3E%3C/svg%3E") 50%/contain no-repeat
}

.content--formatted ol.wp-block-list,
.wp-block-media-text__content ol.wp-block-list {
    counter-reset: content-ol;
    --content-list-marker-w: 1.375rem
}

.content--formatted ol.wp-block-list>li,
.wp-block-media-text__content ol.wp-block-list>li {
    counter-increment: content-ol
}

.content--formatted ol.wp-block-list>li:before,
.wp-block-media-text__content ol.wp-block-list>li:before {
    content: counter(content-ol) ".";
    color: var(--color-accent);
    transform: translateY(-.125rem)
}

.content--formatted .wp-block-list ol,
.content--formatted .wp-block-list ul,
.wp-block-media-text__content .wp-block-list ol,
.wp-block-media-text__content .wp-block-list ul {
    padding-left: var(--content-list-indent)
}

.content--formatted .wp-block-list ul,
.wp-block-media-text__content .wp-block-list ul {
    list-style-type: disc
}

.content--formatted .wp-block-list ol,
.wp-block-media-text__content .wp-block-list ol {
    list-style-type: decimal
}

.content--formatted .wp-block-list li::marker {
    color: var(--color-accent)
}

.wp-block-media-text__content .wp-block-list li::marker {
    color: var(--color-accent)
}

.content--formatted a:not(.btn),
.wp-block-media-text__content a:not(.btn) {
    color: var(--color-accent);
    transition: color .2s
}

.content--formatted a:not(.btn):hover,
.wp-block-media-text__content a:not(.btn):hover {
    color: rgb(from var(--color-accent) r g b/75%)
}

.content--formatted .wp-block-separator,
.wp-block-media-text__content .wp-block-separator {
    color: var(--color-accent);
    margin-block: var(--content-gap-section)
}

.content--formatted .wp-block-quote,
.wp-block-media-text__content .wp-block-quote {
    margin-block: var(--content-gap-section)
}

.content--formatted ul.wp-block-list.basic-list,
.content--formatted ol.wp-block-list.basic-list,
.wp-block-media-text__content ul.wp-block-list.basic-list,
.wp-block-media-text__content ol.wp-block-list.basic-list {
    padding-left: var(--content-list-indent)
}

.content--formatted ul.wp-block-list.basic-list>li,
.content--formatted ol.wp-block-list.basic-list>li,
.wp-block-media-text__content ul.wp-block-list.basic-list>li,
.wp-block-media-text__content ol.wp-block-list.basic-list>li {
    border-bottom: 0;
    padding-block: 0;
    padding-inline-start: 0;
    display: list-item
}

.content--formatted ul.wp-block-list.basic-list>li:not(:first-child),
.content--formatted ol.wp-block-list.basic-list>li:not(:first-child),
.wp-block-media-text__content ul.wp-block-list.basic-list>li:not(:first-child),
.wp-block-media-text__content ol.wp-block-list.basic-list>li:not(:first-child) {
    margin-top: var(--content-list-basic-gap)
}

.content--formatted ul.wp-block-list.basic-list>li:before,
.content--formatted ol.wp-block-list.basic-list>li:before,
.wp-block-media-text__content ul.wp-block-list.basic-list>li:before,
.wp-block-media-text__content ol.wp-block-list.basic-list>li:before {
    content: none
}

.content--formatted ul.wp-block-list.basic-list,
.wp-block-media-text__content ul.wp-block-list.basic-list {
    list-style-type: disc
}

.content--formatted ol.wp-block-list.basic-list,
.wp-block-media-text__content ol.wp-block-list.basic-list {
    counter-reset: none;
    list-style-type: decimal
}

:root {
    --lightningcss-light: initial;
    --lightningcss-dark: ;
    color-scheme: light
}

[data-theme=dark] {
    --lightningcss-light: ;
    --lightningcss-dark: initial;
    color-scheme: dark;
    --clr-light-beige: var(--clr-dark);
    --clr-off-white: var(--clr-dark);
    --clr-beige: var(--clr-dark-raised);
    --clr-glass: var(--clr-dark-raised);
    --clr-black: #f4efea;
    --clr-bg: var(--clr-light-beige);
    --clr-text: var(--clr-black)
}

[data-theme=dark] .btn[data-style=secondary] {
    --btn-bg: var(--color-basic-black);
    --btn-bg-hover: var(--color-basic-black);
    --btn-border: var(--color-basic-black)
}

[data-theme=dark] .btn[data-style=ghost] {
    --btn-text-hover: var(--clr-dark-raised)
}

[data-theme=dark] .btn[data-style=ghost-dark] {
    --btn-bg-hover: var(--clr-dark-raised)
}

[data-theme=dark] .form .btn,
[data-theme=dark] .gform_wrapper .gform_button {
    --btn-bg: var(--color-basic-white);
    --btn-bg-hover: var(--color-basic-white);
    --btn-border: var(--color-basic-white);
    --btn-text: var(--color-basic-black)
}

[data-theme=dark] .filter-sheet__toggle {
    --filter-sheet-toggle-bg: var(--color-basic-black)
}

[data-theme=dark] .filter-sheet__action {
    --filter-sheet-action-bg: var(--color-basic-black)
}

[data-theme=dark] .pill-contact[data-tone=dark] {
    --pill-contact-bg: var(--clr-dark-raised);
    --pill-contact-bg-hover: var(--clr-dark-raised)
}

[data-theme=dark] .cta[data-variant=boxed] .pill-contact[data-tone=dark] {
    --pill-contact-bg: var(--color-basic-black);
    --pill-contact-bg-hover: var(--color-basic-black)
}

[data-theme=dark] .card-office .pill-contact:hover {
    --pill-contact-bg: var(--clr-dark-raised);
    --pill-contact-text: var(--color-basic-white)
}

@media (width<=979px) {
    [data-theme=dark] .site-header__pill {
        --pill-contact-bg: var(--clr-dark-raised);
        --pill-contact-bg-hover: var(--clr-dark-raised)
    }
}

[data-theme=dark] .pagination__item .page-numbers.current {
    background: var(--color-basic-black);
    color: var(--color-basic-white)
}

[data-theme=dark] .interactive-diagram__node--main {
    background: var(--clr-dark-raised)
}

[data-theme=dark] .block-wrapper[data-background=dark] {
    --block-wrapper-bg: var(--clr-dark-raised);
    --block-wrapper-text: var(--clr-text)
}

.gform_wrapper,
.form {
    --form-text: var(--clr-black);
    --form-bg: var(--color-basic-white);
    --form-accent: var(--clr-primary);
    --form-error: var(--clr-error);
    --form-border: rgb(from var(--clr-black) r g b/18%);
    --form-placeholder: rgb(from var(--clr-black) r g b/45%);
    --form-radius: var(--border-radius-small);
    --form-radius-check: var(--border-radius-mini);
    --form-radius-radio: var(--border-radius-full);
    --form-ring: rgb(from var(--clr-primary) r g b/15%);
    --form-error-ring: rgb(from var(--clr-error) r g b/18%);
    --form-error-bg: rgb(from var(--clr-error) r g b/8%);
    --form-pad-block: .75rem;
    --form-pad-inline: 1rem;
    --form-field-gap: clamp(1rem, .625vw + .875rem, 1.5rem);
    --form-label-gap: .5rem;
    --form-row-gap: 1rem;
    --form-control-size: 1.375rem;
    --form-chevron: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2312110b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E")
}

.gform_wrapper input[type=text],
.gform_wrapper input[type=email],
.gform_wrapper input[type=url],
.gform_wrapper input[type=tel],
.gform_wrapper input[type=number],
.gform_wrapper input[type=password],
.gform_wrapper input[type=search],
.gform_wrapper input[type=date],
.form__input,
.gform_wrapper input[type=file],
.form__file,
.gform_wrapper select,
.form__select,
.gform_wrapper textarea,
.form__textarea {
    width: 100%;
    padding: var(--form-pad-block) var(--form-pad-inline);
    color: var(--form-text);
    background-color: var(--form-bg);
    border: .0625rem solid var(--form-border);
    border-radius: var(--form-radius);
    transition: border-color var(--t-fast) var(--ease-out-expo), box-shadow var(--t-fast) var(--ease-out-expo), background-color var(--t-fast) var(--ease-out-expo);
    display: block
}

.gform_wrapper input[type=text]::placeholder,
.gform_wrapper input[type=email]::placeholder,
.gform_wrapper input[type=url]::placeholder,
.gform_wrapper input[type=tel]::placeholder,
.gform_wrapper input[type=number]::placeholder,
.gform_wrapper input[type=password]::placeholder,
.gform_wrapper input[type=search]::placeholder,
.gform_wrapper input[type=date]::placeholder,
.form__input::placeholder,
.gform_wrapper input[type=file]::placeholder,
.form__file::placeholder,
.gform_wrapper select::placeholder,
.form__select::placeholder,
.gform_wrapper textarea::placeholder,
.form__textarea::placeholder {
    color: var(--form-placeholder)
}

.gform_wrapper input[type=text]:focus,
.gform_wrapper input[type=email]:focus,
.gform_wrapper input[type=url]:focus,
.gform_wrapper input[type=tel]:focus,
.gform_wrapper input[type=number]:focus,
.gform_wrapper input[type=password]:focus,
.gform_wrapper input[type=search]:focus,
.gform_wrapper input[type=date]:focus,
.form__input:focus,
.gform_wrapper input[type=file]:focus,
.form__file:focus,
.gform_wrapper select:focus,
.form__select:focus,
.gform_wrapper textarea:focus,
.form__textarea:focus {
    border-color: var(--form-accent);
    box-shadow: 0 0 0 .1875rem var(--form-ring);
    outline: none
}

.gform_wrapper input[type=text]:disabled,
.gform_wrapper input[type=email]:disabled,
.gform_wrapper input[type=url]:disabled,
.gform_wrapper input[type=tel]:disabled,
.gform_wrapper input[type=number]:disabled,
.gform_wrapper input[type=password]:disabled,
.gform_wrapper input[type=search]:disabled,
.gform_wrapper input[type=date]:disabled,
.form__input:disabled,
.gform_wrapper input[type=file]:disabled,
.form__file:disabled,
.gform_wrapper select:disabled,
.form__select:disabled,
.gform_wrapper textarea:disabled,
.form__textarea:disabled {
    opacity: .5;
    cursor: not-allowed
}

.gform_wrapper textarea,
.form__textarea {
    resize: vertical;
    min-height: 10rem
}

.gform_wrapper select,
.form__select {
    appearance: none;
    background-image: var(--form-chevron);
    background-repeat: no-repeat;
    background-position: right var(--form-pad-inline) center;
    background-size: 1rem;
    padding-inline-end: 3rem
}

.gform_wrapper select::-ms-expand {
    display: none
}

.form__select::-ms-expand {
    display: none
}

.gform_wrapper input[type=file]::file-selector-button {
    border-radius: var(--form-radius-check);
    color: var(--color-basic-white);
    background-color: var(--form-accent);
    font-family: var(--ff-button);
    cursor: pointer;
    transition: background-color var(--t-fast) var(--ease-out-expo);
    border: none;
    margin-inline-end: var(--form-label-gap);
    padding: .5rem 1rem
}

.form__file::file-selector-button {
    border-radius: var(--form-radius-check);
    color: var(--color-basic-white);
    background-color: var(--form-accent);
    font-family: var(--ff-button);
    cursor: pointer;
    transition: background-color var(--t-fast) var(--ease-out-expo);
    border: none;
    margin-inline-end: var(--form-label-gap);
    padding: .5rem 1rem
}

.gform_wrapper input[type=file]::file-selector-button:hover {
    background-color: var(--clr-black)
}

.form__file::file-selector-button:hover {
    background-color: var(--clr-black)
}

.gform_wrapper .gfield_label,
.form__label {
    margin-bottom: var(--form-label-gap);
    font-weight: 700;
    display: block
}

.form__label--required:after {
    content: "*";
    color: var(--form-accent);
    margin-inline-start: .25rem
}

.gform_wrapper .ginput_complex label,
.form__sublabel {
    color: rgb(from var(--clr-black) r g b/60%);
    margin-top: .25rem;
    font-weight: 500;
    display: block
}

.gform_wrapper .gfield_checkbox .gchoice input,
.gform_wrapper .gfield_radio .gchoice input,
.form__radio,
.form__checkbox {
    opacity: 0;
    width: .0625rem;
    height: .0625rem;
    margin: 0;
    position: absolute
}

.gform_wrapper .gfield_radio .gchoice label,
.form__radio-label,
.gform_wrapper .gfield_checkbox .gchoice label,
.form__checkbox-label {
    grid-template-columns: var(--form-control-size) auto;
    align-items: center;
    gap: var(--form-label-gap);
    cursor: pointer;
    display: inline-grid
}

.gform_wrapper .gfield_radio .gchoice label:before,
.form__radio-label:before,
.gform_wrapper .gfield_checkbox .gchoice label:before,
.form__checkbox-label:before {
    content: "";
    width: var(--form-control-size);
    height: var(--form-control-size);
    border: .0625rem solid var(--form-border);
    background-color: var(--form-bg);
    transition: border-color var(--t-fast) var(--ease-out-expo), box-shadow var(--t-fast) var(--ease-out-expo), background-color var(--t-fast) var(--ease-out-expo);
    grid-area: 1/1;
    place-self: center
}

.gform_wrapper .gfield_radio .gchoice label:after,
.form__radio-label:after,
.gform_wrapper .gfield_checkbox .gchoice label:after,
.form__checkbox-label:after {
    content: "";
    opacity: 0;
    transition: opacity var(--t-fast) var(--ease-out-expo);
    grid-area: 1/1;
    place-self: center
}

.gform_wrapper .gfield_checkbox .gchoice label:before,
.form__checkbox-label:before {
    border-radius: var(--form-radius-check)
}

.gform_wrapper .gfield_checkbox .gchoice label:after,
.form__checkbox-label:after {
    border: solid var(--form-bg);
    border-width: 0 .125rem .125rem 0;
    width: .375rem;
    height: .6875rem;
    margin-bottom: .125rem;
    transform: rotate(45deg)
}

.gform_wrapper .gfield_radio .gchoice label:before,
.form__radio-label:before {
    border-radius: var(--form-radius-radio)
}

.gform_wrapper .gfield_radio .gchoice label:after,
.form__radio-label:after {
    border-radius: var(--form-radius-radio);
    background-color: var(--form-bg);
    width: .625rem;
    height: .625rem
}

.gform_wrapper .gfield_checkbox .gchoice input:checked+label:before,
.gform_wrapper .gfield_radio .gchoice input:checked+label:before,
.form__radio:checked+.form__radio-label:before,
.form__checkbox:checked+.form__checkbox-label:before {
    border-color: var(--form-accent);
    background-color: var(--form-accent)
}

.gform_wrapper .gfield_checkbox .gchoice input:checked+label:after,
.gform_wrapper .gfield_radio .gchoice input:checked+label:after,
.form__radio:checked+.form__radio-label:after,
.form__checkbox:checked+.form__checkbox-label:after {
    opacity: 1
}

.gform_wrapper .gfield_checkbox .gchoice input:focus+label:before,
.gform_wrapper .gfield_radio .gchoice input:focus+label:before,
.form__radio:focus+.form__radio-label:before,
.form__checkbox:focus+.form__checkbox-label:before {
    border-color: var(--form-accent);
    box-shadow: 0 0 0 .1875rem var(--form-ring)
}

.gform_wrapper .gfield_error input,
.gform_wrapper .gfield_error textarea,
.gform_wrapper .gfield_error select,
.form__input[aria-invalid=true],
.form__textarea[aria-invalid=true],
.form__select[aria-invalid=true] {
    border-color: var(--form-error)
}

.gform_wrapper .gfield_error input:focus,
.gform_wrapper .gfield_error textarea:focus,
.gform_wrapper .gfield_error select:focus,
.form__input[aria-invalid=true]:focus,
.form__textarea[aria-invalid=true]:focus,
.form__select[aria-invalid=true]:focus {
    border-color: var(--form-error);
    box-shadow: 0 0 0 .1875rem var(--form-error-ring)
}

.form__error {
    border-radius: var(--form-radius);
    color: var(--form-error);
    margin-top: .5rem;
    display: block
}

.gform_wrapper .gform_validation_errors,
.form__validation {
    margin-bottom: var(--form-field-gap);
    padding: var(--form-pad-block) var(--form-pad-inline);
    border-radius: var(--form-radius);
    border: .0625rem solid var(--form-error);
    background-color: var(--form-error-bg);
    color: var(--form-error)
}

.gform_wrapper .gform_validation_errors:focus,
.form__validation:focus {
    box-shadow: 0 0 0 .1875rem var(--form-error-ring);
    outline: none
}

.gform_wrapper .gform_validation_errors .gform_submission_error {
    align-items: center;
    gap: .375rem;
    margin-bottom: .375rem;
    font-weight: 700;
    display: flex
}

.gform_wrapper .gform_validation_errors ol {
    margin: 0;
    padding-inline-start: 1.125rem;
    list-style: outside
}

.gform_wrapper .gform_validation_errors li {
    margin-top: .25rem
}

.gform_wrapper .gform_validation_error_link {
    color: inherit;
    text-underline-offset: .15em;
    text-decoration: underline
}

.gform_wrapper .gform_validation_error_link:hover {
    text-decoration: none
}

.gform_wrapper .gfield_validation_message,
.gform_wrapper .validation_message {
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
    width: .0625rem;
    height: .0625rem;
    margin: -.0625rem;
    padding: 0;
    position: absolute;
    overflow: hidden
}

.gform_wrapper .ginput_complex,
.form__row {
    gap: var(--form-row-gap);
    flex-wrap: wrap;
    display: flex
}

.gform_wrapper .ginput_complex>span,
.form__col {
    flex: 1 1 0;
    min-width: 11.25rem
}

.form__field {
    margin-bottom: var(--form-field-gap)
}

.btn,
.gform_wrapper .gform_button {
    --btn-bg: var(--clr-beige);
    --btn-bg-hover: var(--clr-beige);
    --btn-text: var(--clr-black);
    --btn-text-hover: var(--color-basic-white);
    --btn-border: var(--clr-beige);
    --btn-border-hover: var(--clr-primary);
    --btn-fill: var(--clr-primary);
    --btn-radius: .75rem;
    --btn-padding-block: clamp(.75rem, .9375vw + .5625rem, 1.5rem);
    --btn-padding-inline: clamp(.75rem, .9375vw + .5625rem, 1.5rem);
    --btn-font-size: var(--fs-body);
    --btn-gap: .5rem;
    justify-content: space-between;
    align-items: center;
    gap: var(--btn-gap);
    width: fit-content;
    padding: var(--btn-padding-block) var(--btn-padding-inline);
    color: var(--btn-text);
    background: var(--btn-bg);
    border: .0625rem solid var(--btn-border);
    border-radius: var(--btn-radius);
    font-family: var(--ff-button);
    font-size: var(--btn-font-size);
    letter-spacing: -.02em;
    cursor: pointer;
    box-shadow: inset 0 0 0 0 var(--btn-fill);
    transition: background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease, box-shadow .6s var(--ease-out-expo);
    font-weight: 300;
    line-height: 1.1;
    text-decoration: none;
    display: inline-flex
}

.btn:hover,
.gform_wrapper .gform_button:hover,
.btn:focus-visible,
.gform_wrapper .gform_button:focus-visible {
    color: var(--btn-text-hover);
    background: var(--btn-bg-hover);
    border-color: var(--btn-border-hover);
    box-shadow: inset 0 0 0 12.5rem var(--btn-fill);
    transition: background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease, box-shadow .2s var(--ease-in-expo)
}

.btn[data-style=secondary],
.gform_wrapper [data-style=secondary].gform_button {
    --btn-bg: var(--clr-black);
    --btn-bg-hover: var(--clr-black);
    --btn-text: var(--color-basic-white);
    --btn-text-hover: var(--color-basic-white);
    --btn-border: var(--clr-black);
    --btn-border-hover: var(--clr-primary);
    --btn-fill: var(--clr-primary)
}

.btn[data-style=ghost],
.gform_wrapper [data-style=ghost].gform_button {
    --btn-bg: transparent;
    --btn-bg-hover: var(--color-basic-white);
    --btn-text: var(--color-basic-white);
    --btn-text-hover: var(--clr-black);
    --btn-border: var(--color-basic-white);
    --btn-border-hover: var(--color-basic-white);
    --btn-fill: transparent
}

.btn[data-style=ghost-dark],
.gform_wrapper [data-style=ghost-dark].gform_button {
    --btn-bg: transparent;
    --btn-bg-hover: var(--clr-black);
    --btn-text: var(--clr-black);
    --btn-text-hover: var(--color-basic-white);
    --btn-border: var(--clr-black);
    --btn-border-hover: var(--clr-black);
    --btn-fill: transparent
}

.btn__text {
    text-align: center;
    display: block
}

.btn__icon {
    width: 1.25rem;
    height: 1.25rem;
    transition: transform var(--t-fast) ease;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.btn__icon svg {
    width: 100%;
    height: 100%
}

.btn:hover .btn__icon,
.gform_wrapper .gform_button:hover .btn__icon,
.btn:focus-visible .btn__icon,
.gform_wrapper .gform_button:focus-visible .btn__icon {
    animation: btn-icon-pop .25s var(--ease-out-expo) forwards
}

@keyframes btn-icon-pop {
    40% {
        transform: scale(1.4)
    }
    to {
        transform: scale(1.2)
    }
}

.gform_wrapper .gfield_required {
    color: var(--form-accent)
}

.gform_required_legend {
    display: none
}

.gform_wrapper .ginput_container_textarea {
    gap: var(--form-label-gap);
    flex-direction: column;
    display: flex
}

.gform_wrapper .ginput_container_email {
    flex-wrap: nowrap;
    margin-inline: 0
}

.gform_wrapper .ginput_container_email>span {
    flex: 1 1 0;
    min-width: 0;
    padding-inline: 0
}

.gform_wrapper .ginput_container_email .gf_clear,
.gform_wrapper .gform_submission_error .gform-icon {
    display: none
}

.gform_wrapper .gform_footer {
    margin-top: var(--form-field-gap)
}

.gform_wrapper .gform_button {
    min-width: 15.625rem;
    max-width: 100%
}

.grecaptcha-badge {
    visibility: hidden
}

.cmplz-manage-consent {
    display: none !important
}

@media (width<=979px) {
    .cmplz-cookiebanner .cmplz-message {
        font-size: .75rem !important;
        line-height: 1.45 !important
    }
}

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

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

.lenis.lenis-smooth [data-lenis-prevent] {
    overscroll-behavior: contain
}

.lenis.lenis-stopped {
    overflow: hidden
}

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

.hamburger {
    --hamburger-bg: var(--clr-beige);
    --hamburger-size: 2.5rem;
    --hamburger-icon-size: .875rem;
    width: var(--hamburger-size);
    height: var(--hamburger-size);
    background-color: var(--hamburger-bg);
    -webkit-backdrop-filter: blur(1.375rem);
    backdrop-filter: blur(1.375rem);
    color: var(--clr-black);
    cursor: pointer;
    transition: background-color var(--t-fast) ease;
    border: none;
    border-radius: 2.5rem;
    place-items: center;
    display: none
}

.hamburger__icon {
    width: var(--hamburger-icon-size);
    height: var(--hamburger-icon-size)
}

.hamburger__shape {
    fill: currentColor
}

.nav-main {
    --nav-main-link-opacity: 1
}

.nav-main__list {
    align-items: center;
    gap: 2rem;
    display: flex
}

@media (width<=979px) {
    .nav-main__list {
        flex-direction: column;
        gap: 1.5rem
    }
}

.nav-main__link {
    color: var(--clr-black);
    opacity: var(--nav-main-link-opacity);
    transition: opacity var(--t-fast) ease;
    text-decoration: none
}

.nav-main__link:hover {
    opacity: .6
}

@media (width<=979px) {
    .nav-main__link {
        font-family: var(--ff-title);
        text-wrap: pretty;
        letter-spacing: -.02em;
        line-height: 1;
        font-size: var(--fs-xl);
        font-weight: 400
    }
}

.nav-main__item.is-active {
    --nav-main-link-opacity: .6
}

.nav-main__submenu {
    display: none
}

.nav-main__submenu-link {
    color: var(--clr-black);
    text-decoration: none
}

.nav-footer__list {
    flex-direction: column;
    align-items: flex-start;
    gap: .5rem;
    display: flex
}

.nav-footer__link {
    color: inherit;
    transition: var(--footer-link-transition)
}

.nav-footer__link:hover {
    opacity: var(--footer-link-opacity-hover)
}

.lang-switcher {
    --lang-switcher-bg: var(--clr-beige);
    --lang-switcher-bg-hover: var(--clr-light-beige);
    --lang-switcher-size: 3.125rem;
    --lang-switcher-slide: var(--t-fast);
    width: var(--lang-switcher-size);
    height: var(--lang-switcher-size);
    background-color: var(--lang-switcher-bg);
    -webkit-backdrop-filter: blur(1.375rem);
    backdrop-filter: blur(1.375rem);
    color: var(--clr-black);
    transition: background-color var(--t-fast) ease;
    border-radius: 2.5rem;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    display: inline-flex
}

.lang-switcher:hover {
    --lang-switcher-bg: var(--lang-switcher-bg-hover)
}

.lang-switcher__clip {
    display: grid;
    overflow: hidden
}

.lang-switcher__label {
    text-transform: uppercase;
    transition: transform var(--lang-switcher-slide) ease;
    grid-area: 1/1
}

.lang-switcher__label[data-lang-switcher-label=target] {
    transform: translateY(100%)
}

.lang-switcher:hover .lang-switcher__label {
    transform: translateY(-100%)
}

.lang-switcher:hover .lang-switcher__label[data-lang-switcher-label=target] {
    transform: translateY(0)
}

@media (prefers-reduced-motion:reduce) {
    .lang-switcher__label {
        transition: none
    }
    .lang-switcher__label[data-lang-switcher-label=target] {
        display: none
    }
    .lang-switcher:hover .lang-switcher__label {
        transform: none
    }
}

.theme-toggle {
    --theme-toggle-bg: var(--clr-beige);
    --theme-toggle-bg-hover: var(--clr-light-beige);
    --theme-toggle-size: 3.125rem;
    --theme-toggle-icon: 1.25rem;
    --theme-toggle-slide: var(--t-fast);
    width: var(--theme-toggle-size);
    height: var(--theme-toggle-size);
    background-color: var(--theme-toggle-bg);
    -webkit-backdrop-filter: blur(1.375rem);
    backdrop-filter: blur(1.375rem);
    color: var(--clr-black);
    transition: background-color var(--t-fast) ease;
    border-radius: 2.5rem;
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
    --theme-toggle-bg: var(--theme-toggle-bg-hover)
}

.theme-toggle__clip {
    width: var(--theme-toggle-icon);
    height: var(--theme-toggle-icon);
    display: grid;
    overflow: hidden
}

.theme-toggle__icon {
    width: 100%;
    height: 100%;
    transition: transform var(--theme-toggle-slide) ease;
    grid-area: 1/1
}

[data-theme-toggle-icon=sun] {
    transform: translateY(0)
}

[data-theme-toggle-icon=moon] {
    transform: translateY(100%)
}

.theme-toggle:hover [data-theme-toggle-icon=sun],
.theme-toggle:focus-visible [data-theme-toggle-icon=sun] {
    transform: translateY(-100%)
}

.theme-toggle:hover [data-theme-toggle-icon=moon],
.theme-toggle:focus-visible [data-theme-toggle-icon=moon],
[data-theme=dark] [data-theme-toggle-icon=moon] {
    transform: translateY(0)
}

[data-theme=dark] [data-theme-toggle-icon=sun] {
    transform: translateY(100%)
}

[data-theme=dark] .theme-toggle:hover [data-theme-toggle-icon=moon],
[data-theme=dark] .theme-toggle:focus-visible [data-theme-toggle-icon=moon] {
    transform: translateY(-100%)
}

[data-theme=dark] .theme-toggle:hover [data-theme-toggle-icon=sun],
[data-theme=dark] .theme-toggle:focus-visible [data-theme-toggle-icon=sun] {
    transform: translateY(0)
}

@media (prefers-reduced-motion:reduce) {
    .theme-toggle__icon {
        transition: none
    }
    [data-theme-toggle-icon=moon] {
        display: none
    }
    [data-theme=dark] [data-theme-toggle-icon=moon] {
        display: block
    }
    [data-theme=dark] [data-theme-toggle-icon=sun] {
        display: none
    }
    .theme-toggle:hover [data-theme-toggle-icon],
    .theme-toggle:focus-visible [data-theme-toggle-icon] {
        transform: none
    }
}

.card-office {
    --card-office-status-open-display: inline;
    --card-office-status-closed-display: none;
    --card-office-phone-icon-color: var(--clr-primary);
    background: var(--clr-light-beige);
    color: var(--clr-black);
    border-radius: 1.5rem;
    flex-wrap: wrap;
    gap: 1.0625rem;
    padding: 1.5rem;
    display: flex;
    position: relative;
    container: card-office/inline-size
}

.card-office[data-closed] {
    --card-office-status-open-display: none;
    --card-office-status-closed-display: inline
}

.card-office__media {
    width: 11.375rem;
    aspect-ratio: var(--aspect-ratio-portrait);
    border-radius: .5rem;
    flex-shrink: 0;
    overflow: hidden
}

.card-office__image {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.card-office__body {
    flex-direction: column;
    flex: 1;
    justify-content: space-between;
    gap: 1.5rem;
    min-width: 0;
    display: flex
}

.card-office__header {
    flex-direction: column;
    gap: 1rem;
    display: flex
}

.card-office__status {
    background: var(--clr-beige);
    border-radius: .5rem;
    align-self: flex-start;
    align-items: center;
    gap: .5rem;
    padding: .5rem;
    display: inline-flex
}

.card-office__status-open {
    display: var(--card-office-status-open-display);
    opacity: .5
}

.card-office__status-closed {
    display: var(--card-office-status-closed-display);
    opacity: .5
}

.card-office__footer {
    flex-direction: column;
    gap: .75rem;
    display: flex
}

.card-office__phone {
    color: inherit;
    align-items: center;
    gap: .375rem;
    display: inline-flex
}

.card-office__phone-icon {
    width: .9em;
    height: .9em;
    color: var(--card-office-phone-icon-color);
    flex-shrink: 0;
    display: inline-flex
}

.card-office__phone-icon svg {
    width: 100%;
    height: 100%
}

.card-office__cta {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem
}

.card-office__cta.pill-contact {
    --pill-contact-pad-block: clamp(.375rem, .3125vw + .3125rem, .625rem);
    --pill-contact-pad-left: clamp(.75rem, .46875vw + .65625rem, 1.125rem);
    --pill-contact-pad-right: clamp(.375rem, .3125vw + .3125rem, .625rem)
}

.card-office__cta.pill-contact:hover {
    --pill-contact-bg: var(--clr-black);
    --pill-contact-text: var(--color-basic-white)
}

@container card-office (width<=27.5rem) {
    .card-office__media {
        width: 100%;
        aspect-ratio: var(--aspect-ratio-cinerama)
    }
    .card-office__body {
        flex-basis: 100%
    }
    .card-office__cta {
        align-self: flex-start;
        position: static
    }
}

.block-wrapper {
    --block-wrapper-bg: var(--clr-light-beige);
    --block-wrapper-text: var(--clr-black);
    background: var(--block-wrapper-bg);
    color: var(--block-wrapper-text);
    z-index: 1;
    position: relative
}

.block-wrapper[data-background=white] {
    --block-wrapper-bg: var(--color-basic-white)
}

.block-wrapper[data-background=beige] {
    --block-wrapper-bg: var(--clr-beige)
}

.block-wrapper[data-background=dark] {
    --block-wrapper-bg: var(--clr-black);
    --block-wrapper-text: var(--clr-beige)
}

[data-padded] {
    padding-block-start: var(--pad);
    padding-block-end: var(--pad)
}

[data-padded-top] {
    padding-block-start: var(--pad)
}

[data-padded-bottom] {
    padding-block-end: var(--pad)
}

.block-wrapper[data-background=off-white]+.block-wrapper[data-background=off-white]>*,
.block-wrapper[data-background=beige]+.block-wrapper[data-background=beige]>*,
.block-wrapper[data-background=white]+.block-wrapper[data-background=white]>*,
.block-wrapper[data-background=dark]+.block-wrapper[data-background=dark]>*,
.block-wrapper:not([data-background])+.block-wrapper:not([data-background])>* {
    padding-block-start: 0
}

[data-blur-sweep] {
    border-radius: var(--border-radius-default);
    display: block;
    position: relative;
    overflow: hidden
}

[data-blur-sweep] img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

[data-blur-sweep][data-blur-sweep-ready] img {
    opacity: 0
}

[data-blur-sweep-canvas] {
    pointer-events: none;
    position: absolute;
    inset: 0
}

[data-blur-sweep-canvas] canvas {
    width: 100%;
    height: 100%;
    display: block
}

.gooey-cursor {
    --gooey-cursor-columns: 15;
    --gooey-cursor-color: #47ea82;
    --gooey-cursor-blend: normal;
    --gooey-cursor-bleed: 0px;
    --gooey-cursor-offset-x: 0px;
    --gooey-cursor-offset-y: 0px;
    --gooey-cursor-size: 0px;
    --gooey-cursor-size-y: var(--gooey-cursor-size);
    --gooey-cursor-cols: 15;
    inset-inline: 0;
    inset-block: calc(-1 * var(--gooey-cursor-bleed));
    z-index: 1;
    pointer-events: none;
    mix-blend-mode: var(--gooey-cursor-blend);
    position: absolute;
    overflow: clip visible
}

@media (width>=980px) {
    .gooey-cursor {
        --gooey-cursor-columns: 30
    }
}

.gooey-cursor__inner {
    grid-template-columns: repeat(var(--gooey-cursor-cols), var(--gooey-cursor-size));
    grid-auto-rows: var(--gooey-cursor-size-y);
    display: grid;
    position: absolute;
    top: 0;
    left: 0
}

.gooey-cursor__cell {
    width: var(--gooey-cursor-size);
    height: var(--gooey-cursor-size-y);
    background: var(--gooey-cursor-color);
    opacity: 0
}

.cursor-card {
    --cursor-card-size: 3rem;
    --cursor-card-bg: var(--color-basic-white);
    --cursor-card-icon: var(--clr-primary);
    --cursor-card-icon-height: 1.375rem;
    z-index: 7;
    width: var(--cursor-card-size);
    height: var(--cursor-card-size);
    background: var(--cursor-card-bg);
    pointer-events: none;
    will-change: transform;
    border-radius: 50%;
    place-items: center;
    display: grid;
    position: fixed;
    top: 0;
    left: 0
}

.cursor-card__icon {
    height: var(--cursor-card-icon-height);
    color: var(--cursor-card-icon);
    display: block
}

.cursor-card__icon svg {
    width: auto;
    height: 100%;
    display: block
}

[data-text-reveal] {
    --text-reveal-mask-pad: .15em
}

.text-reveal__word-mask,
.text-reveal__line-mask {
    margin-block-end: calc(var(--text-reveal-mask-pad) * -1);
    padding-block-end: var(--text-reveal-mask-pad)
}

.text-reveal__word,
.text-reveal__line {
    will-change: transform
}

html[data-filter-sheet-open] {
    overflow: hidden
}

.filter-sheet {
    --filter-sheet-z: 5;
    --filter-sheet-panel-bg: var(--clr-light-beige);
    --filter-sheet-panel-radius: 1.5rem;
    --filter-sheet-panel-pad: clamp(1.25rem, .9375vw + 1.0625rem, 2rem);
    --filter-sheet-backdrop: rgb(from var(--color-basic-black) r g b/45%);
    --filter-sheet-gap: 1.25rem;
    --filter-sheet-inset: clamp(.75rem, .3125vw + .6875rem, 1rem);
    --filter-sheet-divider: rgb(from var(--clr-black) r g b/10%);
    --filter-sheet-duration: .32s;
    --filter-sheet-backdrop-opacity: 0;
    --filter-sheet-panel-y: calc(100% + max(var(--filter-sheet-inset), env(safe-area-inset-bottom)));
    z-index: var(--filter-sheet-z);
    visibility: hidden;
    pointer-events: none;
    flex-direction: column;
    justify-content: flex-end;
    display: flex;
    position: fixed;
    inset: 0
}

.filter-sheet[data-visible] {
    --filter-sheet-backdrop-opacity: 1;
    --filter-sheet-panel-y: 0;
    visibility: visible;
    pointer-events: auto
}

@media (width>=980px) {
    .filter-sheet {
        display: none
    }
}

.filter-sheet__backdrop {
    background: var(--filter-sheet-backdrop);
    opacity: var(--filter-sheet-backdrop-opacity);
    transition: opacity var(--filter-sheet-duration) ease;
    position: absolute;
    inset: 0
}

@media (prefers-reduced-motion:reduce) {
    .filter-sheet__backdrop {
        transition: none
    }
}

.filter-sheet__panel {
    gap: var(--filter-sheet-gap);
    margin: 0 var(--filter-sheet-inset) max(var(--filter-sheet-inset), env(safe-area-inset-bottom));
    max-height: 85vh;
    padding: var(--filter-sheet-panel-pad);
    background: var(--filter-sheet-panel-bg);
    border-radius: var(--filter-sheet-panel-radius);
    transform: translateY(var(--filter-sheet-panel-y));
    transition: transform var(--filter-sheet-duration) cubic-bezier(.22, 1, .36, 1);
    flex-direction: column;
    display: flex;
    position: relative;
    overflow-y: auto
}

@media (prefers-reduced-motion:reduce) {
    .filter-sheet__panel {
        transition: none
    }
}

.filter-sheet__header {
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    display: flex
}

.filter-sheet__close {
    --filter-sheet-close-size: 2.5rem;
    --filter-sheet-close-icon: .875rem;
    width: var(--filter-sheet-close-size);
    height: var(--filter-sheet-close-size);
    color: var(--clr-black);
    background-color: var(--clr-beige);
    -webkit-backdrop-filter: blur(1.375rem);
    backdrop-filter: blur(1.375rem);
    cursor: pointer;
    transition: color var(--t-fast) ease;
    border: none;
    border-radius: 9999px;
    place-items: center;
    display: grid
}

.filter-sheet__close svg {
    width: var(--filter-sheet-close-icon);
    height: var(--filter-sheet-close-icon);
    display: block
}

.filter-sheet__close:hover,
.filter-sheet__close:focus-visible {
    color: var(--clr-primary)
}

.filter-sheet__body {
    gap: var(--filter-sheet-gap);
    flex-direction: column;
    display: flex
}

.filter-sheet__list {
    flex-direction: column;
    display: flex
}

.filter-sheet__option {
    color: var(--clr-black);
    transition: color var(--t-fast) ease;
    align-items: center;
    gap: .75rem;
    padding-block: .875rem;
    text-decoration: none;
    display: flex
}

.filter-sheet__option:not(:last-child) {
    border-bottom: .0625rem solid var(--filter-sheet-divider)
}

.filter-sheet__option:hover,
.filter-sheet__option:focus-visible {
    color: var(--clr-primary)
}

.filter-sheet__option[data-active] {
    color: var(--clr-primary);
    font-weight: 500
}

.filter-sheet__action {
    --filter-sheet-action-bg: var(--clr-black);
    --filter-sheet-action-bg-hover: var(--clr-primary);
    --filter-sheet-action-text: var(--color-basic-white);
    color: var(--filter-sheet-action-text);
    background: var(--filter-sheet-action-bg);
    cursor: pointer;
    transition: background var(--t-fast) ease;
    border: none;
    border-radius: 9999px;
    justify-content: center;
    align-items: center;
    padding: 1rem 1.5rem;
    display: inline-flex
}

.filter-sheet__action:hover,
.filter-sheet__action:focus-visible {
    background: var(--filter-sheet-action-bg-hover)
}

.filter-sheet__toggle {
    --filter-sheet-toggle-bg: var(--clr-black);
    --filter-sheet-toggle-bg-hover: var(--clr-primary);
    --filter-sheet-toggle-text: var(--color-basic-white);
    --filter-toggle-inset: clamp(1rem, .625vw + .875rem, 1.5rem);
    right: var(--filter-toggle-inset);
    bottom: var(--filter-toggle-inset);
    z-index: calc(5 - 1);
    color: var(--filter-sheet-toggle-text);
    background: var(--filter-sheet-toggle-bg);
    box-shadow: 0 .375rem 1.25rem rgb(from var(--color-basic-black) r g b/25%);
    cursor: pointer;
    transition: background var(--t-fast) ease, transform var(--t-fast) ease;
    border: none;
    border-radius: 9999px;
    align-items: center;
    gap: .5rem;
    padding: .875rem 1.25rem;
    display: inline-flex;
    position: fixed
}

.filter-sheet__toggle:hover,
.filter-sheet__toggle:focus-visible {
    background: var(--filter-sheet-toggle-bg-hover)
}

.filter-sheet__toggle:active {
    transform: scale(.96)
}

@media (width>=980px) {
    .filter-sheet__toggle {
        display: none
    }
}

@media (prefers-reduced-motion:reduce) {
    .filter-sheet__toggle {
        transition: background var(--t-fast) ease
    }
}

.filter-sheet__toggle-icon {
    justify-content: center;
    align-items: center;
    width: 1.2em;
    height: 1.2em;
    display: inline-flex
}

.filter-sheet__toggle-icon svg,
.filter-sheet__toggle-icon img {
    object-fit: contain;
    width: 100%;
    height: 100%
}

.hero-blog {
    --hero-blog-gap: clamp(1.5rem, 1.875vw + 1.125rem, 3rem);
    --hero-blog-icon-color: var(--clr-primary);
    gap: var(--hero-blog-gap);
    text-align: center;
    padding-top: var(--pad-hero);
    flex-direction: column;
    display: flex
}

.hero-blog__meta {
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    gap: clamp(1.25rem, 1.5625vw + .9375rem, 2.5rem);
    display: inline-flex
}

.hero-blog__category {
    align-items: center;
    gap: clamp(.375rem, .46875vw + .28125rem, .75rem);
    display: inline-flex
}

.hero-blog__category-icon {
    width: auto;
    height: 1.4em;
    color: var(--hero-blog-icon-color);
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.hero-blog__category-icon svg,
.hero-blog__category-icon img {
    object-fit: contain;
    width: 100%;
    height: 100%
}

.hero-blog__media {
    margin-top: clamp(1rem, 1.25vw + .75rem, 2rem)
}

.hero-blog__image {
    aspect-ratio: 1568/848;
    object-fit: cover;
    border-radius: var(--border-radius-default);
    width: 100%;
    height: auto;
    display: block
}

.hero-case {
    padding-top: var(--pad-hero)
}

.hero-case__inner {
    flex-direction: column;
    display: flex;
    position: relative
}

.hero-case__back {
    color: inherit;
    transition: color var(--t-fast) ease;
    align-self: flex-start;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1.5rem;
    text-decoration: none;
    display: inline-flex
}

.hero-case__back:hover,
.hero-case__back:focus-visible {
    color: var(--clr-primary)
}

@media (width<=979px) {
    .hero-case__back {
        margin-bottom: .5rem
    }
}

.hero-case__back-icon {
    width: 1.125rem;
    color: var(--clr-primary);
    display: inline-flex
}

.hero-case__back-icon svg {
    width: 100%;
    height: auto
}

.hero-case__header {
    margin-bottom: clamp(3rem, 2.5vw + 2.5rem, 5rem)
}

@media (width<=979px) {
    .hero-case__header {
        margin-bottom: 1.5rem
    }
}

@media (width>=980px) {
    .hero-case__header {
        margin-bottom: 1rem
    }
    .hero-case__title {
        max-width: 80%
    }
}

.hero-case__website {
    transition: color var(--t-fast) ease;
    align-self: flex-end;
    align-items: center;
    gap: .5rem;
    display: inline-flex
}

.hero-case__website:hover,
.hero-case__website:focus-visible {
    color: var(--clr-primary)
}

@media (width>=980px) {
    .hero-case__website {
        margin-bottom: clamp(2rem, 1.875vw + 1.625rem, 3.5rem)
    }
}

@media (width<=979px) {
    .hero-case__website {
        order: 1;
        margin-bottom: 1rem
    }
    .hero-case__media {
        order: 2
    }
}

.hero-case__website-icon {
    flex-shrink: 0;
    width: 1.3125rem;
    display: inline-flex
}

.hero-case__website-icon svg {
    width: 100%;
    height: auto
}

.hero-case__details {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(2rem, 2.5vw + 1.5rem, 4rem);
    margin-bottom: clamp(2.625rem, 3.28125vw + 1.96875rem, 5.25rem);
    display: grid
}

@media (width>=980px) {
    .hero-case__details {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr) auto;
        align-items: start;
        gap: clamp(1.5rem, 1.875vw + 1.125rem, 3rem)
    }
}

.hero-case__excerpt-col {
    align-items: flex-start;
    gap: .75rem;
    max-width: 35rem;
    display: flex
}

.hero-case__excerpt-icon {
    width: .6875rem;
    color: var(--clr-black);
    flex-shrink: 0;
    margin-top: .25rem;
    display: inline-flex
}

.hero-case__excerpt-icon svg {
    width: 100%;
    height: auto
}

.hero-case__service-col {
    flex-direction: column;
    gap: clamp(.8125rem, 1.01563vw + .609375rem, 1.625rem);
    display: flex
}

.hero-case__service {
    align-items: center;
    gap: .75rem;
    display: inline-flex
}

.hero-case__service-icon {
    width: auto;
    height: 1.1em;
    color: var(--clr-primary);
    flex-shrink: 0;
    margin-bottom: .1em;
    display: inline-flex
}

.hero-case__service-icon svg {
    width: auto;
    height: 100%
}

.hero-case__tags {
    flex-wrap: wrap;
    gap: .5rem;
    display: flex
}

.hero-case__industry-col {
    flex-direction: column;
    gap: clamp(.8125rem, 1.01563vw + .609375rem, 1.625rem);
    display: flex
}

@media (width>=980px) {
    .hero-case__industry-col {
        text-align: right;
        align-items: flex-end
    }
}

.hero-case__industry-term {
    color: rgb(from var(--clr-black) r g b/70%)
}

.hero-case__image {
    width: 100%;
    height: auto;
    aspect-ratio: var(--aspect-ratio-hero);
    object-fit: cover;
    border-radius: 1rem;
    display: block
}

.hero-service {
    --hero-service-gap: clamp(3rem, 2.5vw + 2.5rem, 5rem);
    --hero-service-icon-color: var(--clr-black);
    --hero-service-radius: 1rem;
    padding-top: var(--pad-hero);
    flex-direction: column;
    display: flex
}

.hero-service__back {
    color: inherit;
    transition: color var(--t-fast) ease;
    align-self: flex-start;
    align-items: center;
    gap: .5rem;
    margin-bottom: 1.5rem;
    text-decoration: none;
    display: inline-flex
}

.hero-service__back:hover,
.hero-service__back:focus-visible {
    color: var(--clr-primary)
}

.hero-service__back-icon {
    width: 1.125rem;
    color: var(--clr-primary);
    display: inline-flex
}

.hero-service__back-icon svg {
    width: 100%;
    height: auto
}

.hero-service__header {
    flex-direction: column;
    align-items: center;
    gap: clamp(1rem, 1.25vw + .75rem, 2rem);
    margin-bottom: clamp(1.25rem, 1.5625vw + .9375rem, 2.5rem);
    display: flex
}

.hero-service__icon {
    width: auto;
    height: clamp(2.5rem, 1.875vw + 2.125rem, 4rem);
    color: var(--hero-service-icon-color);
    flex-shrink: 0;
    display: inline-flex
}

.hero-service__icon svg {
    width: auto;
    height: 100%
}

.hero-service__tags {
    flex-wrap: wrap;
    justify-content: center;
    gap: .5rem;
    display: flex
}

.prev-project {
    --prev-project-inset-top: clamp(.25rem, .3125vw + .1875rem, .5rem);
    --prev-project-inset: 1rem;
    --callout-max-width: 11.25rem;
    color: inherit;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--t-normal) ease, transform var(--t-normal) ease, visibility 0s linear var(--t-normal);
    text-decoration: none;
    position: absolute;
    inset-block-start: var(--prev-project-inset-top);
    inset-inline-end: 0;
    transform: translateY(-.75rem)
}

@media (width<=979px) {
    .prev-project {
        transform: translateY(.75rem)
    }
}

.prev-project[data-visible] {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transition: opacity var(--t-normal) ease, transform var(--t-normal) ease, color var(--t-fast) ease;
    transform: translateY(0)
}

@media (width<=979px) {
    .prev-project[data-visible] {
        z-index: 3;
        position: fixed;
        inset-block-start: auto;
        inset-block-end: var(--prev-project-inset);
        inset-inline-end: var(--prev-project-inset)
    }
}

.prev-project:hover,
.prev-project:focus-visible {
    color: var(--clr-primary)
}

.prev-project__label-short {
    display: none
}

@media (width>=980px) {
    .prev-project.pill-contact {
        -webkit-backdrop-filter: none;
        backdrop-filter: none;
        white-space: normal;
        background: 0 0;
        border-radius: 0;
        gap: 0;
        padding: 0;
        display: flow-root
    }
    .prev-project__icon.pill-contact__icon {
        color: var(--callout-icon-color);
        background: 0 0;
        border-radius: 0;
        display: block
    }
    .prev-project__icon.pill-contact__icon svg {
        width: 100%;
        height: 100%
    }
    .prev-project.pill-contact:hover .prev-project__icon,
    .prev-project.pill-contact:focus-visible .prev-project__icon,
    .prev-project.pill-contact:hover .prev-project__icon svg,
    .prev-project.pill-contact:focus-visible .prev-project__icon svg {
        transform: none
    }
    .prev-project__label.pill-contact__label {
        font: inherit;
        letter-spacing: inherit;
        text-transform: inherit
    }
}

@media (width<=979px) {
    .prev-project.callout {
        max-width: none;
        display: inline-flex
    }
    .prev-project__icon.callout__icon {
        float: none;
        margin-right: 0
    }
    .prev-project__icon.pill-contact__icon svg {
        width: 1.5rem;
        height: auto
    }
    .prev-project__label {
        text-transform: none
    }
    .prev-project__label-long {
        display: none
    }
    .prev-project__label-short {
        display: inline
    }
}

.intro {
    --intro-arrow-size: 1.25rem;
    --intro-arrow-color: var(--clr-black);
    --intro-gap: .625rem;
    align-items: flex-start;
    gap: var(--intro-gap);
    display: flex
}

.intro__arrow {
    width: var(--intro-arrow-size);
    height: var(--intro-arrow-size);
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    margin-top: .25rem;
    display: inline-flex
}

.intro__arrow svg {
    width: 100%;
    height: 100%;
    color: var(--intro-arrow-color)
}

.intro__text {
    display: block
}

.section-label {
    --section-label-arrow-color: var(--clr-primary);
    --section-label-gap: .5rem;
    --section-label-top: .625rem;
    align-items: flex-start;
    gap: var(--section-label-gap);
    text-transform: uppercase;
    display: flex
}

@media (width>=980px) {
    .section-label[data-align=top] {
        padding-top: var(--section-label-top)
    }
}

.section-label__arrow {
    width: 1em;
    height: 1em;
    color: var(--section-label-arrow-color);
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.section-label__arrow svg {
    width: 100%;
    height: auto
}

.callout {
    --callout-icon-color: var(--clr-primary);
    --callout-icon-size: 2.25rem;
    --callout-gap: .625rem;
    --callout-max-width: 13.75rem;
    max-width: var(--callout-max-width);
    display: flow-root
}

.callout[data-tone=neutral] {
    --callout-icon-color: currentColor
}

.callout__icon {
    float: left;
    width: var(--callout-icon-size);
    height: var(--callout-icon-size);
    margin-right: var(--callout-gap);
    color: var(--callout-icon-color)
}

.callout__icon svg {
    width: 100%;
    height: 100%;
    display: block
}

.pill-contact {
    --pill-contact-bg: var(--clr-beige);
    --pill-contact-bg-hover: var(--clr-light-beige);
    --pill-contact-text: var(--clr-black);
    --pill-contact-icon-bg: var(--clr-primary);
    --pill-contact-icon-color: var(--clr-beige);
    --pill-contact-icon-size: 2.25rem;
    --pill-contact-font-size: 1rem;
    --pill-contact-font-weight: 600;
    --pill-contact-pad-block: clamp(.25rem, .3125vw + .1875rem, .5rem);
    --pill-contact-pad-left: clamp(.75rem, .9375vw + .5625rem, 1.5rem);
    --pill-contact-pad-right: clamp(.5rem, .625vw + .375rem, 1rem);
    padding-block: var(--pill-contact-pad-block);
    padding-left: var(--pill-contact-pad-left);
    padding-right: var(--pill-contact-pad-right);
    background-color: var(--pill-contact-bg);
    -webkit-backdrop-filter: blur(1.375rem);
    backdrop-filter: blur(1.375rem);
    color: var(--pill-contact-text);
    white-space: nowrap;
    transition: background-color var(--t-fast) ease;
    border-radius: 2.5rem;
    align-items: center;
    gap: 1rem;
    text-decoration: none;
    display: inline-flex
}

.pill-contact:hover {
    --pill-contact-bg: var(--pill-contact-bg-hover)
}

.pill-contact[data-tone=dark] {
    --pill-contact-bg: var(--clr-black);
    --pill-contact-bg-hover: var(--clr-black);
    --pill-contact-text: var(--color-basic-white)
}

.block-wrapper[data-background=beige] .pill-contact:not([data-tone=dark]),
[data-surface=beige] .pill-contact:not([data-tone=dark]) {
    --pill-contact-bg: var(--clr-light-beige);
    --pill-contact-bg-hover: var(--clr-beige)
}

.pill-contact__label {
    font-weight: var(--pill-contact-font-weight);
    font-size: var(--pill-contact-font-size)
}

.pill-contact__icon {
    width: var(--pill-contact-icon-size);
    height: var(--pill-contact-icon-size);
    background-color: var(--pill-contact-icon-bg);
    color: var(--pill-contact-icon-color);
    transition: transform var(--t-fast) var(--ease-out-expo);
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    display: flex
}

.pill-contact__icon svg {
    width: auto;
    height: 1.5rem;
    transition: transform var(--t-fast) var(--ease-out-expo)
}

.pill-contact:hover .pill-contact__icon,
.pill-contact:focus-visible .pill-contact__icon {
    transform: scale(1.2)
}

.pill-contact:hover .pill-contact__icon svg,
.pill-contact:focus-visible .pill-contact__icon svg {
    transform: scale(.92)rotate(-12deg)
}

.pill-tech {
    --pill-tech-bg: var(--clr-light-beige);
    --pill-tech-text: var(--clr-black);
    --pill-tech-radius: var(--border-radius-medium);
    --pill-tech-pad-block: .75rem;
    --pill-tech-pad-inline: 1.25rem;
    --pill-tech-gap: .5rem;
    align-items: center;
    gap: var(--pill-tech-gap);
    padding: var(--pill-tech-pad-block) var(--pill-tech-pad-inline);
    background: var(--pill-tech-bg);
    color: var(--pill-tech-text);
    border-radius: var(--pill-tech-radius);
    white-space: nowrap;
    border: none;
    line-height: 1.1;
    display: inline-flex
}

.pill-tech[data-removable] {
    cursor: pointer;
    transition: opacity var(--t-fast) ease
}

.pill-tech[data-removable]:hover,
.pill-tech[data-removable]:focus-visible {
    opacity: .72
}

.pill-tech[data-variant=solid] {
    --pill-tech-bg: var(--clr-beige)
}

.pill-tech__remove {
    color: currentColor;
    justify-content: center;
    align-items: center;
    width: .75rem;
    height: .75rem;
    display: inline-flex;
    transform: rotate(45deg)
}

.pill-tech__remove svg {
    width: 100%;
    height: 100%
}

.card {
    --card-text: var(--clr-black);
    --card-muted: rgb(from var(--clr-black) r g b/50%);
    --card-radius: var(--border-radius-default);
    height: var(--card-height, auto);
    color: var(--card-text);
    flex-direction: column;
    gap: 1rem;
    text-decoration: none;
    display: flex
}

.card__media {
    flex: var(--card-media-flex, 0 0 auto);
    width: 100%;
    aspect-ratio: var(--card-media-aspect, 367/489);
    border-radius: var(--card-radius);
    position: relative;
    overflow: hidden
}

.card__media-inner {
    width: 100%;
    height: 100%
}

.card__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: transform var(--t-normal) ease;
    position: absolute;
    inset: 0
}

.card__body {
    flex-direction: column;
    gap: .9375rem;
    display: flex
}

.card__title {
    line-height: 1.25
}

.card__subtitle,
.card__description {
    color: var(--card-muted)
}

.tag {
    --tag-bg: var(--clr-beige);
    --tag-text: color-alpha(--clr-black, .75);
    background: var(--tag-bg);
    color: var(--tag-text);
    border-radius: var(--border-radius-medium);
    pointer-events: none;
    align-items: center;
    padding: .75rem 1.25rem;
    text-decoration: none;
    display: inline-flex
}

.visit-website-cta {
    --visit-website-cta-rule: var(--clr-black);
    --visit-website-cta-arrow: var(--clr-primary)
}

.visit-website-cta__link {
    color: var(--clr-black);
    transition: color var(--t-fast) ease;
    border-top: .0625rem solid var(--visit-website-cta-rule);
    border-bottom: .0625rem solid var(--visit-website-cta-rule);
    padding-block: var(--pad);
    align-items: center;
    gap: clamp(1rem, 1.25vw + .75rem, 2rem);
    text-decoration: none;
    display: flex
}

@media (width<=766px) {
    .visit-website-cta__link {
        font-size: var(--fs-xl);
        flex-direction: column;
        align-items: flex-start;
        padding-block: clamp(2rem, 2.5vw + 1.5rem, 4rem)
    }
}

.visit-website-cta__link:hover,
.visit-website-cta__link:focus-visible {
    color: var(--clr-primary)
}

.visit-website-cta__arrow {
    width: auto;
    height: .75em;
    color: var(--visit-website-cta-arrow);
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.visit-website-cta__arrow svg {
    width: 100%;
    height: 100%
}

.next-project {
    --fill-progress: 0;
    color: var(--clr-black);
    margin-block-end: 60vh;
    padding-block: clamp(5rem, 6.25vw + 3.75rem, 10rem) 0
}

.next-project[data-preview] {
    margin-block-end: 60vh
}

.next-project__inner {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "link""heading""caption";
    align-items: end;
    row-gap: clamp(2rem, 2.5vw + 1.5rem, 4rem);
    display: grid
}

@media (width>=980px) {
    .next-project__inner {
        grid-template-columns: auto minmax(0, 1fr);
        grid-template-areas: "heading link""caption link";
        row-gap: clamp(.5rem, .625vw + .375rem, 1rem)
    }
}

.next-project__heading {
    grid-area: heading
}

.next-project__heading-link {
    background-image: linear-gradient(to bottom, var(--clr-primary) calc(var(--fill-progress) * 100%), var(--clr-black) calc(var(--fill-progress) * 100%));
    color: #0000;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text;
    line-height: 1.1;
    text-decoration: none;
    display: block
}

.next-project__caption {
    --caption-icon-size: 1.5rem;
    --caption-gap: .625rem;
    color: var(--clr-black);
    grid-area: caption;
    justify-self: end;
    width: fit-content;
    max-width: 12.5rem;
    display: flow-root
}

@media (width>=980px) {
    .next-project__caption {
        justify-self: start
    }
}

.next-project__caption[data-variant=link] {
    transition: color var(--t-fast) ease;
    grid-area: link;
    justify-self: start;
    text-decoration: none
}

.next-project__caption[data-variant=link]:hover,
.next-project__caption[data-variant=link]:focus-visible {
    color: var(--clr-primary)
}

@media (width>=980px) {
    .next-project__caption[data-variant=link] {
        justify-self: end
    }
}

.next-project__caption-icon {
    float: left;
    width: var(--caption-icon-size);
    height: var(--caption-icon-size);
    margin-right: var(--caption-gap);
    color: var(--clr-primary)
}

.next-project__caption-icon svg {
    width: 100%;
    height: 100%;
    display: block
}

.next-project__preview {
    margin-block-start: clamp(3rem, 3.75vw + 2.25rem, 6rem)
}

.next-project__media {
    aspect-ratio: 3;
    border-radius: var(--border-radius-default);
    position: relative;
    overflow: hidden
}

@media (width<=979px) {
    .next-project__media {
        aspect-ratio: 3/2
    }
}

@media (width<=766px) {
    .next-project__media {
        aspect-ratio: 1
    }
}

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

.next-project__loader {
    place-items: center;
    display: grid;
    position: absolute;
    inset: 0
}

.next-project__loader-arrow {
    grid-area: 1/1;
    width: clamp(4rem, 7.5vw + 2.5rem, 10rem)
}

.next-project__loader-arrow svg {
    width: 100%;
    height: auto;
    display: block
}

.next-project__loader-arrow[data-layer=base] {
    color: rgb(from var(--clr-black) r g b/25%)
}

.next-project__loader-arrow[data-layer=fill] {
    color: var(--clr-primary);
    clip-path: inset(0 0 calc((1 - var(--fill-progress)) * 100%) 0)
}

.pagination {
    justify-content: center;
    padding-block: clamp(1.5rem, 1.875vw + 1.125rem, 3rem);
    display: flex
}

.pagination__list {
    flex-wrap: wrap;
    align-items: center;
    gap: .25rem;
    margin: 0;
    padding: 0;
    list-style: none;
    display: inline-flex
}

.pagination__item {
    margin: 0
}

.pagination__item .page-numbers {
    min-width: 2.25rem;
    height: 2.25rem;
    color: var(--clr-black);
    transition: background var(--t-fast) ease, color var(--t-fast) ease;
    background: 0 0;
    border-radius: .375rem;
    justify-content: center;
    align-items: center;
    padding-inline: .625rem;
    text-decoration: none;
    display: inline-flex
}

.pagination__item .page-numbers:hover,
.pagination__item .page-numbers:focus-visible {
    color: var(--clr-primary)
}

.pagination__item .page-numbers.current {
    background: var(--clr-black);
    color: var(--color-basic-white)
}

.pagination__item .page-numbers.dots {
    pointer-events: none;
    color: rgb(from var(--clr-black) r g b/50%)
}

.pill-location {
    --pill-location-dot: rgb(from var(--clr-black) r g b/30%);
    display: inline-flex
}

.pill-location.is-open {
    --pill-location-dot: var(--color-status-open)
}

.pill-location.is-closed {
    --pill-location-dot: var(--color-status-closed)
}

.pill-location__dot {
    background: var(--pill-location-dot);
    border-radius: 50%;
    flex-shrink: 0;
    width: .5rem;
    height: .5rem
}

.card-team-compact {
    border-radius: var(--border-radius-default);
    display: inline-flex;
    overflow: hidden
}

.card-team-compact__inner {
    background: rgb(from var(--clr-glass) r g b/50%);
    -webkit-backdrop-filter: blur(1.25rem);
    backdrop-filter: blur(1.25rem);
    white-space: nowrap;
    align-items: center;
    gap: .75rem;
    width: 21rem;
    padding: 1rem;
    display: flex
}

.card-team-compact__avatar {
    object-fit: cover;
    border-radius: 50%;
    flex-shrink: 0;
    width: 4.25rem;
    height: 4.5rem
}

.card-team-compact__body {
    flex-direction: column;
    align-items: flex-start;
    gap: .375rem;
    min-width: 0;
    display: flex
}

.card-team-compact__heading {
    align-items: center;
    gap: .5rem;
    display: flex
}

.card-team-compact__name {
    color: var(--clr-black);
    font-size: 1.125rem;
    font-weight: 400;
    line-height: 1.1
}

.card-team-compact__role {
    color: var(--clr-black);
    font-size: .875rem;
    font-weight: 300;
    line-height: 1.1
}

.card-office-compact {
    --card-office-compact-title-gap: 1.5rem;
    --card-office-compact-contact-gap: 1.5rem;
    --card-office-compact-icon-size: 2rem;
    --card-office-compact-icon-gap: 1rem;
    --card-office-compact-link-duration: .3s;
    --card-office-compact-link-hover: rgb(from var(--clr-black) r g b/60%);
    height: 100%;
    color: var(--clr-black);
    flex-direction: column;
    display: flex
}

.card-office-compact__icon {
    width: var(--card-office-compact-icon-size);
    height: var(--card-office-compact-icon-size);
    object-fit: contain;
    margin-bottom: var(--card-office-compact-icon-gap)
}

.card-office-compact__city {
    margin-bottom: var(--card-office-compact-title-gap);
    align-items: center;
    gap: .5rem;
    display: flex
}

.card-office-compact__identity,
.card-office-compact__contact {
    flex-direction: column;
    display: flex
}

.card-office-compact__contact {
    padding-top: var(--card-office-compact-contact-gap);
    margin-top: auto
}

.card-office-compact__name {
    font-weight: 700
}

.card-office-compact__address {
    opacity: .6
}

.card-office-compact__email,
.card-office-compact__phone,
.card-office-compact__vat {
    color: inherit
}

a.card-office-compact__email,
a.card-office-compact__phone,
a.card-office-compact__vat {
    transition: color var(--card-office-compact-link-duration) var(--ease-out-expo);
    text-decoration: none
}

a.card-office-compact__email:hover,
a.card-office-compact__email:focus-visible,
a.card-office-compact__phone:hover,
a.card-office-compact__phone:focus-visible,
a.card-office-compact__vat:hover,
a.card-office-compact__vat:focus-visible {
    color: var(--card-office-compact-link-hover)
}

@media (prefers-reduced-motion:reduce) {
    a.card-office-compact__email,
    a.card-office-compact__phone,
    a.card-office-compact__vat {
        transition: none
    }
}

.card-office-lp {
    --card-office-lp-status-open-display: inline;
    --card-office-lp-status-closed-display: none;
    --card-office-lp-bg: var(--color-basic-white);
    --card-office-lp-text: var(--clr-black);
    --card-office-lp-muted: rgb(from currentColor r g b/50%);
    --card-office-lp-status-bg: var(--clr-beige);
    --card-office-lp-pad: clamp(1.25rem, .9375vw + 1.0625rem, 2rem);
    --card-office-lp-gap: clamp(1rem, .625vw + .875rem, 1.5rem);
    --card-office-lp-radius: 1.5rem;
    --card-office-lp-media-radius: var(--border-radius-default);
    --card-office-lp-media-height: 13.75rem;
    --card-office-lp-contact-gap: .5rem;
    gap: var(--card-office-lp-gap);
    padding: var(--card-office-lp-pad);
    background: var(--card-office-lp-bg);
    border-radius: var(--card-office-lp-radius);
    color: var(--card-office-lp-text);
    flex-direction: column;
    display: flex
}

.card-office-lp[data-closed] {
    --card-office-lp-status-open-display: none;
    --card-office-lp-status-closed-display: inline
}

.card-office-lp__header {
    justify-content: space-between;
    align-items: center;
    gap: var(--card-office-lp-contact-gap);
    display: flex
}

.card-office-lp__city {
    margin: 0
}

.card-office-lp__status {
    background: var(--card-office-lp-status-bg);
    border-radius: var(--border-radius-full);
    flex-shrink: 0;
    align-items: center;
    gap: .5rem;
    padding: .5rem 1rem;
    display: inline-flex
}

.card-office-lp__status-open {
    display: var(--card-office-lp-status-open-display)
}

.card-office-lp__status-closed {
    display: var(--card-office-lp-status-closed-display)
}

.card-office-lp__media {
    border-radius: var(--card-office-lp-media-radius);
    overflow: hidden
}

.card-office-lp__image {
    width: 100%;
    height: var(--card-office-lp-media-height);
    object-fit: cover;
    display: block
}

.card-office-lp__contact {
    gap: var(--card-office-lp-contact-gap);
    flex-direction: column;
    line-height: 1.4;
    display: flex
}

.card-office-lp__address {
    margin: 0
}

.card-office-lp__hours {
    color: var(--card-office-lp-muted);
    margin: 0
}

.card-office-lp__phone {
    color: inherit;
    transition: color var(--t-fast) ease;
    text-decoration: none
}

.card-office-lp__phone:hover,
.card-office-lp__phone:focus-visible {
    color: var(--clr-primary)
}

[data-theme=dark] .card-office-lp {
    --card-office-lp-bg: var(--clr-dark-raised);
    --card-office-lp-status-bg: rgb(from currentColor r g b/10%)
}

.related-grid {
    --related-grid-gap: clamp(1rem, 1.25vw + .75rem, 2rem);
    --related-grid-stack-gap: clamp(1.5rem, 1.875vw + 1.125rem, 3rem);
    --related-grid-pad-block: var(--pad);
    padding-block: var(--related-grid-pad-block)
}

.related-grid__inner {
    gap: var(--related-grid-stack-gap);
    flex-direction: column;
    display: flex
}

.related-grid__grid {
    gap: var(--related-grid-gap);
    grid-template-columns: minmax(0, 1fr);
    display: grid
}

@media (width>=980px) {
    .related-grid__grid {
        grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr)
    }
}

.related-grid__item {
    --card-media-aspect: 4 / 3
}

.related-grid__item[data-grid-size=wide] {
    --card-media-aspect: 767 / 434
}

@media (width>=980px) {
    .related-grid__item[data-grid-size=standard] {
        --card-media-flex: 1 0 auto
    }
}

.list-preview {
    --list-preview-divider: var(--clr-black);
    --list-preview-bg-hover: var(--clr-beige);
    --list-preview-subtitle-color: inherit;
    --list-preview-subtitle-size: var(--fs-body);
    --list-preview-row-pad-y: 1.5rem;
    --list-preview-shift: 1.5rem;
    --list-preview-width: 15rem;
    --list-preview-aspect: 227 / 249;
    --list-preview-radius: var(--border-radius-default);
    --list-preview-subtitle-full-display: inline;
    --list-preview-subtitle-short-display: none;
    --list-preview-subtitle-display: table-cell;
    --list-preview-meta-display: table-cell;
    --list-preview-explore-text-display: inline-block;
    --list-preview-explore-arrow-display: none;
    --list-preview-explore-arrow-size: 1.25rem;
    position: relative
}

@media (width<=979px) {
    .list-preview[data-variant=archive] {
        --list-preview-subtitle-full-display: none;
        --list-preview-subtitle-short-display: inline;
        --list-preview-meta-display: none;
        --list-preview-explore-text-display: none;
        --list-preview-explore-arrow-display: inline-flex
    }
}

.list-preview__preview {
    width: var(--list-preview-width);
    aspect-ratio: var(--list-preview-aspect);
    border-radius: var(--list-preview-radius);
    pointer-events: none;
    z-index: 3;
    will-change: transform;
    position: absolute;
    top: 0;
    left: 0;
    overflow: hidden
}

.list-preview__table {
    border-collapse: collapse;
    width: 100%
}

.list-preview__row {
    cursor: pointer;
    transition: background var(--t-fast) ease;
    position: relative
}

.list-preview__row:hover {
    background: var(--list-preview-bg-hover)
}

.list-preview__cell {
    padding-block: var(--list-preview-row-pad-y);
    border-bottom: .0625rem solid var(--list-preview-divider);
    font-size: var(--fs-body);
    vertical-align: middle;
    position: relative
}

.list-preview__cell a {
    color: inherit;
    text-decoration: none
}

.list-preview__cell--action {
    text-align: right
}

.list-preview__cell--meta {
    display: var(--list-preview-meta-display)
}

.list-preview__cell--subtitle {
    display: var(--list-preview-subtitle-display);
    color: var(--list-preview-subtitle-color);
    font-size: var(--list-preview-subtitle-size)
}

.list-preview__subtitle-full {
    display: var(--list-preview-subtitle-full-display)
}

.list-preview__subtitle-short {
    display: var(--list-preview-subtitle-short-display)
}

.list-preview__title-link {
    align-items: center;
    gap: .875rem;
    display: inline-flex
}

.list-preview__title-link:after,
.list-preview__link-cover {
    content: "";
    position: absolute;
    inset: 0
}

.list-preview__link-cover {
    z-index: 1
}

.list-preview__icon {
    width: 1.25rem;
    height: 1.25rem;
    transition: transform var(--t-fast) ease;
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.list-preview__icon svg {
    width: 100%;
    height: 100%
}

.list-preview__row:hover .list-preview__icon {
    transform: translateX(var(--list-preview-shift))
}

.list-preview__title {
    transition: transform var(--t-fast) ease;
    font-weight: 500
}

.list-preview__row:hover .list-preview__title {
    transform: translateX(var(--list-preview-shift))
}

.list-preview__explore {
    font-size: var(--fs-body-xs);
    letter-spacing: -.02em;
    leading-trim: both;
    text-edge: cap;
    transition: transform var(--t-fast) ease;
    align-items: center;
    gap: .25rem;
    font-weight: 500;
    display: inline-flex
}

.list-preview__row:hover .list-preview__explore {
    transform: translateX(calc(var(--list-preview-shift) * -1))
}

.list-preview__explore-dot {
    display: var(--list-preview-explore-text-display);
    background: var(--clr-primary);
    border-radius: 50%;
    width: .25rem;
    height: .25rem
}

.list-preview__explore-bracket {
    display: var(--list-preview-explore-text-display)
}

.list-preview__explore-label {
    display: var(--list-preview-explore-text-display);
    margin-bottom: -.2em
}

.list-preview__explore-arrow {
    display: var(--list-preview-explore-arrow-display);
    width: var(--list-preview-explore-arrow-size);
    color: var(--clr-primary);
    justify-content: center;
    align-items: center;
    transform: rotate(180deg)
}

.list-preview__explore-arrow svg {
    width: 100%;
    height: auto
}

.icon-morph {
    --icon-morph-size: 3.75rem;
    width: var(--icon-morph-size);
    color: currentColor;
    display: inline-block
}

.icon-morph__icon {
    display: block
}

.icon-morph__icon[hidden] {
    display: none
}

.icon-morph__icon svg {
    width: 100%;
    height: auto;
    display: block
}

.site-header {
    --header-padding-block: clamp(.875rem, .78125vw + .71875rem, 1.5rem);
    --header-gap: clamp(1.25rem, .9375vw + 1.0625rem, 2rem);
    top: 0;
    z-index: 4;
    padding-block: var(--header-padding-block);
    pointer-events: none;
    position: fixed;
    inset-inline: 0
}

.site-header:before {
    content: "";
    z-index: -1;
    background-color: rgb(from var(--clr-beige) r g b/85%);
    opacity: 0;
    transition: opacity var(--t-normal) ease;
    -webkit-backdrop-filter: blur(.25rem);
    backdrop-filter: blur(.25rem);
    pointer-events: none;
    position: absolute;
    inset: 0;
    -webkit-mask-image: linear-gradient(#000, #0000);
    mask-image: linear-gradient(#000, #0000)
}

[data-scrolled] .site-header:before {
    opacity: 1
}

@media (width<=979px) {
    [data-scrolled] .site-header {
        -webkit-backdrop-filter: none;
        backdrop-filter: none
    }
}

.site-header__inner {
    align-items: center;
    gap: .5rem;
    display: flex
}

.site-header .branding,
.site-header__actions,
.site-header__controls {
    pointer-events: auto
}

[data-minimal] .site-header__actions,
[data-minimal] .site-header__controls {
    display: none
}

.site-header__actions {
    align-items: center;
    gap: var(--header-gap);
    margin-inline-start: auto;
    display: flex
}

@media (width<=979px) {
    .site-header__actions {
        --nav-stagger-base: .15s;
        --nav-stagger-step: 60ms;
        --header-gap: 2rem;
        z-index: 1;
        background-color: var(--clr-beige);
        opacity: 0;
        visibility: hidden;
        transition: opacity var(--t-normal) ease var(--t-normal), visibility var(--t-normal) ease var(--t-normal);
        flex-direction: column;
        justify-content: center;
        padding: 2rem;
        position: fixed;
        inset: 0
    }
}

@media (width<=979px) and (prefers-reduced-motion:reduce) {
    .site-header__actions {
        transition: none
    }
}

@media (width<=979px) {
    .site-header__actions .nav-main__item {
        opacity: 0;
        transition: opacity var(--t-normal) ease, transform var(--t-normal) var(--ease-out-expo) var(--t-normal);
        transform: translateY(1.5rem)
    }
}

@media (width<=979px) and (prefers-reduced-motion:reduce) {
    .site-header__actions .nav-main__item {
        transition: none
    }
}

@media (width<=979px) {
    .site-header__actions .site-header__pill {
        opacity: 0;
        transition: opacity var(--t-normal) ease
    }
}

@media (width<=979px) and (prefers-reduced-motion:reduce) {
    .site-header__actions .site-header__pill {
        transition: none
    }
}

.site-header__controls {
    align-items: center;
    gap: .5rem;
    display: flex
}

@media (width<=979px) {
    .site-header__controls {
        z-index: 2;
        margin-inline-start: auto;
        position: relative
    }
    .site-header .branding {
        z-index: 2;
        position: relative
    }
    .site-header .lang-switcher {
        --lang-switcher-size: 2.5rem
    }
    .site-header .theme-toggle {
        --theme-toggle-size: 2.5rem
    }
}

.site-header__pill {
    --pill-contact-pad-block: clamp(.375rem, .3125vw + .3125rem, .625rem);
    --pill-contact-pad-left: clamp(.75rem, .46875vw + .65625rem, 1.125rem);
    --pill-contact-pad-right: clamp(.375rem, .3125vw + .3125rem, .625rem)
}

@media (width<=979px) {
    .site-header__pill {
        --pill-contact-bg: var(--clr-black);
        --pill-contact-bg-hover: var(--clr-black);
        --pill-contact-text: var(--color-basic-white)
    }
}

@media (width>=980px) {
    [data-scrolled] .site-header__pill {
        --pill-contact-bg: var(--clr-light-beige);
        --pill-contact-bg-hover: var(--clr-beige)
    }
}

[data-scrolled] .site-header .lang-switcher {
    --lang-switcher-bg: var(--clr-light-beige);
    --lang-switcher-bg-hover: var(--clr-beige)
}

[data-scrolled] .site-header .theme-toggle {
    --theme-toggle-bg: var(--clr-light-beige);
    --theme-toggle-bg-hover: var(--clr-beige)
}

[data-scrolled] .site-header .hamburger {
    --hamburger-bg: var(--clr-light-beige)
}

html[data-menu-open] {
    overflow: hidden
}

[data-menu-open] .theme-toggle {
    --theme-toggle-bg: var(--clr-light-beige);
    --theme-toggle-bg-hover: var(--clr-beige)
}

[data-menu-open] .lang-switcher {
    --lang-switcher-bg: var(--clr-light-beige);
    --lang-switcher-bg-hover: var(--clr-beige)
}

[data-menu-open] .hamburger {
    --hamburger-bg: var(--clr-light-beige)
}

@media (width<=979px) {
    .site-header.is-open .site-header__actions {
        opacity: 1;
        visibility: visible;
        transition-delay: 0s
    }
    .site-header.is-open .site-header__actions .nav-main__item {
        opacity: 1;
        transform: translateY(0)
    }
    .site-header.is-open .site-header__actions .site-header__pill {
        opacity: 1
    }
    .site-header.is-open .site-header__actions .nav-main__item:first-child {
        transition-delay: calc(var(--nav-stagger-base) + 0 * var(--nav-stagger-step))
    }
    .site-header.is-open .site-header__actions .nav-main__item:nth-child(2) {
        transition-delay: calc(var(--nav-stagger-base) + 1 * var(--nav-stagger-step))
    }
    .site-header.is-open .site-header__actions .nav-main__item:nth-child(3) {
        transition-delay: calc(var(--nav-stagger-base) + 2 * var(--nav-stagger-step))
    }
    .site-header.is-open .site-header__actions .nav-main__item:nth-child(4) {
        transition-delay: calc(var(--nav-stagger-base) + 3 * var(--nav-stagger-step))
    }
    .site-header.is-open .site-header__actions .nav-main__item:nth-child(5) {
        transition-delay: calc(var(--nav-stagger-base) + 4 * var(--nav-stagger-step))
    }
    .site-header.is-open .site-header__actions .nav-main__item:nth-child(6) {
        transition-delay: calc(var(--nav-stagger-base) + 5 * var(--nav-stagger-step))
    }
    .site-header.is-open .site-header__actions .nav-main__item:nth-child(7) {
        transition-delay: calc(var(--nav-stagger-base) + 6 * var(--nav-stagger-step))
    }
    .site-header.is-open .site-header__actions .nav-main__item:nth-child(8) {
        transition-delay: calc(var(--nav-stagger-base) + 7 * var(--nav-stagger-step))
    }
    .site-header.is-open .site-header__actions .site-header__pill {
        transition-delay: calc(var(--nav-stagger-base) + 8 * var(--nav-stagger-step))
    }
    .site-header .hamburger {
        display: grid
    }
}

.footer {
    --footer-bg: var(--clr-beige);
    --footer-fg: var(--clr-black);
    --footer-bottom-gap: 0px;
    --footer-hand-size: clamp(2.5rem, 1.25vw + 2.25rem, 3.5rem);
    --footer-link-opacity-hover: .5;
    --footer-link-transition: opacity .25s var(--ease-out-expo);
    background: var(--footer-bg);
    color: var(--footer-fg);
    padding-block: clamp(3.75rem, 4.6875vw + 2.8125rem, 7.5rem);
    overflow: hidden
}

[data-minimal] .footer,
[data-no-footer] .footer {
    display: none
}

.footer__container {
    flex-direction: column;
    gap: clamp(3rem, 2.5vw + 2.5rem, 5rem);
    display: flex
}

.footer__offices {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 2rem;
    display: grid
}

@media (width<=980px) {
    .footer__offices {
        grid-template-columns: minmax(0, 1fr)
    }
}

.footer__columns {
    grid-template-columns: minmax(0, 1.5fr) repeat(4, minmax(0, 1fr));
    gap: clamp(1.5rem, .703125vw + 1.35938rem, 2.0625rem);
    display: grid
}

@media (width<=1200px) {
    .footer__columns {
        grid-template-columns: repeat(3, minmax(0, 1fr))
    }
}

@media (width<=767px) {
    .footer__columns {
        grid-template-columns: minmax(0, 1fr)
    }
}

.footer__col {
    flex-direction: column;
    gap: .875rem;
    display: flex
}

.footer__col-title {
    opacity: .5
}

.footer__description {
    max-width: 17.5rem
}

.footer-services {
    flex-direction: column;
    gap: .5rem;
    display: flex
}

.footer-services__link {
    color: inherit;
    transition: var(--footer-link-transition);
    align-items: center;
    gap: .75rem;
    display: inline-flex
}

.footer-services__link:hover {
    opacity: var(--footer-link-opacity-hover)
}

.footer-services__icon {
    flex-shrink: 0;
    width: 1.375rem;
    display: inline-flex
}

.footer-services__icon svg {
    width: 100%;
    height: auto
}

.footer__contact-list,
.socials__list {
    flex-direction: column;
    gap: .5rem;
    display: flex
}

.footer__contact-link {
    color: inherit;
    transition: var(--footer-link-transition)
}

.footer__contact-link:hover {
    opacity: var(--footer-link-opacity-hover)
}

.social__single {
    justify-content: flex-end;
    display: flex
}

@media (width<=767px) {
    .social__single {
        justify-content: flex-start
    }
}

.social__single a {
    color: var(--clr-black);
    transition: var(--footer-link-transition)
}

.social__single a:hover {
    opacity: var(--footer-link-opacity-hover)
}

.footer__bottom {
    position: relative
}

.footer__bottom-head {
    margin-bottom: var(--footer-bottom-gap);
    justify-content: space-between;
    align-items: flex-start;
    gap: 1.5rem;
    display: flex
}

@media (width<=767px) {
    .footer__bottom-head {
        flex-direction: column-reverse
    }
}

.footer__hand {
    width: var(--footer-hand-size);
    display: inline-flex
}

@media (width<=767px) {
    .footer__hand {
        margin-left: auto
    }
}

.footer__hand svg {
    width: 100%;
    height: auto
}

.footer__socials {
    text-align: right
}

@media (width<=767px) {
    .footer__socials {
        text-align: left
    }
}

.footer__logo svg {
    transform-origin: 0;
    width: 100%;
    height: auto;
    display: block
}

.footer__copyright {
    opacity: .5;
    position: absolute;
    bottom: 0;
    right: 0
}

@media (width<=767px) {
    .footer__copyright {
        width: fit-content;
        margin-top: 2.5rem;
        position: static
    }
}

.error-404 {
    --error-404-bg: var(--clr-light-beige);
    --error-404-text: var(--clr-black);
    --error-404-gap: clamp(1.25rem, .9375vw + 1.0625rem, 2rem);
    --error-404-number-size: clamp(4.5rem, 12.3438vw + 2.03125rem, 14.375rem);
    --error-404-ufo-width: clamp(6.25rem, 8.59375vw + 4.53125rem, 13.125rem);
    --error-404-ufo-x: -58%;
    --error-404-ufo-y: -34%;
    --error-404-beam-color: var(--clr-beige);
    --error-404-mountains-width: clamp(10rem, 39.6%, 42.875rem);
    background-color: var(--error-404-bg);
    min-height: 100svh;
    color: var(--error-404-text);
    text-align: center;
    justify-content: center;
    align-items: safe center;
    padding-block: clamp(5rem, 3.75vw + 4.25rem, 8rem);
    display: flex;
    position: relative;
    overflow: hidden
}

.error-404__beam {
    z-index: 0;
    background-color: var(--error-404-beam-color);
    clip-path: var(--error-404-beam-clip, polygon(0 0, 0 0, 0 0));
    pointer-events: none;
    position: absolute;
    inset: 0
}

.error-404__mountains {
    z-index: 1;
    width: var(--error-404-mountains-width);
    pointer-events: none;
    height: auto;
    position: absolute;
    bottom: 0
}

.error-404__mountains[data-pos=left] {
    left: -5.5%
}

.error-404__mountains[data-pos=right] {
    right: 0
}

.error-404__inner {
    z-index: 2;
    align-items: center;
    gap: var(--error-404-gap);
    flex-direction: column;
    display: flex;
    position: relative
}

.error-404__display {
    display: inline-flex;
    position: relative
}

.error-404__number {
    font-size: var(--error-404-number-size);
    margin: 0;
    line-height: .9;
    display: flex
}

.error-404__digit[data-flip] {
    transform: scaleX(-1)
}

.error-404__ufo {
    width: var(--error-404-ufo-width);
    height: auto;
    translate: var(--error-404-ufo-x) var(--error-404-ufo-y);
    pointer-events: none;
    position: absolute;
    top: 0;
    left: 100%
}

.error-404__tagline {
    max-width: 64.625rem;
    margin: 0
}

.error-404__pill {
    margin-top: clamp(.5rem, 1.25vw + .25rem, 1.5rem)
}

.archive {
    --archive-bg: var(--clr-light-beige);
    --archive-text: var(--clr-black);
    --archive-muted: color-alpha(--clr-black, 60%);
    --archive-chip-bg: transparent;
    --archive-chip-bg-active: var(--clr-primary);
    --archive-chip-text-active: var(--color-basic-white);
    --archive-divider: color-alpha(--clr-black, 10%);
    --archive-header-pad: var(--pad-hero);
    background: var(--archive-bg);
    color: var(--archive-text)
}

.archive__inner {
    flex-direction: column;
    gap: clamp(4.0625rem, 5.07813vw + 3.04688rem, 8.125rem);
    display: flex
}

.archive__header {
    padding-top: var(--pad-hero);
    flex-direction: column;
    gap: 2.5rem;
    display: flex
}

.archive__intro {
    max-width: var(--container-sm)
}

.archive__filters {
    --archive-chips-display: flex;
    border-bottom: .0625rem solid var(--archive-divider);
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 1rem;
    padding-bottom: 1rem;
    display: flex
}

@media (width<=980px) {
    .archive__filters {
        gap: 2rem;
        padding-bottom: 0
    }
    :root[data-js] .archive__filters {
        --archive-chips-display: none
    }
}

.archive__chips {
    display: var(--archive-chips-display);
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    margin: 0;
    padding: 0;
    list-style: none
}

.archive__chip {
    background: var(--archive-chip-bg);
    color: var(--archive-text);
    font-size: var(--fs-body-sm);
    transition: background var(--t-fast) ease, color var(--t-fast) ease;
    border-radius: 9999px;
    align-items: center;
    gap: .375rem;
    padding: .375rem;
    text-decoration: none;
    display: inline-flex
}

.archive__chip:hover,
.archive__chip:focus-visible {
    color: var(--clr-primary)
}

.archive__chip[data-active] {
    color: var(--clr-primary);
    font-weight: 500
}

.archive__chip__icon {
    color: currentColor;
    justify-content: center;
    align-items: center;
    width: auto;
    height: 1.4em;
    margin-bottom: .1em;
    display: inline-flex
}

.archive__chip__icon svg,
.archive__chip__icon img {
    object-fit: contain;
    width: 100%;
    height: 100%
}

.archive__views {
    gap: .25rem;
    display: inline-flex
}

@media (width<=980px) {
    .archive__views {
        margin-left: auto
    }
}

.archive__view-toggle {
    width: 2rem;
    height: 2rem;
    color: var(--archive-text);
    opacity: .25;
    transition: color var(--t-fast) ease, opacity var(--t-fast) ease;
    background: 0 0;
    border: none;
    border-radius: .375rem;
    justify-content: center;
    align-items: center;
    text-decoration: none;
    display: inline-flex
}

.archive__view-toggle svg {
    width: auto;
    height: .75rem;
    display: block
}

.archive__view-toggle:hover,
.archive__view-toggle:focus-visible {
    color: var(--clr-primary);
    opacity: 1
}

.archive__view-toggle[data-active] {
    opacity: 1
}

.archive__results:not(:has(.pagination)) {
    padding-bottom: clamp(1.5rem, 1.875vw + 1.125rem, 3rem)
}

.archive__empty {
    text-align: center;
    color: var(--archive-muted);
    padding-block: clamp(3rem, 3.75vw + 2.25rem, 6rem)
}

.archive__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.25rem, 1.5625vw + .9375rem, 2.5rem) clamp(1rem, 1.25vw + .75rem, 2rem);
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

@media (width>=980px) {
    .archive__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: stretch
    }
}

.archive__grid-item {
    --card-media-aspect: 367 / 454;
    min-width: 0;
    margin: 0
}

.archive__grid-item:first-child,
.archive__grid-item:nth-child(7) {
    --card-media-aspect: 767 / 454
}

.archive__grid-item:nth-child(6) {
    --card-media-aspect: 1568 / 850
}

@media (width>=980px) {
    .archive__grid-item:first-child,
    .archive__grid-item:nth-child(7) {
        --card-height: 100%;
        --card-media-flex: 1 0 auto
    }
    .archive__grid-item:first-child {
        grid-area: 1/1/2/3
    }
    .archive__grid-item:nth-child(2) {
        grid-area: 1/4/2/5
    }
    .archive__grid-item:nth-child(3) {
        grid-area: 2/1/3/2
    }
    .archive__grid-item:nth-child(4) {
        grid-area: 2/3/3/4
    }
    .archive__grid-item:nth-child(5) {
        grid-area: 2/4/3/5
    }
    .archive__grid-item:nth-child(6) {
        grid-area: 3/1/4/5
    }
    .archive__grid-item:nth-child(7) {
        grid-area: 4/2/5/4
    }
    .archive__grid-item:nth-child(8) {
        grid-area: 4/4/5/5
    }
}

.archive__grid-item--blog:nth-child(n) {
    --card-media-aspect: 4 / 3
}

@media (width>=980px) {
    .archive__grid-item--blog {
        --card-height: 100%;
        --card-media-flex: 1 0 auto
    }
    .archive__grid-item--blog:nth-child(7n+1) {
        --card-media-aspect: 767 / 414;
        grid-area: auto/1/auto/3
    }
    .archive__grid-item--blog:nth-child(7n+2) {
        --card-media-aspect: 367 / 388;
        grid-area: auto/4/auto/5
    }
    .archive__grid-item--blog:nth-child(7n+3) {
        --card-media-aspect: 367 / 388;
        grid-area: auto/1/auto/2
    }
    .archive__grid-item--blog:nth-child(7n+4) {
        --card-media-aspect: 367 / 388;
        grid-area: auto/3/auto/4
    }
    .archive__grid-item--blog:nth-child(7n+5) {
        --card-media-aspect: 367 / 388;
        grid-area: auto/4/auto/5
    }
    .archive__grid-item--blog:nth-child(7n+6) {
        --card-media-aspect: 767 / 414;
        grid-area: auto/1/auto/3
    }
    .archive__grid-item--blog:nth-child(7n+7) {
        --card-media-aspect: 767 / 414;
        grid-area: auto/3/auto/5
    }
}

.archive__related {
    --archive-related-gap: clamp(1.5rem, 1.25vw + 1.25rem, 2.5rem);
    --archive-related-grid-gap: clamp(1.25rem, .9375vw + 1.0625rem, 2rem);
    --archive-related-pad-bottom: clamp(3rem, 2.5vw + 2.5rem, 5rem);
    --archive-related-card-aspect: 367 / 454;
    align-items: flex-start;
    gap: var(--archive-related-gap);
    border-bottom: .0625rem solid var(--archive-divider);
    flex-direction: column;
    margin-block-end: var(--archive-related-pad-bottom);
    padding-block-end: var(--archive-related-pad-bottom);
    display: flex
}

.archive__related-title {
    margin: 0
}

.archive__related-grid {
    gap: var(--archive-related-grid-gap);
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

@media (width>=980px) {
    .archive__related-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
        align-items: stretch
    }
}

.archive__related-item {
    --card-media-aspect: var(--archive-related-card-aspect);
    min-width: 0;
    margin: 0
}

.hero-blog {
    padding-top: var(--pad-hero)
}

.single-research-paper {
    --research-paper-gap: clamp(.75rem, .625vw + .625rem, 1.25rem);
    --research-paper-rule: rgb(from var(--clr-black) r g b/15%);
    --research-paper-muted: rgb(from var(--clr-black) r g b/65%);
    --research-paper-abstract-bg: rgb(from var(--clr-black) r g b/4%);
    --research-paper-abstract-pad: clamp(1.5rem, 1.25vw + 1.25rem, 2.5rem);
    --research-paper-section-gap: clamp(2.5rem, 2.5vw + 2rem, 4.5rem);
    --research-paper-radius: .75rem;
    --research-paper-sidebar-width: 12.5rem;
    --research-paper-sidebar-gap: clamp(2rem, 2.5vw + 1.5rem, 4rem)
}

.single-research-paper [data-container=md] {
    --container-width: var(--container-lg)
}

.single-research-paper__hero-inner {
    align-items: center;
    gap: var(--research-paper-gap);
    text-align: center;
    flex-direction: column;
    display: flex
}

.single-research-paper__eyebrow {
    color: var(--research-paper-muted)
}

.single-research-paper__authors {
    justify-content: center;
    gap: var(--research-paper-gap);
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex
}

.single-research-paper__author {
    flex-direction: column;
    display: flex
}

.single-research-paper__author-affiliation,
.single-research-paper__date {
    color: var(--research-paper-muted)
}

.single-research-paper__download {
    margin-top: var(--research-paper-gap)
}

.single-research-paper__abstract {
    margin-top: var(--research-paper-section-gap);
    padding: var(--research-paper-abstract-pad);
    border-radius: var(--research-paper-radius);
    background-color: var(--research-paper-abstract-bg)
}

.single-research-paper__abstract-heading {
    margin-bottom: calc(var(--research-paper-gap) / 2)
}

.single-research-paper__abstract-body>p:last-child {
    margin-bottom: 0
}

.single-research-paper__article {
    margin-block: var(--research-paper-section-gap)
}

.single-research-paper__content {
    gap: var(--research-paper-sidebar-gap);
    grid-template-columns: minmax(0, 1fr);
    padding-inline: 1rem;
    display: grid
}

@media (width>=980px) {
    .single-research-paper__content {
        grid-template-columns: var(--research-paper-sidebar-width) minmax(0, 1fr);
        align-items: start
    }
}

.single-research-paper__content:has(>.single-research-paper__sidebar:empty) {
    grid-template-columns: minmax(0, 1fr)
}

.single-research-paper__sidebar {
    gap: var(--research-paper-gap);
    flex-direction: column;
    display: flex
}

.single-research-paper__sidebar:empty {
    display: none
}

@media (width>=980px) {
    .single-research-paper__sidebar {
        top: var(--research-paper-sidebar-gap);
        position: sticky
    }
}

.single-research-paper__sidebar-intro {
    color: var(--research-paper-muted)
}

.single-research-paper__sidebar-intro>p:last-child {
    margin-bottom: 0
}

.single-research-paper__toc-list {
    gap: calc(var(--research-paper-gap) / 2);
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex
}

.single-research-paper__toc-item[data-level="3"] {
    padding-left: var(--research-paper-gap)
}

.single-research-paper__toc-link {
    color: var(--research-paper-muted);
    transition: color .2s;
    display: block
}

.single-research-paper__toc-link:hover,
.single-research-paper__toc-link:focus-visible,
.single-research-paper__toc-link.is-active {
    color: var(--clr-black)
}

.single-research-paper__references {
    margin-block: var(--research-paper-section-gap)
}

.single-research-paper__references-heading {
    padding-bottom: var(--research-paper-gap);
    border-bottom: .0625rem solid var(--research-paper-rule)
}

.single-research-paper__references-list {
    gap: var(--research-paper-gap);
    flex-direction: column;
    margin: 0;
    padding-left: 1.25rem;
    display: flex
}

.single-research-paper__reference {
    color: var(--research-paper-muted)
}

.single-research-paper__reference-link {
    text-decoration: underline
}

.single-service__services {
    --single-service-services-pad-block: var(--pad);
    --single-service-services-gap: clamp(1.5rem, 2.5vw + 1rem, 3.5rem);
    gap: var(--single-service-services-gap);
    padding-block: var(--single-service-services-pad-block);
    flex-direction: column;
    display: flex
}

.single-service__services-heading {
    margin: 0
}

.single-simple__hero {
    text-align: center
}

.block-preview {
    background: var(--clr-light-beige);
    color: var(--clr-black);
    grid-template-columns: minmax(0, 1fr);
    display: grid
}

@media (width>=1400px) {
    .block-preview {
        grid-template-columns: 15rem minmax(0, 1fr)
    }
}

.block-preview__nav {
    background: var(--clr-light-beige);
    border-bottom: .0625rem solid rgb(from var(--clr-black) r g b/8%);
    z-index: 10;
    align-self: start;
    padding-block: clamp(1.5rem, 1.875vw + 1.125rem, 3rem);
    position: sticky;
    top: 0
}

@media (width>=1400px) {
    .block-preview__nav {
        border-bottom: 0;
        border-right: .0625rem solid rgb(from var(--clr-black) r g b/8%);
        height: 100vh;
        overflow-y: auto
    }
}

.block-preview__nav-title {
    font-size: var(--fs-body-sm);
    text-transform: uppercase;
    letter-spacing: .08em;
    color: rgb(from var(--clr-black) r g b/60%);
    margin: 0 0 .75rem;
    font-weight: 600
}

.block-preview__nav-list {
    counter-reset: block-preview-nav;
    margin: 0;
    padding: 0;
    list-style: none
}

.block-preview__nav-list li {
    counter-increment: block-preview-nav;
    margin: 0
}

.block-preview__nav-list a {
    color: var(--clr-black);
    font-size: var(--fs-body-sm);
    transition: color var(--t-fast) ease;
    padding: .375rem 0;
    text-decoration: none;
    display: block
}

.block-preview__nav-list a:before {
    content: counter(block-preview-nav, decimal-leading-zero) "  ";
    color: rgb(from var(--clr-black) r g b/40%);
    font-variant-numeric: tabular-nums
}

.block-preview__nav-list a:hover,
.block-preview__nav-list a:focus-visible {
    color: var(--clr-primary)
}

.block-preview__list {
    flex-direction: column;
    display: flex
}

.block-preview__section {
    border-bottom: .0625rem solid rgb(from var(--clr-black) r g b/8%);
    scroll-margin-top: 5rem
}

.block-preview__section-header {
    border-bottom: .0625rem solid rgb(from var(--clr-black) r g b/8%);
    justify-content: space-between;
    align-items: baseline;
    gap: 1rem;
    padding-block: 1.25rem;
    display: flex
}

.block-preview__section-name {
    font-size: var(--fs-body);
    letter-spacing: -.01em;
    font-weight: 600
}

.block-preview__section-slug {
    font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, monospace;
    font-size: var(--fs-body-sm);
    color: rgb(from var(--clr-black) r g b/55%)
}

.block-preview__render {
    margin: 0
}

.block-hero-homepage {
    z-index: 2;
    position: relative
}

.hero-homepage {
    --hero-homepage-text-color: var(--clr-black);
    --hero-homepage-label-color: var(--clr-black);
    --hero-homepage-stage-height: min(clamp(26.25rem, 23.4375vw + 21.5625rem, 45rem), calc(100dvh - var(--hero-homepage-gap) - 3rem));
    --hero-homepage-gap: clamp(1.5rem, 2.5vw + 1rem, 3.5rem);
    --hero-homepage-pad-block-start: var(--pad-hero-sm);
    --hero-homepage-pad-block-end: var(--pad);
    align-items: center;
    gap: var(--hero-homepage-gap);
    color: var(--hero-homepage-text-color);
    padding-block: var(--hero-homepage-pad-block-start) var(--hero-homepage-pad-block-end);
    perspective: 1200px;
    flex-direction: column;
    display: flex;
    position: relative
}

.hero-homepage__title {
    z-index: 0;
    text-align: center;
    transform-style: preserve-3d;
    pointer-events: none;
    white-space: nowrap;
    flex-direction: column;
    align-items: center;
    gap: 1.25rem;
    display: flex;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%)
}

.hero-homepage__title-line {
    opacity: 0;
    display: block;
    transform: translateY(2.5rem)
}

.hero-homepage__title-line:last-child {
    transform: translateY(-2.5rem)
}

.hero-homepage__stage {
    width: 100%;
    height: var(--hero-homepage-stage-height);
    touch-action: pan-y;
    -webkit-user-select: none;
    user-select: none;
    position: relative
}

.hero-homepage__canvas {
    z-index: 1;
    cursor: grab;
    visibility: hidden;
    position: absolute;
    inset: 0
}

.hero-homepage__canvas:active {
    cursor: grabbing
}

.hero-homepage__canvas canvas {
    width: 100%;
    height: 100%;
    display: block
}

.hero-homepage__labels {
    font-size: var(--fs-body-sm);
    color: var(--hero-homepage-label-color);
    opacity: 0;
    flex-wrap: wrap;
    justify-content: center;
    gap: clamp(1rem, 1.875vw + .625rem, 2.5rem);
    list-style: none;
    display: flex
}

.hero-homepage__label {
    display: inline-flex
}

.hero-homepage__label-link {
    --hero-homepage-label-icon-color: currentColor;
    --hero-homepage-label-icon-animation: none;
    color: inherit;
    font: inherit;
    cursor: pointer;
    transition: color var(--t-fast) ease;
    background: 0 0;
    border: 0;
    align-items: center;
    gap: .5rem;
    margin: 0;
    padding: 0;
    text-decoration: none;
    display: inline-flex
}

.hero-homepage__label-link:hover,
.hero-homepage__label-link:focus-visible {
    --hero-homepage-label-icon-color: var(--clr-primary)
}

.hero-homepage__label-link.is-active {
    --hero-homepage-label-icon-color: var(--clr-primary);
    --hero-homepage-label-icon-animation: hero-homepage-label-icon-bounce .45s var(--ease-out-expo, ease-out)
}

.hero-homepage__label-icon {
    width: 1.25rem;
    height: 1.25rem;
    color: var(--hero-homepage-label-icon-color);
    transform-origin: 50%;
    transition: color var(--t-fast) ease;
    animation: var(--hero-homepage-label-icon-animation);
    flex-shrink: 0;
    display: inline-flex
}

.hero-homepage__label-icon svg {
    width: 100%;
    height: 100%
}

@keyframes hero-homepage-label-icon-bounce {
    0% {
        transform: translateY(0)scale(1)rotate(0)
    }
    35% {
        transform: translateY(-.25rem)scale(1.22)rotate(-8deg)
    }
    65% {
        transform: translateY(.0625rem)scale(.94)rotate(5deg)
    }
    to {
        transform: translateY(0)scale(1)rotate(0)
    }
}

.hero-homepage__label-text {
    white-space: nowrap
}

.block-meet-the-team {
    z-index: 1;
    position: relative
}

.meet-the-team {
    --meet-the-team-pad-block-start: var(--pad);
    --meet-the-team-pad-block-end: clamp(2.5rem, 3.125vw + 1.875rem, 5rem);
    padding-block: var(--meet-the-team-pad-block-start) var(--meet-the-team-pad-block-end);
    position: relative;
    overflow: clip visible
}

.meet-the-team__clip-defs {
    pointer-events: none;
    width: 0;
    height: 0;
    position: absolute
}

.meet-the-team__inner {
    --meet-the-team-stage-height: 29rem;
    --meet-the-team-centerpiece-width: clamp(17.5rem, 50vw, 31.375rem);
    --meet-the-team-centerpiece-ratio: 502 / 707;
    --meet-the-team-gap: clamp(2.5rem, 1.5625vw + 2.1875rem, 3.75rem);
    align-items: start;
    gap: var(--meet-the-team-gap);
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "callout""heading""cta""marquee";
    display: grid;
    position: relative
}

@media (width>=980px) {
    .meet-the-team__inner {
        --meet-the-team-gap: 0;
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
        grid-template-rows: auto var(--meet-the-team-stage-height) auto;
        grid-template-areas: "heading heading""callout cta""marquee marquee";
        align-items: center
    }
}

.meet-the-team__heading {
    font-size: var(--fs-display);
    text-align: center;
    grid-area: heading;
    margin-bottom: clamp(6.25rem, 7.8125vw + 4.6875rem, 12.5rem)
}

@media (width<=980px) {
    .meet-the-team__heading {
        margin-bottom: 0
    }
}

.meet-the-team__callout {
    grid-area: callout;
    margin-bottom: auto
}

.meet-the-team__cta {
    grid-area: cta;
    min-width: clamp(11.25rem, 15.625vw + 8.125rem, 23.75rem);
    margin-top: auto;
    margin-bottom: clamp(2.5rem, 3.125vw + 1.875rem, 5rem);
    margin-left: auto
}

.meet-the-team__centerpiece-wrapper {
    --meet-the-team-centerpiece-overhang: clamp(5rem, 6.25vw + 3.75rem, 10rem);
    left: 50%;
    bottom: calc(var(--meet-the-team-centerpiece-overhang) * -1);
    z-index: -1;
    pointer-events: none;
    position: absolute;
    translate: -50%
}

.meet-the-team__centerpiece {
    width: var(--meet-the-team-centerpiece-width);
    aspect-ratio: var(--meet-the-team-centerpiece-ratio);
    clip-path: url(#meet-the-team-clip)
}

.meet-the-team__centerpiece-image {
    object-fit: cover;
    width: 100%;
    height: 100%
}

.meet-the-team__marquee {
    --meet-the-team-marquee-gap: clamp(.75rem, .9375vw + .5625rem, 1.5rem);
    z-index: 1;
    grid-area: marquee;
    align-self: end;
    width: 100vw;
    margin-inline: calc(50% - 50vw)
}

@media (width<=980px) {
    .meet-the-team__marquee {
        --meet-the-team-centerpiece-overlap: clamp(11.25rem, 4.6875vw + 10.3125rem, 15rem);
        margin-top: calc(var(--meet-the-team-centerpiece-width) * 1.408 - var(--meet-the-team-centerpiece-overlap))
    }
}

.meet-the-team__marquee .splide__list {
    gap: var(--meet-the-team-marquee-gap)
}

.meet-the-team__marquee .splide__slide {
    width: auto !important
}

.latest-work {
    --latest-work-callout-spacing: clamp(2.5rem, 1.5625vw + 2.1875rem, 3.75rem)
}

.latest-work__inner {
    flex-direction: column;
    display: flex
}

.latest-work__heading {
    font-size: var(--fs-display);
    text-align: center;
    margin-bottom: clamp(6.25rem, 7.8125vw + 4.6875rem, 12.5rem)
}

.latest-work__showcase {
    position: relative
}

.latest-work__callout {
    margin-bottom: var(--latest-work-callout-spacing)
}

@media (width>=767px) {
    .latest-work__callout {
        z-index: 2;
        position: absolute;
        top: 0;
        right: 0
    }
}

.latest-work__callout--bottom {
    margin-top: var(--latest-work-callout-spacing);
    margin-bottom: 0
}

@media (width>=767px) {
    .latest-work__callout--bottom {
        inset: auto auto 0 0
    }
}

.latest-work__grid {
    --column-gap-narrow: clamp(1rem, 1.875vw + .625rem, 2.5rem);
    --column-gap-wide: calc(var(--column-gap-narrow) * 5);
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(2rem, 2.5vw + 1.5rem, 4rem);
    list-style: none;
    display: grid
}

@media (width>=767px) {
    .latest-work__grid {
        grid-template-columns: minmax(0, 1fr) var(--column-gap-wide) minmax(0, 1fr) var(--column-gap-narrow) minmax(0, 1fr);
        align-items: start;
        column-gap: 0
    }
}

.latest-work__item {
    margin: 0
}

@media (width>=767px) {
    .latest-work__item[data-pos="1"] {
        grid-column: 1
    }
    .latest-work__item[data-pos="2"] {
        grid-column: 3
    }
    .latest-work__item[data-pos="3"] {
        grid-column: 5
    }
    .latest-work__item[data-pos="2"]:before,
    .latest-work__item[data-pos="3"]:before {
        content: "";
        width: 100%;
        display: block
    }
    .latest-work__item[data-pos="2"]:before {
        aspect-ratio: 9/8
    }
    .latest-work__item[data-pos="3"]:before {
        aspect-ratio: 9/4
    }
}

.latest-work__cta {
    justify-content: center;
    margin-top: clamp(6.25rem, 7.8125vw + 4.6875rem, 12.5rem);
    display: flex
}

.technology {
    --technology-bg: var(--clr-light-beige);
    --technology-text: var(--clr-black);
    --technology-form-bg: var(--clr-beige);
    --technology-form-radius: 1.5rem;
    --technology-row-divider: color-alpha(--clr-black, 20%);
    --technology-icon-color: var(--clr-primary);
    --technology-pad-block: var(--pad);
    background: var(--technology-bg);
    color: var(--technology-text);
    padding-block: var(--technology-pad-block)
}

.technology__inner {
    flex-direction: column;
    align-items: center;
    gap: clamp(3rem, 3.75vw + 2.25rem, 6rem);
    display: flex
}

.technology__heading {
    text-align: center;
    margin: 0
}

.technology__form {
    --technology-control-height: clamp(2.75rem, .9375vw + 2.5625rem, 3.5rem);
    background: var(--technology-form-bg);
    border-radius: var(--technology-form-radius);
    flex-wrap: wrap;
    align-items: center;
    gap: .75rem;
    width: min(100%, 47.25rem);
    padding: .75rem 1rem;
    display: flex
}

.technology__form-prefix {
    color: var(--technology-text)
}

.technology__pills {
    display: contents
}

.technology__pill,
.technology__add,
.technology__next {
    height: var(--technology-control-height)
}

.technology__pill,
.technology__add {
    --pill-tech-bg: var(--color-basic-white);
    --pill-tech-text: var(--color-basic-black)
}

.technology__next {
    --btn-bg: var(--color-basic-white);
    --btn-bg-hover: var(--color-basic-white);
    --btn-border: var(--color-basic-white);
    --btn-text: var(--color-basic-black)
}

.technology__add {
    width: var(--technology-control-height);
    cursor: pointer;
    transition: transform var(--t-fast) ease;
    justify-content: center;
    padding-inline: 0
}

.technology__add:hover,
.technology__add:focus-visible {
    transform: scale(1.06)
}

.technology__add-icon {
    width: .9375rem;
    height: .9375rem;
    color: var(--color-basic-black);
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.technology__add-icon svg {
    width: 100%;
    height: 100%
}

.technology__next {
    margin-inline-start: auto
}

.technology__form:not([data-has-selection]) .technology__next {
    opacity: .4;
    pointer-events: none
}

@media (width<=767px) {
    .technology__form {
        flex-direction: column;
        align-items: stretch;
        position: relative
    }
    .technology__form-prefix {
        min-height: var(--technology-control-height);
        align-items: center;
        display: flex
    }
    .technology__pill {
        justify-content: space-between
    }
    .technology__add {
        position: absolute;
        top: .75rem;
        right: 1rem
    }
    .technology__next {
        width: 100%;
        margin-inline-start: 0
    }
}

.technology__grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 0 clamp(1.5rem, .625vw + 1.375rem, 2rem);
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

@media (width>=980px) {
    .technology__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (width>=1400px) {
    .technology__grid {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}

.technology__grid[data-technology-list=short] {
    display: none
}

@media (width<=767px) {
    .technology__grid[data-technology-list=full] {
        display: none
    }
    .technology__grid[data-technology-list=short] {
        display: grid
    }
}

.technology__item {
    margin: 0
}

.technology__row {
    border: none;
    border-bottom: .0625rem solid var(--technology-row-divider);
    width: 100%;
    color: var(--technology-text);
    text-align: left;
    cursor: pointer;
    transition: opacity var(--t-fast) ease;
    background: 0 0;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: .875rem;
    padding: 2rem 0 .5rem;
    display: grid
}

.technology__row:hover,
.technology__row:focus-visible {
    opacity: .65
}

.technology__row[data-selected] {
    opacity: .5
}

.technology__row-icon {
    width: 1rem;
    height: 1rem;
    color: var(--technology-icon-color);
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.technology__row-icon svg {
    width: 100%;
    height: 100%
}

.technology__row-label {
    justify-self: start
}

.technology__row-add {
    width: .9375rem;
    height: .9375rem;
    color: var(--technology-text);
    transition: transform var(--t-fast) ease;
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.technology__row-add svg {
    width: 100%;
    height: 100%
}

.technology__row[data-selected] .technology__row-add {
    transform: rotate(45deg)
}

.simple-text {
    --simple-text-gap: clamp(1.25rem, .9375vw + 1.0625rem, 2rem);
    --simple-text-button-gap: clamp(1.75rem, 1.25vw + 1.5rem, 2.75rem);
    --simple-text-width: var(--container-sm);
    --simple-text-bg-max: var(--container-lg);
    --simple-text-bg-color: var(--clr-beige);
    --simple-text-pad-block: var(--pad);
    padding-block: var(--simple-text-pad-block);
    display: grid
}

.simple-text[data-width=md] {
    --simple-text-width: var(--container-md)
}

.simple-text__background {
    grid-area: 1/1;
    place-self: center;
    width: 100%;
    position: relative
}

.simple-text__background .gooey-cursor {
    --gooey-cursor-color: var(--simple-text-bg-color);
    --gooey-cursor-columns: 14.14;
    --gooey-cursor-rows: 13.15;
    --gooey-cursor-offset-x: 0px;
    --gooey-cursor-offset-y: 0px;
    --gooey-cursor-bleed: 0px
}

.simple-text__background-image {
    width: 100%;
    max-width: var(--simple-text-bg-max);
    height: auto;
    margin-inline: auto;
    display: block
}

.simple-text__background-svg {
    color: var(--simple-text-bg-color)
}

.simple-text__background-svg svg {
    width: 100%;
    height: auto;
    display: block
}

.simple-text__background-svg :is(path,
circle,
rect,
polygon,
ellipse,
line,
polyline) {
    fill: currentColor
}

.simple-text__body {
    z-index: 1;
    width: 100%;
    max-width: calc(var(--simple-text-width) + var(--gutter) * 2);
    padding-inline: var(--gutter);
    place-self: center;
    align-items: center;
    gap: var(--simple-text-button-gap);
    text-align: center;
    flex-direction: column;
    grid-area: 1/1;
    display: flex
}

.simple-text__content {
    gap: var(--simple-text-gap);
    flex-direction: column;
    width: 100%;
    display: flex
}

.simple-text__content h1,
.simple-text__content h2,
.simple-text__content h3,
.simple-text__content h4 {
    margin: 0
}

.simple-text__content p {
    margin: 0;
    line-height: 1.6
}

.simple-text__content a {
    color: var(--clr-primary);
    text-underline-offset: .2em;
    text-decoration: underline
}

.text-sticky {
    --text-sticky-col-gap: clamp(2.5rem, 6.25vw + 1.25rem, 7.5rem);
    --text-sticky-row-gap: clamp(2rem, 1.25vw + 1.75rem, 3rem);
    --text-sticky-top: clamp(5rem, 3.125vw + 4.375rem, 7.5rem);
    --text-sticky-content-gap: clamp(4rem, 3.75vw + 3.25rem, 7rem);
    --text-sticky-head-gap: clamp(.25rem, .3125vw + .1875rem, .5rem);
    --text-sticky-pad-block: var(--pad);
    padding-block: var(--text-sticky-pad-block);
    gap: var(--text-sticky-row-gap);
    grid-template-columns: minmax(0, 1fr);
    display: grid
}

@media (width>=980px) {
    .text-sticky {
        grid-template-columns: minmax(0, 2fr) minmax(0, 3fr)
    }
}

.text-sticky__head {
    gap: var(--text-sticky-head-gap);
    flex-direction: column;
    display: flex
}

@media (width>=980px) {
    .text-sticky__head {
        top: var(--text-sticky-top);
        align-self: start;
        position: sticky
    }
}

.text-sticky__eyebrow {
    opacity: .5
}

.interactive-diagram {
    --interactive-diagram-node-border: var(--clr-black);
    --interactive-diagram-gap: clamp(1rem, 1.25vw + .75rem, 2rem);
    --interactive-diagram-gap-medium: clamp(.625rem, .78125vw + .46875rem, 1.25rem);
    --interactive-diagram-gap-small: clamp(.375rem, .46875vw + .28125rem, .75rem);
    --interactive-diagram-offset: clamp(5.625rem, 2.34375vw + 5.15625rem, 7.5rem);
    --interactive-diagram-node-pad: 1rem;
    --interactive-diagram-line: var(--clr-black);
    --interactive-diagram-info-delay: .3s;
    --interactive-diagram-pad-block: var(--pad);
    padding-block: var(--interactive-diagram-pad-block)
}

@media (width<=767px) {
    .interactive-diagram {
        --interactive-diagram-gap: clamp(.625rem, .46875vw + .53125rem, 1rem);
        --interactive-diagram-gap-medium: clamp(.5rem, .46875vw + .40625rem, .875rem);
        --interactive-diagram-gap-small: clamp(.3125rem, .390625vw + .234375rem, .625rem);
        --interactive-diagram-offset: clamp(3.625rem, 1.71875vw + 3.28125rem, 5rem);
        --interactive-diagram-node-pad: .625rem
    }
}

.interactive-diagram__inner {
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: clamp(1.5rem, 1.875vw + 1.125rem, 3rem);
    display: grid
}

@media (width>=980px) {
    .interactive-diagram__inner {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)
    }
}

.interactive-diagram__tree {
    gap: var(--interactive-diagram-gap);
    flex-direction: column;
    display: flex;
    position: relative
}

@media (width<=767px) {
    .interactive-diagram__tree {
        scrollbar-width: none;
        overflow-x: auto
    }
}

.interactive-diagram__connectors {
    width: 100%;
    height: 100%;
    color: var(--interactive-diagram-line);
    pointer-events: none;
    position: absolute;
    inset: 0;
    overflow: visible
}

.interactive-diagram__row {
    flex-direction: column;
    align-items: flex-start;
    display: flex
}

.interactive-diagram__row--level-1 {
    gap: var(--interactive-diagram-gap)
}

.interactive-diagram__row--level-2 {
    gap: var(--interactive-diagram-gap-medium)
}

.interactive-diagram__row--level-3 {
    gap: var(--interactive-diagram-gap-small)
}

.interactive-diagram__branch {
    padding-left: var(--interactive-diagram-offset);
    flex-direction: column;
    display: flex
}

.interactive-diagram__branch--level-1 {
    gap: var(--interactive-diagram-gap-medium)
}

.interactive-diagram__branch--level-2 {
    gap: var(--interactive-diagram-gap-small)
}

.interactive-diagram__node {
    padding: var(--interactive-diagram-node-pad);
    border: .0625rem solid var(--interactive-diagram-node-border);
    border-radius: var(--border-radius-default);
    white-space: nowrap;
    cursor: pointer;
    transition: background var(--t-fast) ease, color var(--t-fast) ease, border-color var(--t-fast) ease;
    align-items: center;
    gap: .75rem;
    display: inline-flex
}

.interactive-diagram__node:hover,
.interactive-diagram__node:focus-visible,
.interactive-diagram__node.is-active {
    background: var(--clr-primary);
    border-color: var(--clr-primary);
    color: var(--color-basic-white)
}

.interactive-diagram__node--main {
    background: var(--clr-black);
    color: var(--color-basic-white)
}

.interactive-diagram__node--secondary {
    color: var(--clr-black);
    background: 0 0
}

.interactive-diagram__node-icon {
    width: 1.125rem;
    height: 1.125rem;
    display: inline-flex
}

.interactive-diagram__node-icon svg {
    width: 100%;
    height: 100%
}

.interactive-diagram__preview {
    aspect-ratio: 1;
    background: rgb(from var(--clr-black) r g b/5%);
    border-radius: var(--border-radius-default);
    position: relative;
    overflow: hidden
}

.interactive-diagram__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transition: opacity var(--t-fast) ease
}

.interactive-diagram__canvas {
    position: absolute;
    inset: 0
}

.interactive-diagram__canvas canvas {
    width: 100%;
    height: 100%;
    display: block
}

.interactive-diagram__name {
    position: absolute;
    top: 1rem;
    left: 1rem
}

.interactive-diagram__name[hidden] {
    display: none
}

.interactive-diagram__info {
    background: rgb(from var(--clr-glass) r g b/50%);
    -webkit-backdrop-filter: blur(1.25rem);
    backdrop-filter: blur(1.25rem);
    border-radius: var(--border-radius-medium);
    color: var(--clr-black);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity var(--t-normal) ease, visibility var(--t-normal);
    gap: .625rem;
    padding: 1rem;
    display: flex;
    position: absolute;
    bottom: 1rem;
    left: 1rem;
    right: 1rem
}

.interactive-diagram__info.is-visible {
    opacity: 1;
    visibility: visible;
    transition-delay: var(--interactive-diagram-info-delay)
}

.interactive-diagram__info-icon {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem
}

.interactive-diagram__info-icon svg {
    width: 100%;
    height: 100%
}

.interactive-diagram__info-text {
    font-size: var(--fs-body-sm);
    line-height: 1.4
}

.showcase {
    --showcase-radius: var(--border-radius-default);
    --showcase-pad-block-start: var(--pad);
    padding-block-start: var(--showcase-pad-block-start)
}

.showcase__inner {
    justify-content: flex-end;
    display: flex
}

.showcase__image {
    border-radius: var(--showcase-radius);
    border-bottom-right-radius: 0;
    border-bottom-left-radius: 0;
    width: 100%;
    height: auto;
    display: block
}

.showcase[data-variant=full-cover] {
    --showcase-radius: 0;
    --showcase-pad-block-start: 0;
    padding-block: 0
}

.showcase[data-variant=full-cover] .showcase__media {
    overflow: hidden
}

.showcase[data-variant=full-cover] .showcase__image {
    aspect-ratio: var(--aspect-ratio-video);
    object-fit: cover
}

.credits {
    --credits-row-border: var(--clr-black);
    --credits-row-padding-y: 1.25rem;
    --credits-pad-block: var(--pad);
    padding-block: var(--credits-pad-block)
}

.credits__inner {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.5rem, 1.875vw + 1.125rem, 3rem);
    display: grid
}

@media (width>=980px) {
    .credits__inner {
        grid-template-columns: minmax(7.5rem, 1fr) minmax(0, var(--container-lg)) minmax(7.5rem, 1fr);
        align-items: start
    }
}

.credits__heading {
    margin-top: .45em
}

.credits__columns {
    grid-template-columns: minmax(0, 1fr);
    gap: 0 clamp(1rem, 1.25vw + .75rem, 2rem);
    display: grid
}

@media (width>=980px) {
    .credits__columns {
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)
    }
}

.credits__column {
    margin: 0
}

.credits__row {
    padding-block: var(--credits-row-padding-y);
    border-bottom: .0625rem solid var(--credits-row-border);
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
    gap: 1rem;
    display: grid
}

.credits__label {
    color: var(--clr-black);
    margin: 0;
    font-weight: 400;
    line-height: 1.35
}

.credits__value {
    color: var(--clr-black);
    text-align: right;
    margin: 0;
    font-weight: 400;
    line-height: 1.35
}

.hero-page {
    --hero-page-pad-block-start: var(--pad-hero);
    --hero-page-pad-block-end: var(--pad);
    --hero-page-counter-color: var(--clr-black);
    --hero-page-counter-gap: clamp(.5rem, .46875vw + .40625rem, .875rem);
    --hero-page-counter-suffix-gap: clamp(.5rem, .9375vw + .3125rem, 1.25rem);
    padding-block: var(--hero-page-pad-block-start) var(--hero-page-pad-block-end);
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(1.5rem, 2.5vw + 1rem, 3.5rem);
    display: flex
}

@media (width>=980px) {
    .hero-page[data-has-counter] {
        flex-direction: row;
        justify-content: flex-start;
        align-items: center;
        gap: clamp(2rem, 2.5vw + 1.5rem, 4rem)
    }
}

.hero-page__body {
    flex-direction: column;
    align-items: flex-start;
    gap: clamp(1.5rem, 2.5vw + 1rem, 3.5rem);
    display: flex
}

.hero-page__intro {
    max-width: var(--container-sm)
}

.hero-page__counter {
    align-items: flex-start;
    gap: var(--hero-page-counter-gap);
    flex-direction: column;
    margin-inline: auto;
    display: flex
}

.hero-page__counter-figure {
    color: var(--hero-page-counter-color);
    font-variant-numeric: tabular-nums;
    align-items: center;
    display: inline-flex
}

.hero-page__counter-number {
    display: inline-block;
    position: relative
}

.hero-page__counter-number:after {
    content: attr(data-counter-final);
    visibility: hidden
}

.hero-page__counter-value {
    position: absolute;
    inset-block-start: 0;
    inset-inline-start: 0
}

.hero-page__counter-suffix {
    margin-left: var(--hero-page-counter-suffix-gap)
}

.hero-page__counter-caption {
    font-style: italic
}

.hero-lp {
    --hero-lp-text: var(--clr-light-beige);
    --hero-lp-accent: var(--clr-primary);
    --hero-lp-pad-block-start: clamp(7.5rem, 6.25vw + 6.25rem, 12.5rem);
    --hero-lp-pad-block-end: clamp(3.5rem, 4.0625vw + 2.6875rem, 6.75rem);
    --hero-lp-min-height: 48.75rem;
    --hero-lp-title-size: clamp(2.25rem, 2.1875vw + 1.8125rem, 4rem);
    --hero-lp-title-measure: none;
    --hero-lp-gap: clamp(2rem, 2.5vw + 1.5rem, 4rem);
    --hero-lp-body-gap: clamp(1.25rem, .9375vw + 1.0625rem, 2rem);
    --hero-lp-aside-gap: clamp(1rem, .625vw + .875rem, 1.5rem);
    --hero-lp-actions-gap: 1rem;
    --hero-lp-aside-width: 29.375rem;
    --hero-lp-aside-min: 20rem;
    --hero-lp-scrim: linear-gradient(to bottom, rgb(from var(--clr-light-beige) r g b/78%) 0%, rgb(from var(--clr-light-beige) r g b/24%) 26%, rgb(from var(--clr-black) r g b/55%) 58%, rgb(from var(--clr-black) r g b/88%) 100%);
    min-height: var(--hero-lp-min-height);
    padding-block: var(--hero-lp-pad-block-start) var(--hero-lp-pad-block-end);
    color: var(--hero-lp-text);
    background-color: var(--clr-beige);
    align-items: flex-end;
    display: flex;
    position: relative;
    overflow: hidden
}

@media (width>=1400px) {
    .hero-lp {
        --hero-lp-title-size: 4rem;
        --hero-lp-title-measure: 48rem
    }
}

@media (width<=979px) {
    .hero-lp {
        --hero-lp-min-height: 35rem;
        --hero-lp-pad-block-start: clamp(6rem, 3.4375vw + 5.3125rem, 8.75rem)
    }
}

@media (width<=766px) {
    .hero-lp {
        --hero-lp-min-height: min(35rem, 75svh)
    }
}

.hero-lp__media {
    position: absolute;
    inset: 0
}

.hero-lp__image {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.hero-lp__scrim {
    pointer-events: none;
    background: var(--hero-lp-scrim);
    position: absolute;
    inset: 0
}

.hero-lp__inner {
    gap: var(--hero-lp-gap);
    grid-template-columns: minmax(0, 1fr);
    display: grid;
    position: relative
}

@media (width>=980px) {
    .hero-lp__inner {
        align-items: end
    }
}

.hero-lp__body {
    align-items: flex-start;
    gap: var(--hero-lp-body-gap);
    flex-direction: column;
    min-width: 0;
    display: flex
}

.hero-lp__aside {
    align-items: flex-start;
    gap: var(--hero-lp-aside-gap);
    flex-direction: column;
    min-width: 0;
    display: flex
}

.hero-lp__title {
    font-size: var(--hero-lp-title-size);
    max-width: var(--hero-lp-title-measure)
}

.hero-lp__intro {
    font-size: var(--fs-body-lg)
}

.hero-lp__actions {
    align-items: center;
    gap: var(--hero-lp-actions-gap);
    flex-wrap: wrap;
    display: flex
}

.hero-lp__phone {
    color: inherit;
    transition: color var(--t-fast) ease;
    font-weight: 700;
    text-decoration: none
}

.hero-lp__phone:hover,
.hero-lp__phone:focus-visible {
    color: var(--hero-lp-accent)
}

@media (width>=980px) {
    .hero-lp[data-variant=split] .hero-lp__inner {
        grid-template-columns: minmax(0, 1fr) minmax(var(--hero-lp-aside-min), var(--hero-lp-aside-width))
    }
}

.hero-lp[data-variant=centered] {
    --hero-lp-gap: clamp(1.25rem, .9375vw + 1.0625rem, 2rem)
}

.hero-lp[data-variant=centered] .hero-lp__inner {
    text-align: center;
    max-width: calc(var(--container-lg) + var(--gutter) * 2);
    justify-items: center
}

.hero-lp[data-variant=centered] .hero-lp__body,
.hero-lp[data-variant=centered] .hero-lp__aside,
.hero-lp[data-variant=centered] .hero-lp__actions {
    align-items: center
}

.hero-lp[data-variant=centered] .hero-lp__intro {
    max-width: var(--container-md)
}

.hero-lp-centered {
    --hero-lp-centered-pad-block-start: var(--pad-hero);
    --hero-lp-centered-pad-block-end: var(--pad);
    --hero-lp-centered-gap: clamp(2rem, 1.25vw + 1.75rem, 3rem);
    --hero-lp-centered-head-gap: clamp(1rem, 1.25vw + .75rem, 2rem);
    --hero-lp-centered-side: 13.75rem;
    --hero-lp-centered-title-size: var(--fs-xxl);
    --hero-lp-centered-intro-measure: 42.5rem;
    --hero-lp-centered-actions-gap: 1rem;
    --hero-lp-centered-label-offset: 1rem;
    --hero-lp-centered-label-muted: rgb(from currentColor r g b/50%);
    --hero-lp-centered-media-height: clamp(17.5rem, 21.875vw + 13.125rem, 35rem);
    --hero-lp-centered-media-radius: var(--border-radius-default);
    gap: var(--hero-lp-centered-gap);
    padding-block: var(--hero-lp-centered-pad-block-start) var(--hero-lp-centered-pad-block-end);
    flex-direction: column;
    display: flex
}

.hero-lp-centered__head {
    gap: var(--hero-lp-centered-head-gap);
    grid-template-columns: minmax(0, 1fr);
    display: grid
}

@media (width>=980px) {
    .hero-lp-centered__head {
        grid-template-columns: var(--hero-lp-centered-side) minmax(0, 1fr) var(--hero-lp-centered-side);
        align-items: end
    }
}

.hero-lp-centered__title {
    font-size: var(--hero-lp-centered-title-size);
    white-space: pre-line;
    line-height: .9
}

@media (width>=980px) {
    .hero-lp-centered__title {
        text-align: center
    }
    .hero-lp-centered__label,
    .hero-lp-centered__label-right {
        padding-bottom: var(--hero-lp-centered-label-offset)
    }
}

.hero-lp-centered__label-right {
    color: var(--hero-lp-centered-label-muted);
    text-transform: uppercase
}

@media (width>=980px) {
    .hero-lp-centered__label-right {
        text-align: right
    }
}

.hero-lp-centered__intro {
    max-width: var(--hero-lp-centered-intro-measure);
    line-height: 1.4
}

@media (width>=980px) {
    .hero-lp-centered__intro {
        text-align: center;
        margin-inline: auto
    }
}

.hero-lp-centered__actions {
    align-items: center;
    gap: var(--hero-lp-centered-actions-gap);
    flex-wrap: wrap;
    display: flex
}

@media (width>=980px) {
    .hero-lp-centered__actions {
        justify-content: center
    }
}

.hero-lp-centered__media {
    border-radius: var(--hero-lp-centered-media-radius);
    margin: 0;
    position: relative;
    overflow: hidden
}

.hero-lp-centered__image {
    width: 100%;
    height: var(--hero-lp-centered-media-height);
    object-fit: cover;
    display: block
}

.image-list-lp {
    --image-list-lp-pad-block: var(--pad);
    --image-list-lp-header-gap: clamp(1.5rem, 3.125vw + .875rem, 4rem);
    --image-list-lp-header-space: clamp(3rem, 2.5vw + 2.5rem, 5rem);
    --image-list-lp-heading-measure: 56.25rem;
    --image-list-lp-row-gap: clamp(2rem, 3.75vw + 1.25rem, 5rem);
    --image-list-lp-row-pad: clamp(2.5rem, 1.875vw + 2.125rem, 4rem);
    --image-list-lp-row-line: rgb(from var(--clr-black) r g b/20%);
    --image-list-lp-media-width: 38.75rem;
    --image-list-lp-content-min: 18.75rem;
    --image-list-lp-media-ratio: var(--aspect-ratio-cinerama);
    --image-list-lp-media-radius: 1rem;
    --image-list-lp-track-media: minmax(0, var(--image-list-lp-media-width));
    --image-list-lp-track-content: minmax(var(--image-list-lp-content-min), 1fr);
    --image-list-lp-content-gap: clamp(1rem, .625vw + .875rem, 1.5rem);
    --image-list-lp-icon-size: clamp(2rem, .9375vw + 1.8125rem, 2.75rem);
    --image-list-lp-icon-color: var(--clr-primary);
    --image-list-lp-text-measure: 35rem;
    --image-list-lp-item-gap: .875rem;
    --image-list-lp-item-pad: .875rem;
    --image-list-lp-item-line: rgb(from var(--clr-black) r g b/12%);
    --image-list-lp-item-arrow-size: 1.25rem;
    --image-list-lp-item-arrow-shift: -.5rem;
    --image-list-lp-item-arrow-color: var(--clr-primary);
    --image-list-lp-cta-space: clamp(3rem, 2.5vw + 2.5rem, 5rem);
    --image-list-lp-cta-gap: clamp(1.25rem, .9375vw + 1.0625rem, 2rem);
    --image-list-lp-cta-actions-gap: 1rem;
    --image-list-lp-cta-measure: var(--container-md);
    padding-block: var(--image-list-lp-pad-block)
}

@media (width>=1400px) {
    .image-list-lp {
        --image-list-lp-track-media: minmax(0, 1fr);
        --image-list-lp-track-content: minmax(0, 1fr)
    }
}

.image-list-lp__header {
    align-items: flex-start;
    gap: var(--image-list-lp-header-gap);
    margin-bottom: var(--image-list-lp-header-space);
    flex-direction: column;
    display: flex
}

@media (width>=980px) {
    .image-list-lp__header {
        flex-direction: row;
        justify-content: space-between;
        align-items: flex-end
    }
}

.image-list-lp__heading {
    max-width: var(--image-list-lp-heading-measure)
}

.image-list-lp__callout {
    flex-shrink: 0
}

.image-list-lp__rows {
    border-bottom: .0625rem solid var(--image-list-lp-row-line);
    flex-direction: column;
    display: flex
}

.image-list-lp__row {
    gap: var(--image-list-lp-row-gap);
    padding-block: var(--image-list-lp-row-pad);
    border-top: .0625rem solid var(--image-list-lp-row-line);
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    display: grid
}

@media (width>=980px) {
    .image-list-lp__row {
        grid-template-columns: var(--image-list-lp-track-media) var(--image-list-lp-track-content)
    }
    .image-list-lp__row[data-image-position=right] {
        grid-template-columns: var(--image-list-lp-track-content) var(--image-list-lp-track-media)
    }
    .image-list-lp__row[data-image-position=right] .image-list-lp__media {
        grid-area: 1/2
    }
    .image-list-lp__row[data-image-position=right] .image-list-lp__content {
        grid-area: 1/1
    }
}

.image-list-lp__media {
    min-width: 0;
    margin: 0
}

.image-list-lp__image {
    width: 100%;
    height: 100%;
    aspect-ratio: var(--image-list-lp-media-ratio);
    object-fit: cover;
    border-radius: var(--image-list-lp-media-radius);
    display: block
}

.image-list-lp__content {
    align-items: flex-start;
    gap: var(--image-list-lp-content-gap);
    flex-direction: column;
    min-width: 0;
    display: flex
}

.image-list-lp__icon {
    width: var(--image-list-lp-icon-size);
    height: var(--image-list-lp-icon-size);
    color: var(--image-list-lp-icon-color);
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.image-list-lp__icon svg {
    width: 100%;
    height: 100%;
    display: block
}

.image-list-lp__text {
    max-width: var(--image-list-lp-text-measure)
}

.image-list-lp__list {
    flex-direction: column;
    width: 100%;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex
}

.image-list-lp__item {
    align-items: flex-start;
    gap: var(--image-list-lp-item-gap);
    padding-block: var(--image-list-lp-item-pad);
    border-top: .0625rem solid var(--image-list-lp-item-line);
    display: flex
}

.image-list-lp__item-arrow {
    height: var(--image-list-lp-item-arrow-size);
    color: var(--image-list-lp-item-arrow-color);
    transform: translateY(var(--image-list-lp-item-arrow-shift));
    flex-shrink: 0;
    display: inline-flex
}

.image-list-lp__item-arrow svg {
    width: auto;
    height: 100%
}

.image-list-lp__cta {
    align-items: center;
    gap: var(--image-list-lp-cta-gap);
    margin-top: var(--image-list-lp-cta-space);
    text-align: center;
    flex-direction: column;
    display: flex
}

.image-list-lp__cta-text {
    max-width: var(--image-list-lp-cta-measure)
}

.image-list-lp__cta-actions {
    justify-content: center;
    align-items: center;
    gap: var(--image-list-lp-cta-actions-gap);
    flex-wrap: wrap;
    display: flex
}

.image-list-lp__cta-phone {
    color: inherit;
    transition: color var(--t-fast) ease;
    font-weight: 700;
    text-decoration: none
}

.image-list-lp__cta-phone:hover,
.image-list-lp__cta-phone:focus-visible {
    color: var(--clr-primary)
}

.intro-stats-lp {
    --intro-stats-lp-pad-block: var(--pad);
    --intro-stats-lp-columns: minmax(0, 1fr);
    --intro-stats-lp-column-gap: clamp(1.5rem, .625vw + 1.375rem, 2rem);
    --intro-stats-lp-row-gap: clamp(2rem, 1.25vw + 1.75rem, 3rem);
    --intro-stats-lp-side: 13.75rem;
    --intro-stats-lp-rail-width: 25rem;
    --intro-stats-lp-content-gap: clamp(1.25rem, .9375vw + 1.0625rem, 2rem);
    --intro-stats-lp-content-measure: 47.5rem;
    --intro-stats-lp-heading-size: var(--fs-l);
    --intro-stats-lp-body-gap: 1rem;
    --intro-stats-lp-list-indent: 1.25rem;
    --intro-stats-lp-list-gap: .5rem;
    --intro-stats-lp-link: currentColor;
    --intro-stats-lp-link-hover: var(--clr-primary);
    --intro-stats-lp-stat-gap: .25rem;
    --intro-stats-lp-stat-pad: clamp(1rem, .625vw + .875rem, 1.5rem);
    --intro-stats-lp-stat-value-size: var(--fs-l);
    --intro-stats-lp-line: currentColor;
    --intro-stats-lp-muted: rgb(from currentColor r g b/50%);
    grid-template-columns: var(--intro-stats-lp-columns);
    column-gap: var(--intro-stats-lp-column-gap);
    row-gap: var(--intro-stats-lp-row-gap);
    padding-block: var(--intro-stats-lp-pad-block);
    align-items: start;
    display: grid
}

@media (width>=980px) {
    .intro-stats-lp {
        --intro-stats-lp-columns: minmax(0, 1fr) minmax(0, auto)
    }
}

@media (width>=1400px) {
    .intro-stats-lp {
        --intro-stats-lp-columns: var(--intro-stats-lp-side) minmax(0, 1fr) var(--intro-stats-lp-rail-width)
    }
}

@media (width>=980px) {
    .intro-stats-lp__label {
        grid-column: 1/-1
    }
}

@media (width>=1400px) {
    .intro-stats-lp__label {
        grid-column: auto
    }
}

.intro-stats-lp__content {
    gap: var(--intro-stats-lp-content-gap);
    max-width: var(--intro-stats-lp-content-measure);
    flex-direction: column;
    display: flex
}

.intro-stats-lp__heading {
    font-size: var(--intro-stats-lp-heading-size);
    white-space: pre-line;
    line-height: .95
}

.intro-stats-lp__body {
    line-height: 1.4
}

.intro-stats-lp__body>*+* {
    margin-top: var(--intro-stats-lp-body-gap)
}

.intro-stats-lp__body p {
    margin: 0
}

.intro-stats-lp__body a {
    color: var(--intro-stats-lp-link);
    text-underline-offset: .1875rem;
    transition: color var(--t-fast) ease;
    text-decoration: underline
}

.intro-stats-lp__body a:hover,
.intro-stats-lp__body a:focus-visible {
    color: var(--intro-stats-lp-link-hover)
}

.intro-stats-lp__body ul,
.intro-stats-lp__body ol {
    padding-left: var(--intro-stats-lp-list-indent)
}

.intro-stats-lp__body ul {
    list-style: outside
}

.intro-stats-lp__body ol {
    list-style: decimal
}

.intro-stats-lp__body li+li {
    margin-top: var(--intro-stats-lp-list-gap)
}

.intro-stats-lp__body li::marker {
    color: var(--color-accent)
}

.intro-stats-lp__note {
    color: var(--intro-stats-lp-muted);
    line-height: 1.4
}

.intro-stats-lp__rail {
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex
}

@media (width>=980px) {
    .intro-stats-lp__rail {
        width: var(--intro-stats-lp-rail-width);
        max-width: 100%
    }
}

@media (width>=1400px) {
    .intro-stats-lp__rail {
        width: auto
    }
}

.intro-stats-lp__stat {
    gap: var(--intro-stats-lp-stat-gap);
    padding-block: var(--intro-stats-lp-stat-pad);
    border-top: .0625rem solid var(--intro-stats-lp-line);
    flex-direction: column;
    margin: 0;
    display: flex
}

.intro-stats-lp__stat:last-child {
    border-bottom: .0625rem solid var(--intro-stats-lp-line)
}

.intro-stats-lp__stat-value {
    font-size: var(--intro-stats-lp-stat-value-size);
    text-wrap: nowrap;
    line-height: .9
}

.intro-stats-lp__stat-caption {
    color: var(--intro-stats-lp-muted)
}

.coverage-lp {
    --coverage-lp-pad-block: var(--pad);
    --coverage-lp-columns: minmax(0, 1fr);
    --coverage-lp-column-gap: clamp(1.5rem, .625vw + 1.375rem, 2rem);
    --coverage-lp-row-gap: clamp(2rem, 1.25vw + 1.75rem, 3rem);
    --coverage-lp-side: 13.75rem;
    --coverage-lp-card-width: 30rem;
    --coverage-lp-content-gap: clamp(1.25rem, .9375vw + 1.0625rem, 2rem);
    --coverage-lp-content-measure: 42.5rem;
    --coverage-lp-heading-size: var(--fs-l);
    --coverage-lp-body-gap: 1rem;
    --coverage-lp-list-indent: 1.25rem;
    --coverage-lp-list-gap: .5rem;
    --coverage-lp-link: currentColor;
    --coverage-lp-link-hover: var(--clr-primary);
    --coverage-lp-areas-gap: .75rem;
    --coverage-lp-area-bg: var(--clr-light-beige);
    --coverage-lp-area-bg-hover: var(--color-basic-white);
    --coverage-lp-area-pad-block: .75rem;
    --coverage-lp-area-pad-inline: 1.25rem;
    --coverage-lp-area-gap: .5rem;
    --coverage-lp-area-radius: var(--border-radius-small);
    --coverage-lp-area-arrow: var(--clr-primary);
    grid-template-columns: var(--coverage-lp-columns);
    column-gap: var(--coverage-lp-column-gap);
    row-gap: var(--coverage-lp-row-gap);
    padding-block: var(--coverage-lp-pad-block);
    align-items: start;
    display: grid
}

@media (width>=980px) {
    .coverage-lp {
        --coverage-lp-columns: minmax(0, 1fr) minmax(0, auto)
    }
}

@media (width>=1400px) {
    .coverage-lp {
        --coverage-lp-columns: var(--coverage-lp-side) minmax(0, 1fr) var(--coverage-lp-card-width)
    }
}

@media (width>=980px) {
    .coverage-lp__label {
        grid-column: 1/-1
    }
}

@media (width>=1400px) {
    .coverage-lp__label {
        grid-column: auto
    }
}

.coverage-lp__content {
    gap: var(--coverage-lp-content-gap);
    max-width: var(--coverage-lp-content-measure);
    flex-direction: column;
    display: flex
}

.coverage-lp__heading {
    font-size: var(--coverage-lp-heading-size);
    white-space: pre-line;
    line-height: .95
}

.coverage-lp__body {
    line-height: 1.4
}

.coverage-lp__body>*+* {
    margin-top: var(--coverage-lp-body-gap)
}

.coverage-lp__body p {
    margin: 0
}

.coverage-lp__body a {
    color: var(--coverage-lp-link);
    text-underline-offset: .1875rem;
    transition: color var(--t-fast) ease;
    text-decoration: underline
}

.coverage-lp__body a:hover,
.coverage-lp__body a:focus-visible {
    color: var(--coverage-lp-link-hover)
}

.coverage-lp__body ul,
.coverage-lp__body ol {
    padding-left: var(--coverage-lp-list-indent)
}

.coverage-lp__body ul {
    list-style: outside
}

.coverage-lp__body ol {
    list-style: decimal
}

.coverage-lp__body li+li {
    margin-top: var(--coverage-lp-list-gap)
}

.coverage-lp__body li::marker {
    color: var(--color-accent)
}

.coverage-lp__areas {
    gap: var(--coverage-lp-areas-gap);
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex
}

.coverage-lp__area {
    margin: 0
}

.coverage-lp__area-link {
    align-items: center;
    gap: var(--coverage-lp-area-gap);
    padding: var(--coverage-lp-area-pad-block) var(--coverage-lp-area-pad-inline);
    background: var(--coverage-lp-area-bg);
    border-radius: var(--coverage-lp-area-radius);
    color: inherit;
    transition: background var(--t-fast) ease;
    text-decoration: none;
    display: inline-flex
}

.coverage-lp__area-link:hover,
.coverage-lp__area-link:focus-visible {
    background: var(--coverage-lp-area-bg-hover)
}

.coverage-lp__area-arrow {
    width: 1em;
    height: 1em;
    color: var(--coverage-lp-area-arrow);
    flex-shrink: 0;
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.coverage-lp__area-arrow svg {
    width: 100%;
    height: auto
}

@media (width>=980px) {
    .coverage-lp__office {
        width: var(--coverage-lp-card-width);
        max-width: 100%
    }
}

@media (width>=1400px) {
    .coverage-lp__office {
        width: auto
    }
}

.statistics-lp {
    --statistics-lp-pad-block: var(--pad);
    --statistics-lp-count: 1;
    --statistics-lp-column-gap: clamp(1.5rem, .625vw + 1.375rem, 2rem);
    --statistics-lp-row-gap: clamp(2rem, 1.25vw + 1.75rem, 3rem);
    --statistics-lp-item-gap: .75rem;
    --statistics-lp-item-pad: clamp(1rem, .625vw + .875rem, 1.5rem);
    --statistics-lp-line: rgb(from currentColor r g b/40%);
    --statistics-lp-caption-color: rgb(from currentColor r g b/50%);
    padding-block: var(--statistics-lp-pad-block)
}

.statistics-lp__grid {
    column-gap: var(--statistics-lp-column-gap);
    row-gap: var(--statistics-lp-row-gap);
    grid-template-columns: minmax(0, 1fr);
    display: grid
}

@media (width>=767px) {
    .statistics-lp__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (width>=980px) {
    .statistics-lp__grid {
        grid-template-columns: repeat(var(--statistics-lp-count), minmax(0, 1fr))
    }
}

.statistics-lp__item {
    align-items: flex-start;
    gap: var(--statistics-lp-item-gap);
    padding-top: var(--statistics-lp-item-pad);
    border-top: .0625rem solid var(--statistics-lp-line);
    flex-direction: column;
    display: flex
}

.statistics-lp__value {
    text-wrap: nowrap
}

.statistics-lp__caption {
    color: var(--statistics-lp-caption-color)
}

.text-office-lp {
    --text-office-lp-pad-block: var(--pad);
    --text-office-lp-gap: clamp(2rem, 3.75vw + 1.25rem, 5rem);
    --text-office-lp-title-measure: 38.75rem;
    --text-office-lp-body-measure: 38.75rem;
    --text-office-lp-content-gap: clamp(1rem, .625vw + .875rem, 1.5rem);
    --text-office-lp-contact-gap: 1rem;
    --text-office-lp-contact-space: .5rem;
    --text-office-lp-pill-gap: .5rem;
    --text-office-lp-pill-pad-block: .5rem;
    --text-office-lp-pill-pad-inline: 1rem;
    --text-office-lp-pill-bg: rgb(from currentColor r g b/6%);
    gap: var(--text-office-lp-gap);
    padding-block: var(--text-office-lp-pad-block);
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    display: grid
}

@media (width>=980px) {
    .text-office-lp {
        grid-template-columns: minmax(0, 1fr) minmax(18.75rem, var(--text-office-lp-body-measure))
    }
}

.text-office-lp__title {
    max-width: var(--text-office-lp-title-measure)
}

.text-office-lp__body {
    align-items: flex-start;
    gap: var(--text-office-lp-content-gap);
    flex-direction: column;
    min-width: 0;
    display: flex
}

.text-office-lp__content {
    gap: var(--text-office-lp-content-gap);
    flex-direction: column;
    width: 100%;
    display: flex
}

.text-office-lp__contact {
    align-items: center;
    gap: var(--text-office-lp-contact-gap);
    padding-top: var(--text-office-lp-contact-space);
    flex-wrap: wrap;
    display: flex
}

.text-office-lp__location {
    align-items: center;
    gap: var(--text-office-lp-pill-gap);
    padding: var(--text-office-lp-pill-pad-block) var(--text-office-lp-pill-pad-inline);
    border-radius: var(--border-radius-full);
    background: var(--text-office-lp-pill-bg);
    display: inline-flex
}

.text-office-lp__phone {
    color: inherit;
    transition: color var(--t-fast) ease;
    font-weight: 700;
    text-decoration: none
}

.text-office-lp__phone:hover,
.text-office-lp__phone:focus-visible {
    color: var(--clr-primary)
}

.core-values {
    --core-values-inner-gap: clamp(3rem, 3.75vw + 2.25rem, 6rem);
    --core-values-row-gap: clamp(2rem, 1.25vw + 1.75rem, 3rem);
    --core-values-list-gap: 0;
    --core-values-stack-width: 17.5rem;
    --core-values-stack-height: 22.5rem;
    --core-values-photo-radius: 1rem;
    --core-values-heading-opacity: 1;
    --core-values-heading-fade: .45s var(--ease-out-expo);
    --core-values-fill: 0;
    --core-values-pad-block: var(--pad);
    color: var(--clr-black);
    padding-block: var(--core-values-pad-block)
}

@media (width>=980px) {
    .core-values {
        --core-values-stack-width: 22.5rem;
        --core-values-stack-height: 28.75rem
    }
}

.core-values__inner {
    align-items: center;
    gap: var(--core-values-inner-gap);
    flex-direction: column;
    display: flex
}

.core-values__heading {
    text-align: center;
    opacity: var(--core-values-heading-opacity);
    transition: opacity var(--core-values-heading-fade);
    will-change: opacity;
    margin: 0
}

.core-values__grid {
    gap: var(--core-values-row-gap);
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    width: 100%;
    display: grid
}

@media (width>=980px) {
    .core-values__grid {
        grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr)
    }
}

.core-values__column {
    --core-values-count: 1;
    gap: var(--core-values-list-gap);
    text-align: center;
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex
}

.core-values__value {
    --core-values-index: 0;
    --core-values-line-fill: clamp(0, var(--core-values-fill) * var(--core-values-count) - var(--core-values-index), 1);
    background-image: linear-gradient(to right, var(--clr-primary) calc(var(--core-values-line-fill) * 100%), var(--clr-black) calc(var(--core-values-line-fill) * 100%));
    color: #0000;
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    background-clip: text
}

.core-values__stack {
    width: var(--core-values-stack-width);
    height: var(--core-values-stack-height);
    margin-inline: auto;
    position: relative
}

.core-values__photo {
    --core-values-photo-rotation: 0deg;
    --core-values-photo-z: 1;
    --core-values-photo-shift: 0px;
    --core-values-photo-drift-x: 0px;
    --core-values-photo-drift-rotation: 0deg;
    z-index: var(--core-values-photo-z);
    border-radius: var(--core-values-photo-radius);
    transform-origin: 50%;
    transform: translate(var(--core-values-photo-drift-x), var(--core-values-photo-shift)) rotate(calc(var(--core-values-photo-rotation) + var(--core-values-photo-drift-rotation)));
    position: absolute;
    inset: 0;
    overflow: hidden
}

.core-values__photo-img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    display: block
}

.team-grid {
    --team-grid-pad-block: var(--pad);
    padding-block: var(--team-grid-pad-block)
}

.team-grid__inner {
    flex-direction: column;
    gap: clamp(2rem, 2.5vw + 1.5rem, 4rem);
    display: flex
}

.team-grid__heading {
    text-align: center
}

.team-grid__list {
    grid-template-columns: minmax(0, 1fr);
    gap: clamp(1.5rem, 1.875vw + 1.125rem, 3rem);
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

@media (width>=980px) {
    .team-grid__list {
        grid-template-columns: repeat(4, minmax(0, 1fr))
    }
}

.team-grid__item {
    --card-media-aspect: 367 / 452;
    margin: 0
}

@media (width>=980px) {
    .team-grid__item[data-pos="1"],
    .team-grid__item[data-pos="3"] {
        grid-column: 1
    }
    .team-grid__item[data-pos="2"] {
        grid-column: 2
    }
    .team-grid__item[data-pos="4"] {
        grid-column: 3
    }
    .team-grid__item[data-pos="5"] {
        grid-column: 4
    }
}

.team-grid__caption {
    justify-content: flex-end;
    align-items: flex-start;
    margin: 0;
    display: flex
}

@media (width>=980px) {
    .team-grid__caption {
        grid-area: 1/3/auto/-1
    }
}

.service-list {
    --service-list-pad-block: var(--pad);
    --service-list-inner-gap: clamp(1.5rem, 2.5vw + 1rem, 3.5rem);
    --service-list-head-columns: minmax(0, 1fr);
    --service-list-head-gap: clamp(1.5rem, .625vw + 1.375rem, 2rem);
    --service-list-side: 13.75rem;
    --service-list-heading-size: var(--fs-display);
    --service-list-subtitle-color: inherit;
    --service-list-subtitle-size: var(--fs-body);
    --service-list-body-indent: 0;
    --service-list-body-gap: clamp(2rem, 2.5vw + 1.5rem, 4rem);
    --service-list-description-measure: 47.5rem;
    padding-block: var(--service-list-pad-block)
}

@media (width>=980px) {
    .service-list {
        --service-list-head-columns: var(--service-list-side) minmax(0, 1fr)
    }
}

.service-list[data-variant=lp] {
    --service-list-heading-size: var(--fs-l);
    --service-list-subtitle-color: rgb(from currentColor r g b/50%);
    --service-list-subtitle-size: var(--fs-body-sm);
    --service-list-body-gap: clamp(1.5rem, 1.25vw + 1.25rem, 2.5rem)
}

@media (width>=980px) {
    .service-list[data-variant=lp] {
        --service-list-body-indent: calc(var(--service-list-side) + var(--service-list-head-gap))
    }
}

.service-list__inner {
    gap: var(--service-list-inner-gap);
    flex-direction: column;
    display: flex
}

.service-list__head {
    grid-template-columns: var(--service-list-head-columns);
    gap: var(--service-list-head-gap);
    align-items: start;
    display: grid
}

.service-list__heading {
    font-size: var(--service-list-heading-size);
    white-space: pre-line;
    margin: 0
}

.service-list__body {
    gap: var(--service-list-body-gap);
    padding-left: var(--service-list-body-indent);
    grid-template-columns: minmax(0, 1fr);
    display: grid
}

@media (width>=980px) {
    .service-list__body {
        align-items: start
    }
    .service-list:not([data-variant=lp]) .service-list__body:has(.service-list__description) {
        grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr)
    }
}

.service-list__list {
    --list-preview-subtitle-color: var(--service-list-subtitle-color);
    --list-preview-subtitle-size: var(--service-list-subtitle-size)
}

@media (width<=979px) {
    .service-list[data-variant=lp] .service-list__list {
        --list-preview-subtitle-display: none
    }
}

@media (width>=980px) {
    .service-list:not([data-variant=lp]) .service-list__description {
        margin-left: auto
    }
}

.service-list[data-variant=lp] .service-list__description {
    max-width: var(--service-list-description-measure)
}

.accordion {
    --accordion-border: var(--clr-black);
    --accordion-columns: minmax(0, 1fr);
    --accordion-gap: clamp(2rem, 2.5vw + 1.5rem, 4rem);
    --accordion-title-size: var(--fs-l);
    --accordion-title-column: 1 / -1;
    --accordion-pad-y: 2rem;
    --accordion-marker-gap: .875rem;
    --accordion-body-indent: 2rem;
    --accordion-list-indent: 1.25rem;
    --accordion-list-gap: .5rem;
    --accordion-desc-max-width: 26.25rem;
    --accordion-toggle-open: 0deg;
    --accordion-toggle-hover: 0deg;
    --accordion-pad-block: var(--pad);
    grid-template-columns: var(--accordion-columns);
    gap: var(--accordion-gap);
    padding-block: var(--accordion-pad-block);
    align-items: start;
    display: grid
}

@media (width>=980px) {
    .accordion {
        --accordion-columns: minmax(0, 1fr) minmax(0, 1.6fr)
    }
    .accordion:has(.accordion__label) {
        --accordion-columns: 13.75rem minmax(0, 1fr);
        --accordion-title-column: 2
    }
}

.accordion[data-context=post] {
    --accordion-columns: minmax(0, 1fr);
    --accordion-title-size: var(--fs-s);
    --accordion-desc-max-width: none;
    --accordion-pad-block: 0
}

.accordion__inner {
    grid-template-columns: var(--accordion-columns);
    gap: var(--accordion-gap);
    align-items: start;
    display: grid
}

.accordion__title {
    grid-column: var(--accordion-title-column);
    font-size: var(--accordion-title-size)
}

.accordion__description {
    max-width: var(--accordion-desc-max-width)
}

@media (width>=980px) {
    .accordion:has(.accordion__label) .accordion__description {
        grid-column: 1
    }
}

.accordion__description>*+* {
    margin-top: .75rem
}

.accordion__description p {
    margin: 0
}

.accordion__list {
    margin: 0;
    padding: 0;
    list-style: none
}

.accordion__item {
    border-bottom: .0625rem solid var(--accordion-border);
    margin: 0
}

.accordion__details[open] {
    --accordion-toggle-open: 45deg
}

.accordion__details.is-closing {
    --accordion-toggle-open: 0deg
}

.accordion__summary {
    align-items: center;
    gap: var(--accordion-marker-gap);
    padding-block: var(--accordion-pad-y);
    cursor: pointer;
    -webkit-user-select: none;
    user-select: none;
    transition: color var(--t-fast) ease;
    grid-template-columns: auto minmax(0, 1fr) auto;
    list-style: none;
    display: grid
}

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

.accordion__summary:hover,
.accordion__summary:focus-visible {
    --accordion-toggle-hover: 90deg;
    color: var(--clr-primary)
}

.accordion__marker {
    color: var(--clr-primary);
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.accordion__marker svg {
    width: auto;
    height: 1.25rem
}

.accordion__toggle {
    width: .9375rem;
    height: .9375rem;
    transform: rotate(calc(var(--accordion-toggle-open) + var(--accordion-toggle-hover)));
    transition: transform var(--t-normal) ease-in-out;
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.accordion__toggle svg {
    width: 100%;
    height: 100%
}

.accordion__body-inner {
    padding-block: 0 1.5rem;
    padding-inline: var(--accordion-body-indent)
}

.accordion__body-inner>*+* {
    margin-top: .5rem
}

.accordion__body-inner p {
    margin: 0
}

.accordion__body-inner ul,
.accordion__body-inner ol {
    padding-left: var(--accordion-list-indent)
}

.accordion__body-inner ul {
    list-style: outside
}

.accordion__body-inner ol {
    list-style: decimal
}

.accordion__body-inner li+li {
    margin-top: var(--accordion-list-gap)
}

.accordion__body-inner li::marker {
    color: var(--color-accent)
}

.client-quote {
    --client-quote-pad-block: var(--pad);
    --client-quote-columns: minmax(0, 1fr);
    --client-quote-column-gap: clamp(1.5rem, .625vw + 1.375rem, 2rem);
    --client-quote-row-gap: clamp(1.5rem, 1.25vw + 1.25rem, 2.5rem);
    --client-quote-quote-size: var(--fs-l);
    --client-quote-quote-leading: 1;
    --client-quote-content-max-width: 68.75rem;
    --client-quote-content-gap: clamp(2rem, 1.25vw + 1.75rem, 3rem);
    --client-quote-body-gap: clamp(1.25rem, .9375vw + 1.0625rem, 2rem);
    --client-quote-avatar-size: 3.5rem;
    --client-quote-author-gap: 1.25rem;
    --client-quote-author-body-gap: .125rem;
    --client-quote-author-role-color: rgb(from currentColor r g b/50%);
    --client-quote-avatar-placeholder: rgb(from currentColor r g b/15%);
    grid-template-columns: var(--client-quote-columns);
    column-gap: var(--client-quote-column-gap);
    row-gap: var(--client-quote-row-gap);
    padding-block: var(--client-quote-pad-block);
    align-items: start;
    display: grid
}

@media (width>=980px) {
    .client-quote {
        --client-quote-columns: 13.75rem minmax(0, 1fr)
    }
}

.client-quote[data-size=standard] {
    --client-quote-quote-size: var(--fs-m);
    --client-quote-quote-leading: 1.1;
    --client-quote-content-max-width: 55rem
}

.client-quote__figure {
    gap: var(--client-quote-content-gap);
    max-width: var(--client-quote-content-max-width);
    flex-direction: column;
    margin: 0;
    display: flex
}

.client-quote__content {
    gap: var(--client-quote-body-gap);
    flex-direction: column;
    display: flex
}

.client-quote__quote {
    font-size: var(--client-quote-quote-size);
    line-height: var(--client-quote-quote-leading);
    margin: 0
}

.client-quote__body {
    line-height: 1.4
}

.client-quote__body>*+* {
    margin-top: var(--client-quote-body-gap)
}

.client-quote__body p {
    margin: 0
}

.client-quote__author {
    align-items: center;
    gap: var(--client-quote-author-gap);
    display: flex
}

.client-quote__avatar {
    width: var(--client-quote-avatar-size);
    height: var(--client-quote-avatar-size);
    object-fit: cover;
    background: var(--client-quote-avatar-placeholder);
    border-radius: 50%;
    flex-shrink: 0;
    display: block
}

.client-quote__author-body {
    gap: var(--client-quote-author-body-gap);
    flex-direction: column;
    min-width: 0;
    display: flex
}

.client-quote__author-role {
    color: var(--client-quote-author-role-color)
}

.cta {
    --cta-col-gap: clamp(1.5rem, 1.875vw + 1.125rem, 3rem);
    --cta-row-gap: clamp(.75rem, .9375vw + .5625rem, 1.5rem);
    --cta-head-gap: clamp(1.25rem, 1.5625vw + .9375rem, 2.5rem);
    --cta-icon-color: var(--clr-primary);
    --cta-icon-rotate: -12deg;
    --cta-surface: transparent;
    --cta-radius: 0;
    --cta-pad: 0;
    --cta-pad-block: var(--pad);
    padding-block: var(--cta-pad-block)
}

.cta[data-variant=boxed] {
    --cta-row-gap: clamp(1rem, 1.25vw + .75rem, 2rem);
    --cta-surface: var(--clr-beige);
    --cta-radius: var(--border-radius-default);
    --cta-pad: clamp(2rem, 3.125vw + 1.375rem, 4.5rem)
}

.cta[data-variant=boxed] .btn[data-style=primary] {
    --btn-bg: var(--clr-light-beige);
    --btn-bg-hover: var(--clr-light-beige);
    --btn-border: rgb(from var(--clr-black) r g b/15%)
}

.cta__inner {
    column-gap: var(--cta-col-gap);
    row-gap: var(--cta-row-gap);
    background: var(--cta-surface);
    border-radius: var(--cta-radius);
    padding: var(--cta-pad);
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas: "head""body""actions";
    align-items: flex-start;
    display: grid
}

@media (width>=980px) {
    .cta__inner {
        grid-template-columns: minmax(0, 1fr) auto;
        grid-template-areas: "head actions""body actions"
    }
}

.cta[data-variant=boxed] .cta__inner {
    align-items: flex-end
}

@media (width>=980px) {
    .cta[data-variant=boxed] .cta__inner {
        grid-template-areas: "head head""body actions"
    }
}

.cta__head {
    gap: var(--cta-head-gap);
    flex-direction: column-reverse;
    grid-area: head;
    display: flex
}

@media (width>=980px) {
    .cta__head {
        flex-direction: row;
        align-items: center
    }
}

.cta__icon {
    width: clamp(2rem, 3.75vw + 1.25rem, 5rem);
    height: auto;
    color: var(--cta-icon-color);
    flex: none;
    display: block
}

@media (width>=980px) {
    .cta__icon {
        margin-inline-start: auto
    }
}

.cta__icon svg {
    width: 100%;
    height: auto;
    transform: rotate(var(--cta-icon-rotate))
}

.cta__icon-morph {
    --icon-morph-size: 100%;
    display: block
}

.cta__heading {
    max-width: 40rem;
    font-weight: 600
}

.cta[data-variant=boxed] .cta__heading {
    max-width: var(--container-lg);
    font-weight: 400
}

.cta__body {
    grid-area: body;
    max-width: 33.75rem
}

.cta__actions {
    flex-wrap: wrap;
    grid-area: actions;
    gap: .75rem;
    display: flex
}

.cta__button {
    width: 15.625rem;
    min-width: 0;
    max-width: 100%
}

.cta__pill {
    --pill-contact-font-size: var(--fs-body);
    --pill-contact-font-weight: 300;
    flex: none
}

.list-columns {
    --list-columns-inner-gap: clamp(3rem, 3.75vw + 2.25rem, 6rem);
    --list-columns-column-gap: clamp(2rem, 1.875vw + 1.625rem, 3.5rem);
    --list-columns-row-gap: clamp(3rem, 1.25vw + 2.75rem, 4rem);
    --list-columns-heading-gap: clamp(1.5rem, .625vw + 1.375rem, 2rem);
    --list-columns-list-gap: clamp(.75rem, .3125vw + .6875rem, 1rem);
    --list-columns-count: 1;
    --list-columns-item-color: rgb(from var(--clr-black) r g b/60%);
    --list-columns-pad-block: var(--pad);
    color: var(--clr-black);
    padding-block: var(--list-columns-pad-block)
}

.list-columns__inner {
    align-items: center;
    gap: var(--list-columns-inner-gap);
    flex-direction: column;
    display: flex
}

.list-columns__title {
    text-align: center;
    margin: 0
}

.list-columns__grid {
    column-gap: var(--list-columns-column-gap);
    row-gap: var(--list-columns-row-gap);
    grid-template-columns: minmax(0, 1fr);
    width: 100%;
    display: grid
}

@media (width>=767px) {
    .list-columns__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr))
    }
}

@media (width>=980px) {
    .list-columns__grid {
        grid-template-columns: repeat(var(--list-columns-count), minmax(0, 1fr))
    }
}

.list-columns__column {
    align-items: center;
    gap: var(--list-columns-heading-gap);
    text-align: center;
    flex-direction: column;
    display: flex
}

.list-columns__heading {
    font-size: var(--fs-body-lg);
    margin: 0
}

.list-columns__list {
    gap: var(--list-columns-list-gap);
    flex-direction: column;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex
}

.list-columns__item {
    color: var(--list-columns-item-color)
}

.contact {
    --contact-col-gap: clamp(2rem, 3.75vw + 1.25rem, 5rem);
    --contact-row-gap: clamp(2.5rem, 1.25vw + 2.25rem, 3.5rem);
    --contact-pad-block-start: var(--pad);
    --contact-pad-block-end: var(--pad);
    padding-block: var(--contact-pad-block-start) var(--contact-pad-block-end)
}

.block-wrapper:first-child .contact {
    --contact-pad-block-start: var(--pad-hero)
}

.contact__columns {
    gap: var(--contact-row-gap);
    grid-template-columns: minmax(0, 1fr);
    align-items: start;
    display: grid
}

@media (width>=980px) {
    .contact__columns {
        gap: var(--contact-col-gap);
        grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)
    }
}

.contact__content {
    flex-direction: column;
    gap: clamp(1rem, .625vw + .875rem, 1.5rem);
    display: flex
}

.contact__form {
    flex-direction: column;
    display: flex
}

.contact__selection {
    --contact-selection-gap: 1rem;
    gap: var(--contact-selection-gap);
    flex-direction: column;
    margin-block: clamp(1rem, .625vw + .875rem, 1.5rem);
    display: flex
}

.contact__selection[hidden] {
    display: none
}

.contact__selection-label {
    color: rgb(from var(--clr-black) r g b/60%)
}

.contact__selection-pills {
    flex-wrap: wrap;
    gap: .5rem;
    display: flex
}

.offices {
    --offices-gap: clamp(1rem, 1.25vw + .75rem, 2rem);
    --offices-min: 10.625rem;
    --offices-pad-block: var(--pad);
    grid-template-columns: repeat(auto-fit, minmax(min(var(--offices-min), 100%), 1fr));
    gap: var(--offices-gap);
    padding-block: var(--offices-pad-block);
    display: grid
}

.contact__content .offices {
    padding-bottom: 0
}

.gallery-scroll {
    --gallery-scroll-img-height: clamp(12.5rem, 15.625vw + 9.375rem, 25rem);
    --gallery-scroll-gap: 1rem;
    --gallery-scroll-item-radius: var(--border-radius-default);
    --gallery-scroll-pad-block: var(--pad);
    padding-block: var(--gallery-scroll-pad-block);
    overflow: hidden
}

.gallery-scroll__strip {
    gap: var(--gallery-scroll-gap);
    translate: var(--gallery-scroll-x, 0px) 0;
    will-change: translate;
    display: flex
}

.gallery-scroll__item {
    border-radius: var(--gallery-scroll-item-radius);
    flex-shrink: 0;
    margin: 0;
    padding: 0;
    overflow: clip
}

.gallery-scroll__img {
    height: var(--gallery-scroll-img-height);
    object-fit: cover;
    width: auto;
    display: block
}

.wp-block-code {
    --code-bg: #0d1117;
    --code-text: #c9d1d9;
    --code-clr-comment: #8b949e;
    --code-clr-keyword: #ff7b72;
    --code-clr-string: #a5d6ff;
    --code-clr-number: #79c0ff;
    --code-clr-function: #d2a8ff;
    --code-clr-builtin: #ffa657;
    --code-clr-attr: #79c0ff;
    --code-clr-tag: #7ee787;
    --code-clr-meta: #79c0ff;
    --code-radius: var(--border-radius-medium);
    --code-pad: 1.5rem;
    --code-font-size: .9375rem;
    --code-copy-bg: rgb(from var(--color-basic-white) r g b/8%);
    --code-copy-bg-hover: rgb(from var(--color-basic-white) r g b/16%);
    --code-copy-border: rgb(from var(--color-basic-white) r g b/14%);
    --code-copy-text: var(--code-text);
    background: var(--code-bg);
    border-radius: var(--code-radius);
    box-shadow: 0 1.25rem 2.5rem rgb(from var(--clr-black) r g b/25%);
    position: relative;
    overflow: hidden
}

.wp-block-code code {
    padding: var(--code-pad);
    font-family: var(--ff-mono);
    font-size: var(--code-font-size);
    color: var(--code-text);
    tab-size: 2;
    white-space: pre;
    line-height: 1.7;
    display: block;
    overflow-x: auto
}

.wp-block-code__copy {
    border: .0625rem solid var(--code-copy-border);
    border-radius: var(--border-radius-small);
    background: var(--code-copy-bg);
    color: var(--code-copy-text);
    font-family: var(--ff-mono);
    cursor: pointer;
    opacity: 0;
    padding: .375rem .75rem;
    font-size: .75rem;
    line-height: 1;
    transition: opacity .2s, background .2s;
    position: absolute;
    inset-block-start: .75rem;
    inset-inline-end: .75rem
}

.wp-block-code__copy:hover {
    background: var(--code-copy-bg-hover)
}

.wp-block-code__copy:focus-visible {
    opacity: 1;
    outline: .125rem solid var(--code-clr-attr);
    outline-offset: .125rem
}

.wp-block-code:hover .wp-block-code__copy {
    opacity: 1
}

.wp-block-code__copy[data-copied] {
    opacity: 1;
    color: var(--code-clr-tag);
    border-color: var(--code-clr-tag)
}

.wp-block-code .hljs-comment,
.wp-block-code .hljs-quote {
    color: var(--code-clr-comment);
    font-style: italic
}

.wp-block-code .hljs-keyword,
.wp-block-code .hljs-selector-tag,
.wp-block-code .hljs-literal,
.wp-block-code .hljs-section {
    color: var(--code-clr-keyword)
}

.wp-block-code .hljs-name,
.wp-block-code .hljs-tag {
    color: var(--code-clr-tag)
}

.wp-block-code .hljs-string,
.wp-block-code .hljs-regexp,
.wp-block-code .hljs-addition {
    color: var(--code-clr-string)
}

.wp-block-code .hljs-number,
.wp-block-code .hljs-symbol,
.wp-block-code .hljs-bullet,
.wp-block-code .hljs-deletion {
    color: var(--code-clr-number)
}

.wp-block-code .hljs-title,
.wp-block-code .hljs-title.function_,
.wp-block-code .hljs-section .hljs-title {
    color: var(--code-clr-function)
}

.wp-block-code .hljs-built_in,
.wp-block-code .hljs-type,
.wp-block-code .hljs-class .hljs-title {
    color: var(--code-clr-builtin)
}

.wp-block-code .hljs-attr,
.wp-block-code .hljs-attribute,
.wp-block-code .hljs-variable,
.wp-block-code .hljs-template-variable,
.wp-block-code .hljs-selector-attr,
.wp-block-code .hljs-selector-class,
.wp-block-code .hljs-selector-id {
    color: var(--code-clr-attr)
}

.wp-block-code .hljs-meta,
.wp-block-code .hljs-meta .hljs-keyword {
    color: var(--code-clr-meta)
}

.wp-block-code .hljs-emphasis {
    font-style: italic
}

.wp-block-code .hljs-strong {
    font-weight: 700
}

.lp-single-hero {
    --lp-single-hero-accent: var(--clr-primary);
    --lp-single-hero-pad-block-start: clamp(7.5rem, 4.6875vw + 6.5625rem, 11.25rem);
    --lp-single-hero-pad-block-end: clamp(3.5rem, 3.4375vw + 2.8125rem, 6.25rem);
    --lp-single-hero-title-size: clamp(2.5rem, 4.6875vw + 1.5625rem, 6.25rem);
    --lp-single-hero-gap: clamp(2rem, 1.25vw + 1.75rem, 3rem);
    --lp-single-hero-row-gap: clamp(1.5rem, .625vw + 1.375rem, 2rem);
    --lp-single-hero-aside-gap: clamp(1rem, .625vw + .875rem, 1.5rem);
    --lp-single-hero-tags-gap: .75rem;
    --lp-single-hero-aside-width: 27.5rem;
    --lp-single-hero-aside-min: 20rem;
    --lp-single-hero-aside-offset: .5rem;
    padding-block: var(--lp-single-hero-pad-block-start) var(--lp-single-hero-pad-block-end)
}

@media (width>=1400px) {
    .lp-single-hero {
        --lp-single-hero-title-size: 6.25rem
    }
}

@media (width<=979px) {
    .lp-single-hero {
        --lp-single-hero-aside-offset: 0
    }
}

.lp-single-hero__inner {
    gap: var(--lp-single-hero-gap);
    flex-direction: column;
    display: flex
}

.lp-single-hero__back {
    text-transform: uppercase;
    color: inherit;
    transition: color var(--t-fast) ease;
    align-self: flex-start;
    align-items: center;
    gap: .625rem;
    text-decoration: none;
    display: inline-flex
}

.lp-single-hero__back:hover,
.lp-single-hero__back:focus-visible {
    color: var(--lp-single-hero-accent)
}

.lp-single-hero__back-icon {
    width: 1.125rem;
    height: 1.125rem;
    color: var(--lp-single-hero-accent);
    display: inline-flex
}

.lp-single-hero__back-icon svg {
    width: 100%;
    height: 100%
}

.lp-single-hero__row {
    gap: var(--lp-single-hero-row-gap);
    grid-template-columns: minmax(0, 1fr);
    display: grid
}

@media (width>=980px) {
    .lp-single-hero__row {
        grid-template-columns: minmax(0, 1fr) minmax(var(--lp-single-hero-aside-min), var(--lp-single-hero-aside-width));
        align-items: end
    }
}

.lp-single-hero__aside {
    align-items: flex-start;
    gap: var(--lp-single-hero-aside-gap);
    min-width: 0;
    padding-bottom: var(--lp-single-hero-aside-offset);
    flex-direction: column;
    display: flex
}

.lp-single-hero__title {
    font-size: var(--lp-single-hero-title-size);
    margin: 0
}

.lp-single-hero__intro {
    font-size: var(--fs-body-lg);
    text-wrap: pretty;
    margin: 0
}

.lp-single-hero__actions {
    flex-wrap: wrap;
    align-items: center;
    gap: 1rem;
    display: flex
}

.lp-single-hero__tags {
    gap: var(--lp-single-hero-tags-gap);
    flex-wrap: wrap;
    margin: 0;
    padding: 0;
    list-style: none;
    display: flex
}

.lp-single-hero__tag {
    display: inline-flex
}

.feature-cards-list-lp {
    --feature-cards-list-lp-pad-block: var(--pad);
    --feature-cards-list-lp-columns: minmax(0, 1fr);
    --feature-cards-list-lp-column-gap: clamp(1.5rem, .625vw + 1.375rem, 2rem);
    --feature-cards-list-lp-row-gap: clamp(2rem, 1.25vw + 1.75rem, 3rem);
    --feature-cards-list-lp-side: 13.75rem;
    --feature-cards-list-lp-content-gap: clamp(2.5rem, 1.875vw + 2.125rem, 4rem);
    --feature-cards-list-lp-heading-size: var(--fs-l);
    --feature-cards-list-lp-grid-columns: 1;
    --feature-cards-list-lp-grid-gap: 1.0625rem;
    --feature-cards-list-lp-card-bg: var(--clr-light-beige);
    --feature-cards-list-lp-card-radius: var(--border-radius-default);
    --feature-cards-list-lp-card-pad: clamp(1.5rem, .625vw + 1.375rem, 2rem);
    --feature-cards-list-lp-card-gap: 1.25rem;
    --feature-cards-list-lp-card-text: var(--clr-black);
    --feature-cards-list-lp-card-muted: rgb(from var(--clr-black) r g b/50%);
    --feature-cards-list-lp-icon-size: 2.625rem;
    --feature-cards-list-lp-icon-color: var(--clr-primary);
    grid-template-columns: var(--feature-cards-list-lp-columns);
    column-gap: var(--feature-cards-list-lp-column-gap);
    row-gap: var(--feature-cards-list-lp-row-gap);
    padding-block: var(--feature-cards-list-lp-pad-block);
    align-items: start;
    display: grid
}

@media (width>=767px) {
    .feature-cards-list-lp {
        --feature-cards-list-lp-grid-columns: 2
    }
}

@media (width>=980px) {
    .feature-cards-list-lp {
        --feature-cards-list-lp-grid-columns: 3
    }
}

@media (width>=1400px) {
    .feature-cards-list-lp {
        --feature-cards-list-lp-columns: var(--feature-cards-list-lp-side) minmax(0, 1fr)
    }
}

.feature-cards-list-lp__content {
    gap: var(--feature-cards-list-lp-content-gap);
    flex-direction: column;
    min-width: 0;
    display: flex
}

.feature-cards-list-lp__grid {
    grid-template-columns: repeat(var(--feature-cards-list-lp-grid-columns), minmax(0, 1fr));
    gap: var(--feature-cards-list-lp-grid-gap);
    margin: 0;
    padding: 0;
    list-style: none;
    display: grid
}

.feature-cards-list-lp__heading {
    font-size: var(--feature-cards-list-lp-heading-size);
    margin: 0
}

.feature-cards-list-lp__card {
    gap: var(--feature-cards-list-lp-card-gap);
    padding: var(--feature-cards-list-lp-card-pad);
    background: var(--feature-cards-list-lp-card-bg);
    border-radius: var(--feature-cards-list-lp-card-radius);
    color: var(--feature-cards-list-lp-card-text);
    flex-direction: column;
    display: flex
}

.feature-cards-list-lp__icon {
    width: var(--feature-cards-list-lp-icon-size);
    height: var(--feature-cards-list-lp-icon-size);
    color: var(--feature-cards-list-lp-icon-color);
    justify-content: center;
    align-items: center;
    display: inline-flex
}

.feature-cards-list-lp__icon svg {
    width: 100%;
    height: 100%
}

.feature-cards-list-lp__card-title {
    margin: 0
}

.feature-cards-list-lp__card-description {
    color: var(--feature-cards-list-lp-card-muted);
    text-wrap: pretty;
    margin: 0
}