.header--page__home {
    --button-text: var(--header);
    --button-border: var(--header);
    --link: var(--header);
    --link-hover: var(--header);
    --header: #FDF5E8;
    --logo: var(--header);
    border-bottom: 1px solid var(--separator-dark)
}

.hero__home {
    --header-background: radial-gradient(63.45% 63.45% at 50% 67.19%, #063B9E 0%, #063B9E 100%), radial-gradient(63.45% 63.45% at 50% 67.19%, #083B9E 0%, var(--steamclock-purple-1000) 100%);
    --header-border: color-mix(in srgb, var(--steamclock-sienna-300) 15%, transparent);
    --header-foreground: var(--steamclock-mustard-200);
    --header-highlight: var(--steamclock-mustard-400);
    --header: #FFF1D9;
    --header-accent: var(--steamclock-mustard-400);
    --button-text: var(--button-text-dark);
    --button-border: var(--button-border-dark);
    --body: var(--header-dark);
    --body-opaque: var(--header-dark);
    background-image: url(../img/global/noise-tile.png), var(--header-background);
    background-repeat: repeat, no-repeat, no-repeat;
    background-size: 100px 100px, cover, cover;
    background-position: top left, top center, top center;
    background-blend-mode: multiply, multiply, multiply;
    padding-block-start: 0;
    height: 100vh;
    min-height: 700px;
    max-height: 1500px
}

.team-photo-banner {
    flex-direction: row !important;
    justify-content: center
}

.poster {
    width: 100%;
    position: absolute;
    top: 0;
    bottom: 20px;
    left: 0%;
    display: flex;
    justify-content: center;
    overflow: hidden
}

.poster__img {
    display: block;
    width: 100%;
    height: 100%;
    object-position: center top;
    object-fit: contain;
    max-width: 860px;
    top: var(--spacing-3xl);
    opacity: 0;
    animation: cycle 20s infinite;
    position: absolute
}

.poster__img:nth-child(2) {
    animation-delay: 4s
}

.poster__img:nth-child(3) {
    animation-delay: 8s
}

.poster__img:nth-child(4) {
    animation-delay: 12s
}

.poster__img:nth-child(5) {
    animation-delay: 16s
}

@keyframes cycle {
    0% {
        opacity: 0
    }

    7% {
        opacity: 1
    }

    20% {
        opacity: 1
    }

    25% {
        opacity: 0
    }

    100% {
        opacity: 0
    }
}

.hero__home .button--primary {
    --button-background: var(--steamclock-mustard-100);
    --button-text: var(--button-text-light)
}

.header--page__home:not(.scrolled) {
    border-bottom: none
}


.header--page__home:not(.scrolled) .steamclock-logo-masked {
    background-image: url(../img/global/logo1.svg) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    background-color: transparent !important;
}

.header--page:not(.header--page__home) .steamclock-logo-masked {
    background-image: url(../img/global/logo.svg) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    background-color: transparent !important;
}

.header--page__home:not(.scrolled) .nav__link,
.header--page__home:not(.scrolled) .button--secondary {
    color: #FDF5E8;
    border-color: #FDF5E8;
}

.header--page__home:not(.scrolled) .button--secondary i {
    color: #FDF5E8 !important;
}

.body.page--work .button:hover {
    color: #FDF5E8 !important;
}

.button.button--small.button--secondary .fa-arrow-right {
    color: #FDF5E8 !important;
}

.page--work .button.button--small.button--secondary .fa-arrow-right {
    color: #FDF5E8 !important;
}

a.button.button--small.button--secondary:hover {
    color: #FDF5E8;
}

body .page--home a.button.button--small.button--secondary:hover {
    color: #0059FF;
}

body .page--home .button.button--small.button--secondary .fa-arrow-right {
    color: #0059FF !important;
}

.header--page__home .button--secondary {
    --hover-background: #FDF5E8 !important;
    --hover-text: #0059FF !important;
}

.header--page.scrolled .button--secondary:hover {
    background-color: #0059FF !important;
    color: #FDF5E8 !important;
}

.header--page.scrolled .button--secondary:hover i {
    color: #FDF5E8 !important;
}

/* Ensure icons also change color */
.button--secondary:hover i {
    color: inherit !important;
}

a.button.button--secondary.dismiss i.fa-solid.fa-times {
    color: #0059FF !important;
}

a.button.button--secondary.dismiss:hover i.fa-solid.fa-times {
    color: #FDF5E8 !important;
}

.header--page__home.scrolled {
    --header: #0059FF;
    --link: var(--header);
    --button-text: var(--header);
    --button-border: var(--header);
    --hover-text: var(--header);
    --link-hover: inherit;
    --logo: var(--header);
}

/* Fix mobile menu strong text color */
.mobile--nav .p--sm.text--strong {
    color: #0059FF !important;
}


.hero--content__home {
    justify-content: end;
    text-align: left !important;
    height: 100%;
    display: flex;
    padding-block-end: var(--spacing-3xl)
}

.hero--content__home .hero__title {
    margin: 0
}

.poster-gradient {
    background: linear-gradient(180deg, rgba(31, 13, 42, 0) 3%, #063B9E 100%);
}

.hero--body__home {
    align-items: center
}

.hero--body__home .button {
    justify-self: flex-end;
    width: fit-content
}

.hero__title {
    margin-bottom: 0
}

.section--studio {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-6xl)
}

.section--studio .hero--media img {
    width: 250vw
}

.section__header--blog {
    margin-bottom: var(--spacing-2xl)
}

.section--studio .eyebrow__icon {
    --tint: var(--steamclock-purple-500)
}

.section--clients .flex--trust {
    align-items: center;
    flex-direction: row
}

.section--clients .separator {
    flex: 1 1 0
}

.section--work {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-6xl)
}

.section__header--work p {
    margin: 0
}

.section--work .container:nth-child(1) {
    width: 100%
}

.carousel {
    text-align: center
}

.carousel .flickity-viewport {
    overflow: visible
}

.carousel .flickity-slider {
    display: flex;
    align-items: center
}

.carousel .carousel-item-wrapper {
    width: 85%;
    max-width: 632px
}

.carousel .flickity-button {
    position: relative;
    padding: 8px 32px;
    border: 1px solid var(--button-border);
    border-radius: var(--radius-full);
    left: 0;
    right: 0;
    top: 0;
    margin: 4em 1em -4em 1em;
    transform: none;
    display: inline-flex;
    transition: .3s;
    background: var(--surface-variant)
}

.flickity-button:hover {
    background: var(--steamclock-purple-600) !important;
    fill: #FFF1D9 !important;
}

.flickity-button-icon {
    fill: var(--button-text) !important
}

.flickity-button:hover .flickity-button-icon {
    fill: var(--button-text-dark) !important
}

.carousel .card {
    border-radius: var(--radius-4xl);
    padding: var(--spacing-xs);
    transition: .3s;
    margin: 0 12px
}

.carousel .meta {
    width: 100%;
    min-width: 0
}

.carousel .meta p {
    margin: 0;
    max-width: 100%;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis
}

.carousel__footer {
    display: flex;
    gap: 1em;
    padding: var(--spacing-lg) 40px;
    text-align: left;
    align-items: center
}

.carousel .project__image {
    max-width: 600px;
    width: 100%;
    aspect-ratio: 1;
    border-radius: var(--radius-3xl)
}

.carousel .project__icon {
    width: 100%;
    max-width: 72px;
    aspect-ratio: 1;
    display: block;
    z-index: 50
}

.section--expertise {
    --body: var(--body-dark);
    --header: #FFF1D9;
    --button-text: var(--button-text-dark);
    --button-border: var(--button-border-dark);
    --link: var(--link-dark);
    background-color: var(--steamclock-purple-900);
    border-radius: var(--radius-4xl);
    overflow: hidden;
    box-shadow: none;
    padding-top: var(--spacing-6xl)
}

.section--expertise .accordion__services label i::before {
    color: #fdead9;
}

.section__header--expertise {
    align-items: start;
    margin-bottom: var(--spacing-4xl)
}

.section--expertise .eyebrow__icon {
    --tint: var(--steamclock-mustard-700);
    --background: var(--steamclock-mustard-300)
}

.services-list {
    display: flex;
    gap: 2em;
    justify-content: space-between
}

.accordion__services {
    max-width: 532px;
    width: 100%
}

.accordion__services label {
    padding-block: var(--spacing-md)
}

.accordion__services label p {
    width: 100%
}

.accordion__services .accordion-content p {
    padding-block-end: var(--spacing-md)
}

.accordion__services p {
    margin: 0
}

.services--cta {
    margin-top: var(--spacing-6xl);
    padding: var(--spacing-md) var(--spacing-xl);
    background: var(--steamclock-purple-1000);
    text-align: center;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: var(--spacing-xs)
}

.services--cta img {
    width: 72px
}

.services--cta a {
    text-decoration: underline;
    font-weight: 500;
    --link-hover: var(--link-hover-dark)
}

.page--home .section--studio {
    background-image: url(../img/global/continent.svg);
    background-repeat: no-repeat;
    background-position: center right
}

.section__header--about {
    width: 100%;
    max-width: 690px;
    flex-direction: column;
    align-items: start
}

.main--page__home .card--blog-post {
    display: grid;
    grid-template-areas: "img meta";
    grid-template-columns: 1fr 1fr
}

.main--page__home .card--blog-post.has-icon {
    display: flex;
    flex-direction: row
}

.client {
    display: inline-block;
    width: 100%;
    height: 68px;
    text-indent: -9999px;
    background: var(--header)
}

.client.arcteryx {
    width: 88px;
    mask: url(../img/clients/arcteryx.svg) no-repeat center;
    mask-size: 100%
}

.client.mozilla {
    width: 95px;
    mask: url(../img/clients/mozilla.svg) no-repeat center;
    mask-size: 100%
}

.client.indochino {
    width: 155px;
    mask: url(../img/clients/indochino.svg) no-repeat center;
    mask-size: 100%
}

.client.hootsuite {
    width: 168px;
    mask: url(../img/clients/hootsuite.html) no-repeat center;
    mask-size: 100%
}

.client.telus {
    width: 165px;
    mask: url(../img/clients/telus.svg) no-repeat center;
    mask-size: 100%
}

.client.cifinancial {
    width: 141px;
    mask: url(../img/clients/cifinancial.svg) no-repeat center;
    mask-size: 100%
}

.client.reddit {
    width: 117px;
    mask: url(../img/clients/reddit.svg) no-repeat center;
    mask-size: 100%
}

.client.intuit {
    width: 90px;
    mask: url(../img/clients/intuit.svg) no-repeat center;
    mask-size: 100%
}

.grid--clients {
    --gridColumnCount: 4;
    display: grid;
    grid: auto/repeat(var(--gridColumnCount), 1fr);
    list-style: none;
    align-items: center;
    justify-content: center;
    margin-bottom: var(--spacing-lg);
    gap: var(--spacing-2xl);
    width: 100%;
    padding-inline: 0
}

.grid--clients li {
    text-align: center
}

.client-quote input[type=radio] {
    display: none
}

.client-quote input[type=radio]:nth-of-type(1):checked~.card .quote-content .quote-item:nth-of-type(1),
.client-quote input[type=radio]:nth-of-type(2):checked~.card .quote-content .quote-item:nth-of-type(2),
.client-quote input[type=radio]:nth-of-type(3):checked~.card .quote-content .quote-item:nth-of-type(3),
.client-quote input[type=radio]:nth-of-type(4):checked~.card .quote-content .quote-item:nth-of-type(4) {
    opacity: 1;
    visibility: visible
}

.client-quote .client-picker label {
    cursor: pointer;
    display: block
}

.client-quote .client-picker img {
    cursor: pointer;
    opacity: .2;
    transition: all .3s ease;
    border-radius: 18px;
    border: 6px solid rgba(0, 0, 0, 0)
}

.client-quote .client-picker img:hover {
    transform: scale(1.1) rotate(6deg);
    opacity: .8;
}

.main--links .p--sm {
    color: #0C1320A6;
}

li.nav__item .p--sm {
    color: #0C1320A6;
}

li.nav__item--overflow i.fa-solid.fa-bars {
    color: #0059FF;
}

.client-quote input[type=radio]#wealthbar:checked~.card .client-picker label[for=wealthbar] img,
.client-quote input[type=radio]#ridwell:checked~.card .client-picker label[for=ridwell] img,
.client-quote input[type=radio]#mapoftheinternet:checked~.card .client-picker label[for=mapoftheinternet] img,
.client-quote input[type=radio]#guidealong:checked~.card .client-picker label[for=guidealong] img {
    opacity: 1 !important;
    border: 6px solid rgba(0, 0, 0, .1)
}

.client-quote .client-picker {
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: var(--spacing-sm)
}

.post--meta .blog-post-title {
    padding-inline-start: 0
}

.sc--marquee__clients {
    -webkit-mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    mask-image: linear-gradient(to right, transparent, black 10%, black 90%, transparent);
    -webkit-mask-size: 100% 100%;
    mask-size: 100% 100%;
    overflow: hidden;
    padding-block: var(--spacing-lg);
    --gap: var(--spacing-6xl)
}

.sc--marquee__clients .marquee--content {
    animation-duration: 60s
}

/*! Flickity v2.3.0
https://flickity.metafizzy.co
---------------------------------------------- */
.flickity-enabled {
    position: relative
}

.flickity-enabled:focus {
    outline: none
}

.flickity-viewport {
    overflow: hidden;
    position: relative;
    height: 100%
}

.flickity-slider {
    position: absolute;
    width: 100%;
    height: 100%
}

.flickity-enabled.is-draggable {
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none
}

.flickity-enabled.is-draggable .flickity-viewport {
    cursor: move;
    cursor: -webkit-grab;
    cursor: grab
}

.flickity-enabled.is-draggable .flickity-viewport.is-pointer-down {
    cursor: -webkit-grabbing;
    cursor: grabbing
}

.flickity-button {
    position: absolute;
    background: hsla(0, 0%, 100%, .75);
    border: none;
    color: #333
}

.flickity-button:hover {
    background: #fff;
    cursor: pointer
}

.flickity-button:focus {
    outline: none;
    box-shadow: 0 0 0 5px #19f
}

.flickity-button:active {
    opacity: .6
}

.flickity-button:disabled {
    opacity: .3;
    cursor: auto;
    pointer-events: none
}

.flickity-button-icon {
    fill: currentColor
}

.flickity-prev-next-button {
    top: 50%;
    width: 44px;
    height: 44px;
    border-radius: 50%;
    transform: translateY(-50%)
}

.flickity-prev-next-button.previous {
    left: 10px
}

.flickity-prev-next-button.next {
    right: 10px
}

.flickity-rtl .flickity-prev-next-button.previous {
    left: auto;
    right: 10px
}

.flickity-rtl .flickity-prev-next-button.next {
    right: auto;
    left: 10px
}

.flickity-prev-next-button .flickity-button-icon {
    position: absolute;
    left: 20%;
    top: 20%;
    width: 60%;
    height: 60%
}

.flickity-page-dots {
    position: absolute;
    width: 100%;
    bottom: -25px;
    padding: 0;
    margin: 0;
    list-style: none;
    text-align: center;
    line-height: 1
}

.flickity-rtl .flickity-page-dots {
    direction: rtl
}

.flickity-page-dots .dot {
    display: inline-block;
    width: 10px;
    height: 10px;
    margin: 0 8px;
    background: #333;
    border-radius: 50%;
    opacity: .25;
    cursor: pointer
}

.flickity-page-dots .dot.is-selected {
    opacity: 1
}


.main--page__work {
    padding-bottom: 0
}

.hero--media__work {
    align-items: initial;
    margin-bottom: var(--spacing-2xl) !important;
}

.hero--content__work {
    gap: 0
}

.hero--media__work .sc--marquee {
    --gap: var(--spacing-lg)
}

.hero--media__work .marquee--content {
    gap: var(--spacing-lg);
    animation-duration: 120s
}

.hero__work {
    text-align: center
}

.hero__work img {
    width: 30vw;
    max-width: 190px;
    aspect-ratio: 1;
    border-radius: 28%;
    display: block;
    box-shadow: 0 97px 27px 0 rgba(65, 2, 104, 0), 0 62px 25px 0 rgba(65, 2, 104, .01), 0 35px 21px 0 rgba(65, 2, 104, .05), 0 16px 16px 0 rgba(65, 2, 104, .09), 0 4px 9px 0 rgba(65, 2, 104, .1)
}

.hero__work .hero__title {
    max-width: 850px;
}

.grid--projects .project-meta .meta .tags {
    margin-block: var(--spacing-md) var(--spacing-lg);
}

.hero__work p {
    max-width: 950px
}

.hero--media__work {
    flex-direction: column;
    gap: var(--spacing-lg)
}

.section--labs {
    padding-top: var(--spacing-6xl);
    padding-bottom: calc(var(--spacing-4xl)*3);
    margin-bottom: calc(var(--spacing-3xl)*-2);
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important
}

.section__header--labs {
    max-width: 800px;
    margin-bottom: var(--spacing-3xl)
}

.section__header--labs p {
    max-width: 602px;
    line-height: 1.555em
}

/* responsive grid definitions moved to end */
/* grid-auto-flow: initial
} */

.card--labs {
    padding: 40px;
    border-radius: var(--radius-xl);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    min-height: fit-content;
    gap: var(--spacing-sm)
}

.card--labs:hover {
    --header: #FFF1D9;
    --body: var(--body-dark)
}

.card--labs:hover .tag {
    --tag: var(--body-dark);
    --tag-border: var(--tag-border-dark)
}

.card--labs img {
    width: 72px;
    height: 72px
}

.card--labs .project__title {
    margin: 0;
    font-weight: 600
}

.main--page__expertise {
    gap: 0
}

.hero--content__expertise {
    align-items: center;
    text-align: left;
    display: grid;
    grid-template-columns: 1.5fr 1fr;
    grid-column-gap: 2em;
    padding-inline-end: 3.3rem;
    align-items: end
}

.hero--content__expertise div {
    padding-block-end: var(--spacing-3xl)
}

.hero--content__expertise picture {
    align-self: end
}

.hero--media__expertise {
    grid-column: 2;
    grid-row: 1/3;
    width: 100%;
    max-width: 400px;
    display: block
}

.section--process {
    background-color: var(--steamclock-purple-900);
    --header: #FFF1D9;
    --body: var(--body-dark);
    --body-opaque: var(--body-dark);
    border-radius: var(--radius-4xl);
    padding-block: var(--spacing-6xl)
}

.section--process header {
    text-align: center;
    padding-block-end: var(--spacing-2xl);
    max-width: 1014px;
    margin: 0 auto
}

.expertise-process-wrapper {
    display: grid;
    grid-template-columns: minmax(260px, var(--left)) 1fr;
    gap: var(--gap);
    margin: 0 auto
}

.section--services {
    padding-block: var(--spacing-6xl)
}

.section__header--services {
    flex-direction: column;
    align-items: start;
    gap: 0
}

.grid--services {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    margin-block-start: var(--spacing-5xl) !important;
    grid-auto-flow: row !important;
}

.grid--services .card {
    --gradient-top: var(--surface);
    --gradient-bottom: var(--surface);
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    aspect-ratio: 1;
    padding: var(--spacing-lg);
    gap: var(--spacing-xs);
    transition: .3s;
    background: var(--gradient-top)
}

/* .grid--services .card .gradient {
    display: block;
    position: absolute;
    background-image: linear-gradient(180deg, rgba(255, 255, 255, 0) 0%, var(--gradient-bottom) 100%);
    width: 100%;
    height: 100%;
    z-index: 1
} */

.grid--services .card p,
.grid--services .card img {
    z-index: 5
}

.grid--services p {
    --body: var(--header)
}

.grid--services .card img {
    margin-top: var(--spacing-sm);
    max-width: 365px
}

.grid--services .card:hover {
    --header: #FFF1D9;
    --tag: var(--tag-dark);
    --tag-border: var(--tag-border-dark)
}

.grid--services .card.service-saas:hover {
    --gradient-top: #ff6500 !important;
    --gradient-bottom: #ff832a !important;
}

.grid--services .card.service-saas:hover .tag,
.grid--services .card.service-growth:hover .tag,
.grid--services .card.service-hardware:hover .tag,
.grid--services .card.service-consulting:hover .tag {
    color: #FFF1D9;
    border: 1px solid #FFF1D9;
}

.grid--services .card.service-saas:hover .p--lg,
.grid--services .card.service-growth:hover .p--lg,
.grid--services .card.service-hardware:hover .p--lg,
.grid--services .card.service-consulting:hover .p--lg {
    color: #FFF1D9;
}

.grid--services .card.service-hardware:hover {
    --gradient-top: #1a6abb;
    --gradient-bottom: #2b89e9
}

.grid--services .card.service-growth:hover {
    --gradient-top: #8c024c;
    --gradient-bottom: #a3346f
}

.grid--services .card.service-consulting:hover {
    --gradient-top: #ff000e;
    --gradient-bottom: #ff6b47
}

.section--process .process__title {
    overflow-wrap: anywhere
}

.section--process .tags {
    margin-block-end: var(--spacing-2xl)
}

.section--process a.button--media {
    --button-text: var(--button-text-dark);
    --button-border: var(--button-border-dark);
    --hover-background: var(--steamclock-mustard-200);
    --hover-text: var(--button-text-light);
    max-width: 466px
}

.section--process .tags .tag {
    --tag: var(--tag-dark);
    --tag-border: var(--tag-border-dark)
}

.section--happiness {
    padding-top: var(--spacing-6xl);
    padding-bottom: calc(var(--spacing-3xl)*3);
    margin-bottom: calc(var(--spacing-3xl)*-2.5);
    --body: var(--header);
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important
}

.section--happiness strong {
    color: #000000;
}

.grid--happiness {
    gap: var(--spacing-xl);
    margin-block-start: var(--spacing-2xl)
}

.grid--happiness .happiness--shipped .eyebrow__icon {
    --tint: var(--steamclock-purple-600);
    --background: var(--steamclock-purple-50)
}

.grid--happiness .happiness--users .eyebrow__icon {
    --tint: var(--steamclock-mustard-700);
    --background: var(--steamclock-mustard-300)
}

.grid--happiness .happiness--clients .eyebrow__icon {
    --tint: rgba(201, 67, 88, 1);
    --background: rgba(255, 232, 232, 1)
}

.happiness--item {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg)
}

.happiness--item span {
    font-style: normal
}

.happiness--item p {
    margin: 0;
    font-style: normal
}

.happiness--label {
    letter-spacing: 2px
}

.step {
    min-height: 150vh;
    display: contents
}

.media {
    grid-column: 1;
    position: sticky;
    top: 200px;
    align-self: start;
    z-index: var(--z, 1);
    pointer-events: none
}

.cards {
    border-radius: 24px;
    overflow: hidden;
    display: grid;
    place-items: center;
    margin: 0
}

.cards img {
    max-width: 375px;
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block
}

.copy {
    grid-column: 2;
    align-self: center;
    padding-block: var(--spacing-6xl);
    max-width: 60ch
}

.page--about {
    background-image: url(../img/global/continent.svg);
    background-repeat: no-repeat;
    background-position: right -122px top 77px;
    background-size: 1040px
}

.hero--content__about {
    max-width: 900px;
    align-items: start;
    text-align: left;
    margin-bottom: var(--spacing-3xl)
}

.section__header--intro {
    flex-direction: column
}

.grid--values .section__title,
.value--title,
.value--text,
.section--roles .card .role__title,
.section--roles .card .role__meta {
    margin: 0
}

.grid--values {
    grid-template-columns: 1fr 2fr
}

.grid--values .section__title {
    font-weight: 700
}

.values--list {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl)
}

.value--title {
    font-weight: 500;
    color: var(--header)
}

.section__header--studio {
    align-items: start;
    margin-bottom: var(--spacing-2xl)
}

.grid--team {
    grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
    grid-auto-flow: initial
}

.grid--team .card {
    --border-radius: var(--radius-xl);
    --link: var(--link-dark);
    background: var(--surface);
    padding: 0;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    overflow: hidden;
    min-height: 300px;
    --body-opaque: var(--header)
}

.grid--team p,
.grid--team img,
.grid--team .card:hover .steamclocker__bio,
.grid--team .card:hover .steamclocker__socials,
.grid--team .card:hover img,
.grid--team .card:focus .steamclocker__bio,
.grid--team .card:focus .steamclocker__socials,
.grid--team .card:focus img {
    transition: .3s
}

.grid--team p {
    padding-inline: var(--spacing-md)
}

.grid--team .steamclocker__bio {
    padding: 0 var(--spacing-md);
    opacity: 0
}

.grid--team .steamclocker__socials {
    opacity: 0;
    width: fit-content
}

.grid--team img {
    width: 100%;
    z-index: 0;
    max-width: 300px;
    display: block;
    position: absolute;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%)
}

.grid--team .card:hover,
.grid--team .card:focus {
    background: var(--steamclock-purple-800) !important;
    --body: var(--body-dark);
    --body-opaque: var(--header-dark)
}

.grid--team .card:hover .steamclocker__bio,
.grid--team .card:hover .steamclocker__socials,
.grid--team .card:focus .steamclocker__bio,
.grid--team .card:focus .steamclocker__socials {
    opacity: 1
}

.grid--team .card:hover img,
.grid--team .card:focus img {
    opacity: .4;
    filter: blur(24px)
}

.grid--team .team__bio {
    z-index: 1;
    position: initial
}

.grid--team .team__contact {
    padding: 1em 0;
    z-index: 1
}

.grid--benefits {
    margin-top: var(--spacing-2xl);
    grid-auto-flow: row;
    gap: var(--spacing-xl)
}

.grid--benefits .row {
    gap: var(--spacing-xl)
}

.grid--benefits .perk {
    display: grid;
    grid-auto-flow: row
}

.grid--benefits .perk>* {
    margin: 0
}

.grid--benefits .perk .eyebrow {
    margin-block-end: var(--spacing-sm)
}

.grid--benefits .perk p:nth-of-type(1) {
    --body: var(--body-opaque)
}

.section--careers .extra-perks {
    margin-block-start: var(--spacing-xl);
    padding-block-start: var(--spacing-xl)
}

.section--careers .extra-perks .flex--extra-perks {
    gap: var(--spacing-md);
    flex-wrap: wrap;
    justify-content: center;
    color: var(--body);
    margin-top: var(--spacing-xl)
}

.section--careers .extra-perks .flex--extra-perks>* {
    gap: var(--spacing-xs)
}

.section--roles {
    padding-top: var(--spacing-6xl);
    padding-bottom: calc(var(--spacing-3xl)*3);
    /* margin-bottom: calc(var(--spacing-3xl)*-2.5); */
    border-left: none !important;
    border-right: none !important;
    border-bottom: none !important
}

.section--roles .flex--empty-careers,
.section--roles .flex--open-careers {
    margin-top: var(--spacing-2xl)
}

.section--roles .flex--empty-careers p:first-child {
    margin-top: 0
}

.section--roles .card {
    border-radius: var(--radius-xl);
    padding: var(--spacing-xl) var(--spacing-2xl)
}

.section--roles .card .grid {
    justify-content: space-between;
    align-items: center;
    grid-auto-columns: initial
}

.section--roles .card .role__title {
    margin-top: .25em;
    font-weight: 700
}

.section--roles .card .role__meta {
    --body: var(--header-accent)
}

.section--roles .card .button {
    height: fit-content
}

.grid--steamclock-board {
    gap: var(--spacing-4xl);
    align-items: center
}

.grid--steamclock-board img {
    width: 100%;
    display: block;
    border-radius: var(--radius-xl);
    box-shadow: 0 49px 19px 0 rgba(164, 115, 99, .01), 0 27px 16px 0 rgba(164, 115, 99, .03), 0 12px 12px 0 rgba(164, 115, 99, .05), 0 3px 7px 0 rgba(164, 115, 99, .06)
}

.main--page__contact {
    padding-block-start: calc(var(--spacing-3xl) + 83px);
    padding-block-end: var(--spacing-2xl)
}

.grid--contact {
    gap: var(--spacing-xl);
    grid-template-columns: .79fr 1.21fr !important;
}

.grid--contact strong {
    color: #0059FF;
}

.card--contact-form {
    padding: var(--spacing-sm);
    background: var(--surface);
    border-radius: 72px;
    grid-row: 1/3;
    grid-column: 2
}

.card--contact-form form {
    background: var(--surface-variant);
    border: 1px solid var(--surface-border);
    border-radius: 56px;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md)
}

.card--contact-form form p {
    margin: 0
}

.status__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-inline: var(--spacing-lg);
    padding: var(--spacing-sm) var(--spacing-lg) 0;
}

.status__bar .tag {
    --tag: var(--body-opaque);
    --tag-border: var(--separator);
    font-size: var(--type-xs);
    background: var(--surface);
    padding: 12px var(--spacing-xs) 10px var(--spacing-xs);
    width: 100%;
    max-width: 230px;
    border-radius: var(--radius-full);
    display: flex;
    align-items: center;
    justify-content: center
}

.status__bar .tag i {
    color: var(--steamclock-mustard-400);
    position: absolute;
    left: .8em;
    top: .68em;
    font-size: var(--type-xs)
}

.grid--contact .input--container {
    color: #0059FF !important;
}

.grid--contact input,
.grid--contact input::placeholder,
.grid--contact textarea,
.grid--contact textarea::placeholder,
.grid--contact p.p--sm,
.grid--contact form select,
.grid--contact form label {
    color: #000 !important;
}

.grid--contact label.button.button--radio:hover {
    color: #fdead9 !important;
}

.grid--contact input#mailing-list-signup {
    border: 1px solid #000;
}

.card--contact-form .form-wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    padding-inline: var(--spacing-lg)
}

.card--contact-form .contact-info {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs)
}

.card--contact-form .flex {
    gap: var(--spacing-xs)
}

.budget--row {
    margin-top: var(--spacing-sm)
}

.card--contact-form form input[type=radio] {
    -webkit-appearance: none;
    appearance: none
}

.button--radio:has(input:checked) {
    --button-background: var(--steamclock-purple-500);
    --button-text: var(--button-text-dark)
}

.card--contact-form .submit {
    border-top: 1px solid var(--separator);
    padding-inline: var(--spacing-lg);
    padding-block-start: var(--spacing-md);
    padding-block-end: var(--spacing-lg);
    display: flex;
    align-items: center;
    justify-content: space-between
}

.card--contact-form .submit label {
    color: var(--body)
}

.section--contact .testimonial {
    align-self: flex-end
}

.section--contact .testimonial .testimonial-source {
    flex-direction: row;
    align-items: center;
    gap: .5em
}

.section--contact .testimonial img {
    width: 56px;
    height: 56px;
    border-radius: var(--radius-full)
}

.grid--faq ul {
    color: #000;
}

.grid--faq ul p {
    color: #000;
}

.section--faq ul {
    display: flex;
    flex-direction: column
}

.section--faq li p {
    margin: 0
}

.section--faq li .faq__question {
    font-weight: 500;
    --body: var(--header)
}

.section--faq label {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-block: var(--spacing-md)
}

.section--faq label i {
    font-size: var(--type-xs);
    color: var(--header)
}

.section--faq .faq__answer {
    padding-block-end: var(--spacing-md)
}

.main--page__blog {
    padding-block-end: var(--spacing-2xl);
    gap: var(--spacing-2xl)
}

.hero__blog h1 {
    font-style: normal
}

.hero__blog .buttons {
    gap: 1em;
    width: 100%;
    justify-content: center
}

.hero--content__blog {
    padding-block: 0
}

.section--blog-archive>:nth-child(1) {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg)
}

.main--page__blog .card {
    --border-radius: var(--radius-xl)
}

.main--page__blog .card--blog-post {
    padding: 0;
    gap: 0
}

.main--page__blog .card--blog-post .blog-post-title span {
    --header-accent: var(--header) !important
}

.main--page__blog .card--blog-post img {
    width: 100%
}

.main--page__blog .card--blog-post .post-content {
    padding-block: var(--padding);
    padding-block-start: 0;
    padding-block-end: var(--spacing-2xl)
}

.pagination {
    justify-content: center
}

.pagination-dots {
    color: var(--steamclock-purple-600);
    letter-spacing: 2px;
    font-weight: 600
}

.post-title {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs)
}

.post-title .blog-post-title {
    padding: 0
}

.button-read-more {
    margin-block: 0 !important
}

.page--post {
    --header-background-color: var(--steamclock-mustard-400);
    --header-background: linear-gradient(var(--header-background-color), var(--header-background-color));
    background-image: var(--header-background);
    background-size: 100vw 350px;
    background-repeat: no-repeat;
    background-position: top center
}

.main--page__post {
    padding-block-start: calc(var(--spacing-3xl) + 83px);
    gap: var(--spacing-2xl)
}

.header--page__post:not(.scrolled) {
    --button-text: var(--button-text-dark);
    --button-border: var(--button-border-dark);
    --link: var(--link-dark);
    --header: #0059FF;
    --link-hover: var(--link-hover-dark);
    border-bottom: 1px solid var(--separator-dark)
}

.header--page__post .button--secondary {
    --hover-background: var(--button-text-dark);
    --hover-text: var(--button-text-light)
}

.header--page__post nav ul.nav__menu li.active a {
    color: var(--link-active-dark)
}

.main--page__post .card {
    --border-radius: var(--radius-xl)
}

.section--blog-post .card--blog-post {
    --padding: var(--spacing-6xl);
    padding-block: var(--spacing-xl);
    padding-inline: 0;
    border-radius: var(--radius-xl)
}

.section__header--blog-post {
    gap: 0
}

.section__header--blog-post,
.section__footer--blog-post {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center
}

.section__footer--blog-post>*:not(.eyebrow) {
    padding-inline: var(--padding)
}

.section__header--blog-post .blog-post-title {
    font-style: normal
}

.section__footer--blog-post {
    gap: var(--spacing-sm)
}

.section__footer--blog-post .eyebrow {
    width: 100%;
    margin-bottom: var(--spacing-sm)
}

.section__footer--blog-post .eyebrow .separator {
    flex: 1 1 0
}

.section__footer--blog-post p {
    margin: 0
}

p.section__title.p--lg.text--italic {
    color: #FFF1D9;
}

.post-content .post-image {
    max-width: 100%;
    margin-block: var(--spacing-xl)
}

.post-content img {
    max-width: 100%
}

.post-content h2 {
    font-size: var(--type-xl)
}

.post-content h3 {
    font-size: var(--type-lg)
}

.post-content h4 {
    font-size: var(--type-md)
}

.post-content h5 {
    font-size: var(--type-sm)
}

.post-content h6 {
    font-size: var(--type-xs)
}

.post-content p:not(.post-meta *),
.post-content>* {
    margin-block: var(--spacing-lg)
}

.post-content ul li,
.post-content ol li {
    margin-block: 0
}

.post-content p.image-caption {
    font-size: var(--type-xs)
}

.main--page__archive {
    gap: var(--spacing-2xl)
}

.section--blog-archive .container--related-posts {
    display: flex;
    flex-direction: column
}

.page--archive .card--blog-post {
    flex-direction: row;
    padding: var(--spacing-lg);
    gap: var(--spacing-lg);
    border-radius: var(--radius-xl)
}

.page--archive .card--blog-post h2,
.page--archive .card--blog-post p {
    margin: 0
}

.page--archive .card--blog-post h2 {
    font-weight: normal;
    line-height: initial
}

.page--archive .card--blog-post .post-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs)
}

.page--job-listing .main--page {
    gap: var(--spacing-2xl);
    padding-block-end: var(--spacing-6xl)
}

.page--job-listing .hero--content {
    align-items: start;
    text-align: left
}

.job-listing .work-on p:first-child,
.job-listing .requirements p:first-child,
.job-listing .ideals p:first-child {
    line-height: .875em;
    letter-spacing: 1.85px;
    font-weight: 700;
    font-size: var(--type-xxs);
    text-transform: uppercase
}

.section--apply .card {
    padding: var(--spacing-xl)
}

.section--apply .flex {
    align-items: start;
    gap: 0
}

.section--inactive-listing .card {
    padding: var(--spacing-lg);
    border-radius: var(--radius-lg);
    text-align: center
}

.section--inactive-listing .card p {
    margin: 0
}

.main--page__fourohfour {
    padding-block-end: 0;
    margin-bottom: -2px
}

.hero__fourohfour .hero__title {
    font-style: normal
}

.hero--content__fourohfour {
    gap: 0
}

.hero--content__fourohfour img {
    margin-top: var(--spacing-4xl);
    width: 70vw;
    max-width: min-content
}

.header--page__casestudy {
    --button-text: var(--button-text-dark);
    --button-border: var(--button-border-dark);
    --link: var(--link-dark);
    --link-hover: var(--steamclock-mustard-500);
    --header: #FFF1D9;
    --logo: var(--logo-dark);
    border-bottom: none
}

.header--page__casestudy .button--secondary {
    --hover-background: var(--button-text-dark);
    --hover-text: var(--button-text-light)
}

.header--page__casestudy.scrolled {
    --header: #FFF1D9;
    --link: var(--header);
    --button-text: var(--button-text-light);
    --button-border: var(--button-border-light);
    --hover-text: var(--header);
    --link-hover: inherit;
}

.main--page__casestudy {
    padding-block-end: 0
}

.page--casestudy .grid {
    gap: var(--spacing-3xl)
}

.hero__casestudy {
    --header: #FFF1D9;
    padding-block: var(--spacing-4xl);
    flex-direction: row;
    display: flex;
    background-color: color-mix(in oklab, var(--header-background-color) 95%, black);
    background-image: var(--background-image);
    background-size: cover;
    background-repeat: no-repeat;
    background-blend-mode: normal;
    background-position: top 0% left 40%
}

.hero--content__casestudy {
    display: grid;
    grid-template-areas: "meta img" "highlights img";
    grid-template-columns: 1fr auto
}

.hero--content__casestudy .project--meta {
    grid-area: meta;
    max-width: 55vw
}

.hero--content__casestudy .grid--project-highlights {
    grid-area: highlights;
    grid-auto-flow: row;
    gap: var(--spacing-xl);
    margin-block: var(--spacing-2xl)
}

.hero--content__casestudy .hero__title {
    font-style: normal
}

.page--casestudy .section__title span {
    color: var(--header)
}

.page--casestudy .section--project-intro {
    text-align: center
}

.page--casestudy img {
    width: 100%
}

.page--casestudy .section--backdrop {
    padding-block: var(--spacing-6xl)
}

.page--casestudy .hero--content {
    flex-direction: row;
    align-items: start;
    margin-top: var(--spacing-6xl)
}

.page--casestudy .hero--content>* {
    flex: 1 1 0;
    text-align: left
}

.page--casestudy .grid--project-highlights p {
    margin: 0
}

.page--casestudy .decorative {
    position: absolute;
    display: block
}

.page--casestudy .marquee:before {
    display: block;
    content: "";
    position: absolute;
    width: 100%;
    height: 50%;
    left: 0;
    right: 0;
    top: 25%;
    bottom: 25%
}

.page--casestudy .section--pullquote {
    text-align: center
}

.page--casestudy .quote-mark {
    --fill: var(--header);
    opacity: .1;
    width: 68px;
    height: 50px;
    mask: url(../img/work/quote-left.svg);
    mask-size: cover;
    background: var(--fill)
}

.page--casestudy blockquote:before,
.page--casestudy blockquote:after {
    --tint: var(--steamclock-purple-500);
    display: block !important;
    opacity: .1;
    position: absolute;
    max-width: 122px;
    width: 11vw;
    height: 88px;
    content: "";
    margin-top: -6%;
    top: 50%
}

.page--casestudy blockquote:before {
    mask: url(../img/work/quote-left.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    background: var(--tint);
    right: 96%
}

.page--casestudy blockquote:after {
    mask: url(../img/work/quote-right.svg);
    mask-size: contain;
    mask-repeat: no-repeat;
    background: var(--tint);
    left: 96%
}

.page--casestudy .section--pullquote blockquote {
    width: fit-content;
    max-width: 1000px;
    margin: 0 auto;
    padding-inline: var(--spacing-xl)
}

.page--casestudy blockquote {
    text-align: center;
    font-style: italic
}

.page--casestudy cite {
    font-style: normal;
    margin-top: var(--spacing-lg);
    display: inline-block
}

.casestudy-footer {
    padding-bottom: calc(var(--spacing-3xl)*2);
    margin-bottom: calc(var(--spacing-3xl)*-1)
}

.casestudy-footer__content {
    align-items: center;
    justify-items: center;
    grid-auto-flow: row;
    gap: var(--spacing-3xl)
}

.casestudy-footer__content .card {
    background: var(--surface-variant)
}

.casestudy-footer__content .client--testimonial {
    text-align: center
}

.casestudy-footer__content h2,
.casestudy-footer__content h3 {
    margin: 0
}

.casestudy-footer__content blockquote {
    margin: 0 auto;
    width: fit-content
}

.casestudy-footer .container {
    transform: translateY(-40px)
}

.casestudy-footer .card {
    border-radius: var(--radius-xl);
    width: 100%;
    padding: var(--spacing-xl) var(--spacing-2xl)
}

.casestudy-footer .card .grid {
    align-items: center;
    grid-auto-columns: initial
}

.casestudy-footer__content .download-buttons {
    margin-block-start: var(--spacing-lg)
}

.casestudy-footer .button {
    height: fit-content;
    text-align: center;
    flex: 0 0 auto
}

.casestudy-footer img {
    max-width: 80px
}

.next-up-wrapper {
    align-items: center
}

.project--next-up {
    display: grid;
    grid-template-areas: "icon label" "icon title";
    gap: var(--spacing-sm);
    grid-template-columns: auto 1fr;
    width: 100%
}

.project--next-up img {
    grid-area: icon
}

.project--next-up .caption {
    --header: #FFF1D9;
    grid-area: label;
    align-self: self-end
}

.project--next-up .project--title {
    font-weight: 700;
    grid-area: title
}

.section--iteration {
    overflow-x: clip
}

.grid--iteration {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 2rem;
    align-items: center
}

.ridwell--iteration__illo {
    display: flex;
    justify-content: flex-end
}

.ridwell--iteration__illo img.iteration {
    width: max(150%, 900px);
    margin-left: -50%;
    flex: 1 1 0
}

.casestudy--ridwell .marquee--content {
    min-width: 0;
    animation-duration: 30s
}

.casestudy--ridwell .sc--marquee img {
    width: 1800px
}

.casestudy--ridwell .decorative {
    width: 172px
}

.casestudy--ridwell .decorative--left {
    left: -62px
}

.casestudy--ridwell .decorative--right {
    right: -62px
}

.casestudy--ridwell .illo-lightbulb {
    margin-top: 5rem
}

.casestudy--ridwell .illo-holiday-lights {
    margin-top: -8rem
}

.casestudy--ridwell .illo-clamshells {
    margin-top: -10%
}

.casestudy--ridwell .illo-batteries {
    margin-top: 15%
}

.casestudy--ridwell .illo-multilayer-plastic {
    margin-top: 15%
}

.casestudy--ridwell .illo-threads {
    margin-top: -10%
}

.casestudy--ridwell .ridwell-banner {
    display: block;
    width: 343px;
    height: 80px;
    position: absolute;
    left: calc(var(--spacing-6xl)*-1.1);
    top: -50px
}

.casestudy--ridwell .ridwell-icons {
    display: block;
    width: 278px;
    height: 104px;
    position: absolute;
    content: "";
    border-radius: 16px;
    right: 1.5em;
    left: initial;
    bottom: -20px
}

.casestudy--wealthbar .grid--native {
    align-items: center
}

.casestudy--wealthbar #page--background img {
    mix-blend-mode: darken;
    width: 1800px;
    opacity: .5
}

.casestudy--wealthbar .marquee--content {
    min-width: 0;
    animation-duration: 30s
}

.casestudy--wealthbar .sc--marquee {
    gap: 0
}

.casestudy--wealthbar .sc--marquee img {
    max-width: 1600px
}

.casestudy--wealthbar .illo-dollar-bill {
    width: 361px;
    right: 0;
    margin-top: -25%
}

.casestudy--wealthbar .section--continued-partnership .grid {
    align-items: center
}

.casestudy--wealthbar .highfive {
    max-width: 320px;
    display: block;
    width: 100%
}

.casestudy--wealthbar .flex--banner {
    display: flex;
    justify-content: center;
    align-items: end
}

.casestudy--wealthbar .toast {
    width: 100%;
    max-width: 352px;
    height: 66px;
    position: absolute;
    content: "";
    background: rgba(63, 63, 72, .9);
    background-size: auto;
    border-radius: 8px;
    background-size: 100%;
    animation-duration: .6s;
    animation-delay: .55s;
    backdrop-filter: blur(5px);
    -webkit-backdrop-filter: blur(5px);
    opacity: 0;
    margin-bottom: 8em
}

.casestudy--wealthbar .toast img {
    width: 100%;
    max-width: 405px
}

.casestudy--ora .hero__casestudy {
    background-position: top 0% left 30%
}

.section--wellness .grid--wellness {
    column-gap: var(--spacing-3xl);
    align-items: center;
    padding-block-end: var(--spacing-3xl)
}

.section--wellness .wrapper--device {
    display: flex;
    justify-content: center
}

.casestudy--ora .section--screens {
    text-align: center
}

.casestudy--ora .ora-renders {
    max-width: 402px
}

.casestudy--ora .ora-screens {
    max-width: 1440px;
    margin: 0 auto;
    display: block;
    margin-bottom: var(--spacing-xl)
}

.sc--marquee--ora-screens {
    justify-content: center
}

.marquee--ora-screens {
    animation-duration: 30s;
    animation-play-state: paused
}

@media only screen and (min-width: 793px) {
    .marquee--ora-screens {
        transform: translate3d(0px, 0px, 0px) !important
    }
}

.marquee--hide {
    display: none
}

.casestudy--ora .swiftui-sample {
    max-width: 474px
}

.casestudy--ora .swiftui-preview {
    max-width: 306px;
    position: absolute;
    right: 0;
    bottom: 0
}

.casestudy--mapoftheinternet .mi-android {
    display: block;
    width: 100%;
    max-width: 282px;
    right: -6em
}

.casestudy--mapoftheinternet .mi-bubbles {
    position: absolute;
    bottom: 4em;
    left: 0;
    z-index: -5;
    filter: blur(10px)
}

.casestudy--mapoftheinternet .section--backdrop {
    padding-block-end: 0
}

.casestudy--mapoftheinternet .section--press {
    margin-top: var(--spacing-3xl)
}

.casestudy--mapoftheinternet .section--press img {
    width: inherit
}

.casestudy--mapoftheinternet .section--press .grid {
    gap: var(--spacing-3xl)
}

.casestudy--mapoftheinternet .section--press .card {
    border-radius: var(--radius-sm)
}

.casestudy--mapoftheinternet .section--press .card:nth-of-type(odd) {
    left: -4em
}

.casestudy--mapoftheinternet .section--press .card .source {
    display: flex;
    align-items: end;
    justify-content: space-between
}

.casestudy--mapoftheinternet video {
    display: block;
    width: 100%;
    max-width: 400px;
    border-radius: clamp(10px, 15%, 68px);
    box-shadow: 0 0 32px rgba(0, 0, 0, .25);
    margin: 4em auto -4em auto
}

.casestudy--two-spies .nimbus {
    display: flex;
    flex-wrap: wrap;
    align-content: center;
    gap: 1em;
    width: 1180px;
    margin-right: -1180px
}

.casestudy--two-spies .nimbus .tag {
    padding: var(--spacing-sm);
    border-radius: var(--radius-xs);
    transition: .3s;
    transform-origin: center
}

.casestudy--two-spies .nimbus .tag.prominent {
    --tag: var(--header)
}

.casestudy--two-spies .nimbus .tag:not(.prominent) {
    opacity: .5
}

.casestudy--two-spies .section--backdrop {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-6xl)
}

.casestudy--two-spies .section--backdrop .wrapper--device {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xl)
}

.casestudy--two-spies .section--backdrop .button {
    --button-text: var(--button-text-dark);
    --button-border: var(--button-border-dark);
    --hover-background: var(--button-background-light)
}

.casestudy--two-spies .hide {
    display: none
}

.casestudy--two-spies .trailer-frame {
    background: #fff7db;
    border-radius: 4px;
    box-shadow: 0 6px 0 0 #b19a82;
    padding: 1em;
    z-index: 9;
    filter: drop-shadow(0px 4px 12px rgba(31, 32, 31, 0.3))
}

.casestudy--two-spies .trailer-frame .wrapper {
    padding-top: 56.25%;
    overflow: hidden;
    position: relative
}

.casestudy--two-spies .trailer-frame iframe {
    height: 100%;
    width: 100%;
    left: 0;
    top: 0;
    position: absolute
}

.grid--accolades {
    align-items: center
}

.twospies--accolades__illo {
    display: flex;
    justify-content: flex-end
}

.twospies--accolades__illo img {
    width: max(150%, 636px);
    margin-left: -50%;
    flex: 1 1 0
}

.casestudy--two-spies .illo-badges {
    width: 348px;
    right: -12em;
    margin-top: -19em
}

.casestudy--two-spies .illo-pins-a {
    width: 354px;
    height: 401px;
    right: 80vw;
    bottom: -4em;
    z-index: 8
}

.casestudy--two-spies .illo-pins-b {
    width: 326px;
    height: 429px;
    left: 80vw;
    top: -4em;
    z-index: 8
}

.casestudy--two-spies .client--testimonial blockquote:before,
.casestudy--two-spies .client--testimonial blockquote:after {
    display: none
}

.main--page__thanks {
    padding-block-end: 0;
    margin-bottom: -2px
}

.hero--content__thanks {
    gap: 0
}

.hero__thanks .hero__title {
    font-style: normal
}

.hero--content__thanks img {
    margin-top: var(--spacing-4xl);
    width: 70vw;
    max-width: min-content
}

.hero--content__whoops {
    gap: 0
}

.hero--content__whoops p {
    margin: 0
}

.hero__whoops .steamoji {
    width: 128px;
    height: 128px
}

@media(max-width: 1065px) {
    .card--contact-form .submit {
        flex-direction: column;
        gap: var(--spacing-lg)
    }
}

@media(max-width: 1000px) {
    .hero--content__expertise {
        grid-auto-flow: row;
        grid-template-columns: initial;
        justify-items: center
    }

    .hero--media__expertise {
        grid-column: initial;
        grid-row: initial
    }

    .hero--content__expertise p {
        grid-column: 1
    }

    .hero--content__expertise .hero__title {
        grid-column: 1/3
    }

    .casestudy--wealthbar .flex--banner {
        flex-direction: row
    }
}

@media(max-width: 980px) {
    #mc_embed_signup_scroll {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        gap: 20px;
        align-items: start
    }

    div#mc_embed_signup_scroll {
        display: flex;
        flex-direction: column;
        align-items: stretch;
    }

    #mc-field-group {
        grid-column: 1/2;
        grid-row: 1/2
    }

    .clear {
        grid-column: 1/2;
        grid-row: 2/3
    }

    .clear input[type=submit] {
        width: 100%
    }

    #mce-responses {
        grid-column: 1/2;
        grid-row: 3/4
    }

    .section--swiftui .grid {
        grid-auto-flow: row
    }

    .casestudy--ora .swiftui-preview {
        left: 50%;
        right: initial;
        width: 75%
    }

    .casestudy--ora .swiftui-sample {
        width: 100%
    }
}

@media only screen and (max-width: 880px) {
    #mc_embed_signup_scroll {
        display: grid;
        grid-template-columns: 1fr auto;
        grid-template-rows: auto auto;
        gap: 10px !important;
        align-items: start
    }

    .grid.hero--body__home {
        display: flex;
        flex-direction: column;
    }

    #mc-field-group {
        grid-column: 1/2;
        grid-row: 1/2
    }

    .clear {
        grid-column: 2/3;
        grid-row: 1/2
    }

    #mce-responses {
        grid-column: 1/-1;
        grid-row: 2/3
    }

    .casestudy--two-spies .marquee--devices {
        align-items: end;
        justify-content: start
    }

    .casestudy--two-spies .marquee--content {
        animation-play-state: running;
        animation-duration: 10s
    }

    .casestudy--two-spies .hide {
        display: flex
    }

    .container--main--footer {
        display: grid;
        gap: var(--spacing-md);
        grid-template-areas: "a a" "b b"
    }

    .mailing-list {
        grid-area: b
    }
}

@media only screen and (max-width: 860px) {
    .header--page li:not(.nav__item--overflow) {
        display: none
    }

    .header--page .nav__item--overflow {
        display: block
    }

}

@media only screen and (max-width: 820px) {
    .hero__home {
        max-height: 1024px
    }

    .poster__img {
        object-position: left 30px top 0;
        object-fit: cover
    }
}

@media only screen and (max-width: 792px) {
    :root {
        --spacing-xs: 8px;
        --spacing-sm: 16px;
        --spacing-md: 24px;
        --spacing-lg: 24px;
        --spacing-xl: 24px;
        --spacing-2xl: 40px;
        --spacing-3xl: 80px;
        --spacing-4xl: 72px;
        --spacing-5xl: 64px;
        --spacing-6xl: 80px;
        --radius-xs: 8px;
        --radius-sm: 16px;
        --radius-md: 24px;
        --radius-lg: 32px;
        --radius-xl: 40px;
        --radius-2xl: 32px;
        --radius-3xl: 32px;
        --radius-4xl: 40px;
        --radius-full: 1000px
    }

    .grid {
        grid-auto-flow: row !important;
        gap: 20px;
    }

    .flex {
        flex-direction: column
    }

    .main--footer .flex {
        gap: var(--spacing-md)
    }

    .budget--row {
        flex-direction: column
    }

    .card--blog-post.has-icon .blog-post-title {
        padding-inline-end: initial
    }

    .hero__home .sc--marquee img {
        max-width: 187px
    }

    .hero--body__home .button {
        justify-self: initial
    }

    .section__header--work {
        flex-direction: column;
        align-items: start;
        gap: var(--spacing-lg)
    }

    .section__header--blog {
        display: flex;
        flex-direction: column;
        align-items: start;
        margin-bottom: var(--spacing-2xl)
    }

    .page--home .carousel .card {
        margin: 0 6px
    }

    header.section__header.section__header--blog .p--lg {
        color: #0C1320A6 !important;
    }

    header.section__header.section__header--about .p--lg {
        color: #0C1320A6 !important;
    }

    .section__header {
        align-items: flex-start !important;
    }

    header.section__header.section__header--work .p--lg {
        color: #0C1320A6 !important;
    }

    .grid--clients {
        --gridColumnCount: 2
    }

    .carousel .project__icon {
        max-width: 56px
    }

    .carousel__footer {
        padding: var(--spacing-lg) 16px
    }

    .accordion__services {
        max-width: 100%
    }

    .team--banner {
        flex-direction: row
    }

    .page--about .grid--values {
        grid-template-columns: initial;
        gap: 0
    }

    .grid--values .section__title {
        margin-bottom: var(--spacing-md)
    }

    .hero--about .hero--content {
        margin-bottom: var(--spacing-xl)
    }

    .page--contact .grid--contact {
        grid-template-columns: 1fr;
        gap: var(--spacing-2xl);
        grid-auto-flow: unset;
        grid-template-columns: unset !important;
    }

    .page--contact .section--contact .card--contact-form {
        grid-row: 2;
        grid-column: 1;
        width: 100vw;
        margin-inline: -2rem;
        padding: var(--spacing-xs);
        border-radius: var(--radius-4xl);
    }

    .main--page__work {
        padding-bottom: var(--spacing-4xl)
    }

    .page--work .section--labs {
        padding-bottom: calc(var(--spacing-xl)*4.5);
        margin-bottom: calc(var(--spacing-xl)*-5)
    }

    .page--work .section--labs header {
        margin-bottom: var(--spacing-2xl)
    }



    .client-quote .card {
        flex-direction: column
    }

    .client-quote .card div.quote-content {
        padding: var(--spacing-xl)
    }

    .client-quote .card .client-picker {
        flex-direction: row;
        gap: var(--spacing-xs)
    }

    .client-quote .client-picker img {
        width: 100%;
        max-width: 72px
    }

    .services-list figure {
        display: none
    }

    .pre-footer-icon.phone,
    .pre-footer-icon.music {
        display: none
    }

    .page--home .card--blog-post {
        grid-template-areas: "img" "meta";
        grid-template-columns: 1fr
    }

    .page--home .card--blog-post .post--content {
        padding-inline: var(--spacing-sm)
    }


    .card--blog-post.has-icon .post--image {
        aspect-ratio: initial;
        max-width: none
    }

    .main--page__home .card--blog-post.has-icon {
        flex-direction: column
    }

    .page--home .card--blog-post.has-icon .eyebrow {
        aspect-ratio: 1.5;
        max-height: 200px
    }

    .page--home .card--blog-post.has-icon .eyebrow__icon {
        aspect-ratio: initial
    }

    .page--expertise .hero--expertise .container {
        display: flex;
        flex-direction: column;
        justify-content: center
    }

    .page--expertise .grid--services {
        grid-template-columns: 1fr
    }

    .grid.grid--happiness {
        grid-template-columns: unset !important;
    }

    .page--expertise .grid--happiness {
        gap: var(--spacing-2xl);
        grid-auto-flow: column
    }

    .page--expertise .grid--happiness .happiness--shipped,
    .page--expertise .grid--happiness .happiness--users,
    .page--expertise .grid--happiness .happiness--clients {
        display: flex;
        align-items: start;
        gap: 1em
    }

    .page--expertise .grid--happiness .happiness--shipped p,
    .page--expertise .grid--happiness .happiness--users p,
    .page--expertise .grid--happiness .happiness--clients p {
        margin: 0
    }

    .page--expertise .hero--expertise div.container img {
        align-self: center
    }

    .page--blog .section--blog-archive>:nth-child(1),
    .page--post .section--blog-post>:nth-child(1),
    .section--blog-archive .container,
    .section--blog-signup .container {
        max-width: initial;
        padding-inline: initial
    }

    .page--blog .section--blog-archive .card--blog-post,
    .page--post .section--blog-post .card--blog-post,
    .card--archive,
    .section--blog-signup .container .card,
    .page--archive .card--blog-post {
        border-radius: 0
    }

    .page--expertise .media {
        display: none
    }

    .page--expertise .copy {
        grid-column: 2/1;
        padding-block: var(--spacing-lg)
    }

    .section--careers .extra-perks .flex--extra-perks>* {
        flex-direction: row
    }

    .next-up-wrapper {
        align-items: start
    }

    .casestudy--ridwell .decorative {
        display: none
    }

    .casestudy--ridwell .grid--iteration {
        grid-template-columns: initial;
        grid-auto-flow: row
    }

    .casestudy--mapoftheinternet .section--press .card:nth-of-type(odd) {
        left: initial
    }

    .casestudy--mapoftheinternet .section--how .wrapper--device {
        display: flex;
        justify-content: center
    }

    .casestudy--mapoftheinternet .mi-android {
        right: initial
    }

    .casestudy--ora .ora-renders {
        width: 100%
    }

    .sc--marquee--ora-screens {
        justify-content: initial
    }

    .marquee--ora-screens {
        animation-duration: 30s;
        animation-play-state: running
    }

    .marquee--hide {
        display: flex
    }

    .casestudy--two-spies .nimbus {
        display: none
    }

    .casestudy--two-spies .illo-badges {
        display: none
    }

    .grid--accolades {
        grid-template-columns: initial;
        grid-auto-flow: row
    }

    .twospies--accolades__illo img {
        width: 100%;
        margin-left: 0
    }

    .casestudy--wealthbar .illo-dollar-bill {
        opacity: .2
    }
}

@media only screen and (max-width: 697px) {
    .page--about .grid--team .card img {
        max-width: 300px
    }

    .card--labs {
        gap: var(--spacing-md)
    }
}

@media only screen and (max-width: 600px) {

    .card--blog-post,
    .main--page__post .card--blog-post {
        --padding: var(--spacing-lg)
    }

    .main--page {
        gap: 40px !important;
    }


    .pre-footer-icon:not(.heart) {
        display: none
    }

    .page--home section.section--clients ul {
        gap: var(--spacing-md);
        justify-content: space-around
    }

    .page--casestudy #page--background {
        height: 270px
    }

    .page--casestudy .section--hero img {
        display: none
    }

    .steamclock-logo-decor--small {
        display: block
    }

    .steamclock-logo-decor--large {
        display: none
    }

    .page--expertise .grid--happiness {
        grid-auto-flow: row
    }

    .carousel .meta p {
        font-size: 1em;
        white-space: wrap;
        overflow: visible;
        text-overflow: initial
    }

    .carousel__footer {
        padding: var(--spacing-sm) 16px
    }
}

@media only screen and (max-width: 556px) {
    .container--main--footer {
        display: flex
    }
}

@media only screen and (max-width: 500px) {
    .hide__mobile {
        display: none
    }

    .hide__desktop {
        display: block
    }

    .carousel__footer {
        align-items: start
    }

    .page--home .card--blog-post .post--content {
        padding-inline: 0;
        align-items: center;
        text-align: center
    }

    .hero__home .marquee--content {
        animation-duration: 25s
    }

    #mc_embed_signup_scroll {
        display: grid;
        grid-template-columns: 1fr;
        grid-template-rows: auto auto auto;
        gap: 20px;
        align-items: start
    }

    #mc-field-group {
        grid-column: 1/2;
        grid-row: 1/2
    }

    .clear {
        grid-column: 1/2;
        grid-row: 2/3
    }

    .clear input[type=submit] {
        width: 100%
    }

    .section--blog-signup form {
        flex-direction: column
    }

    .section--blog-signup form .input--container,
    .section--blog-signup form .button {
        width: 100%
    }

    .casestudy--two-spies .illo-badges {
        display: none
    }

    .services--cta {
        text-align: left
    }

    .services--cta p {
        font-size: var(--type-sm)
    }

    .services--cta img {
        max-width: 56px
    }

    .button:not(.button--tertiary) {
        width: 100%;
        text-align: center
    }

    .copy .button {
        text-align: left
    }

    .grid--services .card img {
        transform: scale(0.75);
        transform-origin: top
    }

    .post-content blockquote {
        margin-inline: var(--spacing-2xl)
    }

    .steamclock-stamp {
        width: 113px;
        transform: translateX(-25%) translateY(25%)
    }
}

@media only screen and (max-width: 440px) {
    .section header .button {
        align-self: stretch;
        text-align: center
    }

    .input--referrer i {
        display: none
    }
}


/*# sourceMappingURL=style.css.map */
/* ------------------------------ */
/*                                */
/*                                */
/*           Steamclock           */
/*        Version 2025.1.0        */
/*                                */
/*                                */
/* ------------------------------ */

/* ------------------------------ */
/*           Typefaces            */
/* ------------------------------ */

/* Dotties Vanilla - Thin */
@font-face {
    font-family: "Dotties";
    src:
        url("fonts/DottiesVanilla-Thin.woff2") format("woff2"),
        url("fonts/DottiesVanilla-Thin.woff") format("woff");
    font-weight: 100;
    font-style: normal;
    font-display: swap;
}

/* Dotties Vanilla - Extra Light */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-ExtraLight.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-ExtraLight.woff") format("woff");
    font-weight: 200;
    font-style: normal;
    font-display: swap;
}

/* Dotties Vanilla - Light */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-Light.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-Light.woff") format("woff");
    font-weight: 300;
    font-style: normal;
    font-display: swap;
}

/* Dotties Vanilla - Regular */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-Regular.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-Regular.woff") format("woff");
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}

/* Dotties Vanilla - Medium */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-Medium.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-Medium.woff") format("woff");
    font-weight: 500;
    font-style: normal;
    font-display: swap;
}

/* Dotties Vanilla - Bold */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-Bold.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-Bold.woff") format("woff");
    font-weight: 600;
    font-style: normal;
    font-display: swap;
}

/* Dotties Vanilla - Extra Bold */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-ExtraBold.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-ExtraBold.woff") format("woff");
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

/* Dotties Vanilla - Black */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-Black.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-Black.woff") format("woff");
    font-weight: 900;
    font-style: normal;
    font-display: swap;
}

/* Dotties Vanilla - Heavy */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-Heavy.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-Heavy.woff") format("woff");
    font-weight: 800;
    font-style: normal;
    font-display: swap;
}

/* Dotties Vanilla - Ultra */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-Ultra.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-Ultra.woff") format("woff");
    font-weight: 950;
    font-style: normal;
    font-display: swap;
}

/* Dotties Vanilla - Thin Italic */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-ThinItalic.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-ThinItalic.woff") format("woff");
    font-weight: 100;
    font-style: italic;
    font-display: swap;
}

/* Dotties Vanilla - Extra Light Italic */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-ExtraLightItalic.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-ExtraLightItalic.woff") format("woff");
    font-weight: 200;
    font-style: italic;
    font-display: swap;
}

/* Dotties Vanilla - Light Italic */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-LightItalic.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-LightItalic.woff") format("woff");
    font-weight: 300;
    font-style: italic;
    font-display: swap;
}

/* Dotties Vanilla - Regular Italic */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-RegularItalic.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-RegularItalic.woff") format("woff");
    font-weight: 400;
    font-style: italic;
    font-display: swap;
}

/* Dotties Vanilla - Medium Italic */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-MediumItalic.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-MediumItalic.woff") format("woff");
    font-weight: 500;
    font-style: italic;
    font-display: swap;
}

/* Dotties Vanilla - Bold Italic */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-BoldItalic.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-BoldItalic.woff") format("woff");
    font-weight: 600;
    font-style: italic;
    font-display: swap;
}

/* Dotties Vanilla - Extra Bold Italic */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-ExtraBoldItalic.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-ExtraBoldItalic.woff") format("woff");
    font-weight: 700;
    font-style: italic;
    font-display: swap;
}

/* Dotties Vanilla - Black Italic */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-BlackItalic.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-BlackItalic.woff") format("woff");
    font-weight: 900;
    font-style: italic;
    font-display: swap;
}

/* Dotties Vanilla - Heavy Italic */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-HeavyItalic.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-HeavyItalic.woff") format("woff");
    font-weight: 800;
    font-style: italic;
    font-display: swap;
}

/* Dotties Vanilla - Ultra Italic */
@font-face {
    font-family: "Dotties";
    src:
        url("/fonts/DottiesVanilla-UltraItalic.woff2") format("woff2"),
        url("/fonts/DottiesVanilla-UltraItalic.woff") format("woff");
    font-weight: 950;
    font-style: italic;
    font-display: swap;
}

:root {
    color-scheme: light;

    /* ------------------------------ */
    /*            Colours             */
    /* ------------------------------ */
    /* Steamclock Brand */
    /* Purple */
    --steamclock-purple-50: #f6edf8;
    --steamclock-purple-100: #ddb7e7;
    --steamclock-purple-200: #c27dd9;
    --steamclock-purple-300: #072B79;
    --steamclock-purple-400: #9d0ec9;
    --steamclock-purple-500: #053695;
    --steamclock-purple-600: #053695;
    --steamclock-purple-700: #57038f;
    --steamclock-purple-800: #071F4C;
    --steamclock-purple-900: #1A1D24;
    --steamclock-purple-1000: #0A194D;

    /* MUSTAAAAAAAAAARD */
    --steamclock-mustard-50: #fffdf9;
    --steamclock-mustard-100: #fdf5e8;
    --steamclock-mustard-200: #fff1d9;
    --steamclock-mustard-300: #ffe7c2;
    --steamclock-mustard-400: #FF9500;
    --steamclock-mustard-500: #feb764;
    --steamclock-mustard-600: #d28046;
    --steamclock-mustard-700: #a44d2d;
    --steamclock-mustard-800: #782119;
    --steamclock-mustard-900: #490b11;

    /* Sienna */
    --steamclock-sienna-0: #ffffff;
    --steamclock-sienna-50: #fffbf7;
    --steamclock-sienna-100: #fff4e9;
    --steamclock-sienna-200: #fdead9;
    --steamclock-sienna-300: #0059FF;
    --steamclock-sienna-400: #e3c2ae;
    --steamclock-sienna-500: #c29484;
    --steamclock-sienna-600: #a47363;
    --steamclock-sienna-700: #744d43;
    --steamclock-sienna-800: #452622;
    --steamclock-sienna-900: #261813;

    /* Charcoal */
    --steamclock-charcoal-500: #333333;
    --steamclock-charcoal-600: #212121;
    --steamclock-charcoal-700: #1a1a1a;
    --steamclock-charcoal-800: #1A1D24;
    --steamclock-charcoal-900: #090909;
    --steamclock-charcoal-1000: #000000;

    /* Steamclock Clients */
    --clients-arcteryx: #375e78;
    --clients-guide-along: #ff6944;
    --clients-internet: #2b89e9;
    --clients-ora: #4daa99;
    --clients-ridwell: #f06650;
    --clients-wealthbar: #00b298;

    /* Steamclock Projects */
    --projects-spies: #f2461f;
    --labs-bluejay: #017eda;
    --labs-feedback-wizard: #620074;
    --labs-it-shipped: #0a4c61;
    --labs-netable: #ff3828;
    --labs-nice-architecture: #540572;
    --labs-nice-components: #1c42c7;
    --labs-quests: #6e4df4;
    --labs-sybama: #5e26ed;
    --labs-what-the-duck: #761aea;
    --labs-xcoder: #2074f8;

    /* Variables */
    --surface-light: var(--steamclock-sienna-0);

    --surface: var(--surface-light);

    --surface-variant-light: var(--steamclock-mustard-50);

    --surface-variant: var(--surface-variant-light);

    --surface-variant-hover-light: var(--steamclock-mustard-100);

    --surface-variant-hover: var(--surface-variant-hover-light);

    --surface-border-light: var(--steamclock-sienna-300);

    --surface-border: var(--surface-border-light);

    --body-background-light: var(--steamclock-mustard-50);

    --body-background: var(--body-background-light);

    --shadow-color-light: var(--steamclock-sienna-600);

    --shadow-color: var(--shadow-color-light);

    /* Headers */
    --header: #0059FF;
    --body: #FFF1D9 !important;

    --header-accent: var(--header-accent-light);

    /* Text */
    --body: var(--body-light);
    --body-opaque: var(--steamclock-purple-900);

    --body-accent: var(--body-accent-light);

    /* Buttons */
    --button-border: var(--button-border-light);

    --button-text: var(--button-text-light);

    --button-background: clear;

    /* Tags */
    --tag: var(--tag-light);

    --tag-border: var(--tag-border-light);

    /* Input */
    --input-background: var(--input-background-light);

    --input-border: var(--input-border-light);

    /* Errors */
    --error: var(--error-light);

    /* Success */
    --success: var(--success-light);

    /* Links */
    --link: var(--link-light);

    --link-hover: var(--link-hover-light);

    --link-active: var(--link-active-light);

    /* Misc */
    --separator: var(--separator-light);

    --logo: var(--logo-light);

    --code: var(--code-light);

    /* Pattern *width: */
    --fill-pattern-light-30: url(/img/global/pattern-on-light-30.svg);
    --fill-pattern-light-15: url(/img/global/pattern-on-light-15.svg);
    --fill-pattern-light-10: url(/img/global/pattern-on-light-10.svg);
    --fill-pattern-dark: url(/img/global/pattern-on-dark-10.svg);
    --fill-pattern-dark-5: url(/img/global/pattern-on-dark-5.svg);

    /* ------------------------------ */
    /*          Measurements          */
    /* ------------------------------ */
    /* Spacing */
    --spacing-xs: 8px;
    --spacing-sm: 16px;
    --spacing-md: 24px;
    --spacing-lg: 32px;
    --spacing-xl: 48px;
    --spacing-2xl: 40px;
    --spacing-3xl: 80px;
    --spacing-4xl: 96px;
    --spacing-5xl: 112px;
    --spacing-6xl: 64px;

    /* Radii */
    --radius-xs: 8px;
    --radius-sm: 16px;
    --radius-md: 24px;
    --radius-lg: 32px;
    --radius-xl: 40px;
    --radius-2xl: 56px;
    --radius-3xl: 64px;
    --radius-4xl: 72px;
    --radius-full: 1000px;

    /* Typescale */
    font-size: 18px;
    --type-xxs: 0.666em;
    /* 12px - Captions */
    --type-xs: clamp(0.778rem, 0.724rem + 0.247vi, 0.889rem);
    /* 16px - H6 */
    --type-sm: 1em;
    /* 18px - Paragraph (sm) */
    --type-md: clamp(1.111rem,
            1.058rem + 0.247vi,
            1.222rem);
    /* 20px - Paragraph (md) */
    --type-lg: clamp(1.333rem,
            1.226rem + 0.494vi,
            1.556rem);
    /* 28px - Paragraph (lg) */
    --type-xl: clamp(1.333rem, 1.119rem + 0.988vi, 1.778rem);
    /* 32px - H5 */
    --type-2xl: clamp(1.444rem, 1.07rem + 1.728vi, 2.222rem);
    /* 40px - H4 */
    --type-3xl: clamp(1.778rem, 1.35rem + 1.975vi, 2.667rem);
    /* 48px - H3 */
    --type-4xl: clamp(2rem, 1.037rem + 4.444vi, 4rem);
    /* 72px - H2 */
    --type-5xl: clamp(2.222rem, 0.885rem + 6.173vi, 5rem);
    /* 90px - H1 */
    /* Layout */
    --xl-width: 1600px;
    --max-width: 1200px;
    --lg-width: 900px;
    --med-width: 792px;
}

/* ------------------------------ */
/*             Global             */
/* ------------------------------ */
* {
    font-family: "Dotties", sans-serif;
    position: relative;
    box-sizing: border-box;
}

html,
body {
    overflow-x: clip;
    scroll-behavior: smooth;
}

body {
    background: var(--body-background);
    margin: 0;
    position: relative;
}

.noscroll {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    overflow: hidden;
}

a {
    text-decoration: none;
    transition: 0.3s;
    color: var(--link);

    &:hover {
        --header: #0059ff;
        color: var(--link-hover);
    }

    & * {
        transition: 0.3s all;
    }
}

/* Type */
h1,
h2,
h3,
h4,
h5,
h6 {
    margin: 0.888rem 0;
    padding: 0;
    color: var(--header);
}

h1 span,
h2 span,
h3 span,
h4 span,
h5 span,
h6 span {
    color: var(--header-accent);
}

h1.clr span {
    color: #f38b30;
}

h1,
.title--h1 {
    color: var(--header);
    font-size: var(--type-5xl);
    line-height: 0.933em;
    font-weight: 800;
    letter-spacing: -1.5px;

    span {
        font-style: italic;
    }
}

h2,
.title--h2 {
    color: var(--header);
    font-size: var(--type-4xl);
    line-height: 1em;
    letter-spacing: -1px;
    font-weight: 800;
}

h3,
.title--h3 {
    color: var(--header);
    font-size: var(--type-3xl);
    line-height: 1em;
    letter-spacing: -1px;
    font-weight: 700;
}

h4,
.title--h4 {
    color: var(--header);
    font-size: var(--type-2xl);
    line-height: 1.05em;
    font-weight: 300;
    letter-spacing: -1px;

    strong,
    span {
        font-weight: 700;
    }
}

.title--h4__bold {
    font-weight: 700;
}

h5,
.title--h5 {
    color: var(--header);
    font-size: var(--type-xl);
    line-height: 1.125em;
    letter-spacing: -1px;
}

h6,
.title--h6 {
    color: var(--header);
    font-size: var(--type-xs);
    line-height: 1em;
    letter-spacing: 2px;
    text-transform: uppercase;
    font-weight: 700;
}

p {
    font-family: "Dotties", sans-serif;
    font-weight: 300;
    font-size: var(--type-md);
    margin: 0.888rem 0;
    line-height: 1.4em;
    letter-spacing: -0.25px;
}

.p--xxl {
    font-size: var(--type-2xl);
    line-height: 1.05em;
    letter-spacing: -1px;
}

.p--xl {
    font-size: var(--type-xl);
    line-height: 1.125em;
    letter-spacing: -1px;
}

.p--lg {
    font-size: var(--type-lg);
    line-height: 1.25em;
    letter-spacing: -0.5px;
}

.p--md {
    font-size: var(--type-md);
    letter-spacing: -0.25px;
}

.p--sm {
    font-size: var(--type-sm);
}

.p--xs {
    font-size: var(--type-xs);
}

.p--xxs {
    font-size: var(--type-xxs);
}

p strong,
p b,
li strong,
li b {
    color: #FDF5E8;
    font-weight: 500;
}

.hero__work strong {
    color: #000000;
}

.section--services strong {
    color: #000000;
}

.expertise-process-wrapper p {
    color: #FDF5E8A6;
}

.expertise-process-wrapper span.tag.caption {
    color: #FDF5E8A6;
    border: 1px solid #FDF5E8A6;
}

.expertise-process-wrapper .button {
    color: #FDF5E8A6;
}

.text--italic {
    font-style: italic;
}

.text--strong {
    font-weight: 500;
}

.align--center {
    text-align: center;
}

ul,
ol {
    font-family: "Dotties", sans-serif;
    font-weight: 300;
    font-size: var(--type-md);
    color: #FDF5E8A6;
    line-height: 1.555em;
}

.small-caps {
    font-size: var(--type-xs);
    text-transform: uppercase;
    font-weight: 600;
    color: var(--header);
}

a.small-caps {
    letter-spacing: 2px;
}

/* Forms */
form input[type="text"],
form input[type="email"],
form select,
form textarea {
    font-size: 1em;
    color: var(--body);
    outline: none;
    background: none;
    border: none;
    width: 100%;
}

form select {
    position: absolute;
    padding-inline: 50px;
    width: -webkit-fill-available;
    height: 100%;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background: transparent;
    inset: 0;
}

form input[type="checkbox"] {
    border-radius: var(--radius-xs);
    border: 1.5px solid var(--input-border);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    width: 24px;
    height: 24px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

form input[type="checkbox"]:checked:after {
    content: "";
    position: absolute;
    width: 10px;
    height: 10px;
    border-radius: 6px;
    background: var(--header);
}

form input::placeholder,
form textarea::placeholder {
    color: color-mix(in srgb, var(--body) 50%, transparent);
}

.checkbox-wrapper {
    display: flex;
    align-items: center;
    gap: 0.5em;
}

.input--container {
    display: flex;
    align-items: center;
    gap: 0.5em;
    padding: var(--spacing-sm);
    font-size: 1em;
    color: #FDF5E8;
    border: 1px solid #F9E0C873;
    outline: none;
    background: #F9E0C826;
    border-radius: 12px;
    box-shadow: inset 0 2px 4px var(--steamclock-sienna-300);
    background-image: var(--fill-pattern-light-15);
    background-size: 8px 8px;
}

.section--blog-signup .input--container {
    color: #0059ff;
}

.section--blog-signup input#mc-embedded-subscribe:hover {
    color: #FDF5E8 !important;
}

.section--blog-signup input#mce-EMAIL,
.section--blog-signup input#mce-EMAIL::placeholder {
    color: #0059ff;
}

.form--field {
    width: 100%;
}

.form--field__error .input--container {
    border: 1px solid #c94358;
    --body: #c94358;
}

.input--container i {
    font-size: var(--type-xs);
}

.form--field .error-message {
    opacity: 0;
    transition: 0.3s all;
    position: absolute;
    z-index: 50;
    padding-block: var(--spacing-xs);
    font-size: var(--type-xs);
    color: #c94358;
}

div.mce_inline_error {
    margin: 0 !important;
    margin-block-start: var(--spacing-sm) !important;
    padding: 0 !important;
    font-size: var(--type-xs) !important;
    color: #c94358 !important;
    font-weight: 400 !important;
    background: none !important;
}

#mc_embed_signup_scroll {
    display: grid;
    grid-template-columns: 1fr auto;
    grid-template-rows: auto auto;
    gap: var(--spacing-sm);
    align-items: start;
}

#mc-field-group {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}

.clear {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}

#mce-responses {
    grid-column: 1 / -1;
    grid-row: 2 / 3;
}

#mce-responses div {
    font-size: var(--type-xs);
}

#mce-success-response {
    color: var(--success);
}

#mce-error-response {
    color: var(--error);
}

.mailing-list #mce-success-response {
    color: var(--success-dark);
}

.mailing-list #mce-error-response {
    color: var(--error-dark);
}

#mc_embed_signup_scroll {
    width: 100%;
}

.form--field__error>.error-message {
    opacity: 1;
    position: relative;
}

form textarea {
    height: 300px;
    resize: none;
}

/* Buttons */
.button {
    --hover-background: var(--steamclock-purple-600);
    --hover-text: var(--button-text-dark);
    font-size: 16px;
    text-transform: uppercase;
    font-weight: 600;
    color: var(--button-text);
    padding: 16px var(--spacing-lg);
    border: 1.5px solid #0059FF;
    border-radius: var(--radius-sm);
    display: inline-block;
    background: var(--button-background);
    position: relative;
    line-height: 1em;
    letter-spacing: 2px;
    transition: all 0.3s ease;
}

.button--small {
    padding-block: 11px;
    padding-inline: var(--spacing-md);
}

.button:hover {
    background: var(--hover-background);
    color: #FFF1D9;
    cursor: pointer;
}

a.button.button--glow {
    border: 1px solid #FFF1D9;
}

a.button.button--glow:hover {
    color: #0059FF;
}

a.button.button--primary.button--glow {
    color: #0251E4;
}

/*@media only screen and (min-width: 400px) {*/
.button i.hover-icon {
    width: 0;
    opacity: 0;
    overflow: hidden;
    transform: translateX(-5px) translateY(2px);
    transition: all 0.3s ease;
    font-size: 0.9em;
    margin-left: 0;
    display: inline-block;
}

.button:hover i.hover-icon {
    width: 1em;
    /* Adjust based on icon width */
    opacity: 1;
    transform: translateX(0) translateY(2px);
    margin-left: 1em;
}

.button.arrow-left:hover i.hover-icon {
    margin-right: 1em;
    margin-left: 0;
}

/*}*/

@media only screen and (max-width: 401px) {
    .button i.hover-icon {
        display: none;
    }
}

.button--primary {
    --button-background: var(--steamclock-purple-500);
    --button-text: #FDF5E8;
}

input#mc-embedded-subscribe:hover {
    color: #0059FF !important;
}

.button--app-store {
    background: url(img/download/app-store.svg) no-repeat center center;
    background-size: contain;
    width: 194px;
    height: 65px;
    display: inline-block;
    text-indent: -9999px;
}

.button--spies {
    background: url(img/work/two-spies/download.svg) no-repeat center center;
    background-size: contain;
}

.button--glow:hover {
    --hover-text: var(--steamclock-purple-800);
    background:
        linear-gradient(180deg,
            var(--sc-Mustard-400, rgba(250, 204, 140, 0.4)) 0%,
            var(--sc-Mustard-200, rgba(255, 241, 217, 0.4)) 100%),
        var(--steamclock-mustard-200, #fdf5e8);
    box-shadow:
        0 2px 8px 0 rgba(250, 204, 140, 0.3),
        0 0 24px 0 rgba(255, 207, 151, 0.55);
}

.button--radio {
    border-radius: var(--radius-full);
    transition: 0.3s;
    padding-inline: var(--spacing-sm);
    text-align: center;
    flex: 1;
}

.button--radio:hover {
    cursor: pointer;
}

.button--radio:hover i.hover-icon {
    display: none;
}

.button--tertiary {
    --hover-background: clear;
    --hover-text: var(--button-text-light);
    padding: 0;
    border: none;
}

/* Project Buttons */
.button--wealthbar {
    --hover-background: var(--clients-wealthbar);
    border-color: var(--clients-wealthbar);
    color: var(--clients-wealthbar);
}

.button--ridwell {
    --hover-background: var(--clients-ridwell);
    border-color: var(--clients-ridwell);
    color: var(--clients-ridwell);
}

.button--twospies {
    --hover-background: var(--projects-spies);
    border-color: var(--projects-spies);
    color: var(--projects-spies);
}

.button--ora {
    --hover-background: var(--clients-ora);
    border-color: var(--clients-ora);
    color: var(--clients-ora);
}

.button--arcteryx {
    --hover-background: var(--clients-arcteryx);
    border-color: var(--clients-arcteryx);
    color: var(--clients-arcteryx);
}

.button--internet {
    --hover-background: var(--clients-internet);
    border-color: var(--clients-internet);
    color: var(--clients-internet);
}

.button--wealthbar:hover,
.button--ridwell:hover,
.button--twospies:hover,
.button--ora:hover,
.button--arcteryx:hover,
.button--internet:hover {
    border-color: transparent;
}

.callout {
    font-size: var(--type-lg);
}

.callout:after {
    content: " â†’";
}

.button--media {
    font-size: var(--type-sm);
    text-transform: none;
    font-weight: 300;
    display: flex;
    align-items: center;
    gap: 1em;
    width: fit-content;
    padding: var(--spacing-sm);
    letter-spacing: initial;
}

.button--media img {
    max-width: 56px;
}

.nav__menu {
    list-style: none;
    padding: 0;
    margin: 0;
    line-height: initial;
}

.header--page {
    border-bottom: 1px solid var(--separator);
    position: fixed;
    width: 100vw;
    z-index: 100;
    transition:
        transform 0.4s cubic-bezier(0.4, 0, 0.2, 1),
        background 0.8s ease,
        box-shadow 0.6s ease,
        backdrop-filter 0.5s ease;
    --header: #0059FF;
    --link: var(--header);
    --button-text: var(--header);
    --button-border: var(--header);
    --hover-text: var(--header);
    --logo: var(--header);
}

.header--page.scrolled-down {
    transform: translateY(-100%);
}

.header--page.scrolled-up {
    transform: translateY(0);
}

header.section__header p.p--lg {
    color: #0C1320A6;
}

.container.container--bleed.services--cta p {
    color: #FFF1D9;
}

.header--page.scrolled {
    background: color-mix(in srgb, #FDF5E8 90%, transparent);
    box-shadow: 0 4px 30px rgba(0, 0, 0, 0.15);
    backdrop-filter: blur(8px);
    -webkit-backdrop-filter: blur(8px);
    border-bottom: none;
    --header: #0059FF;
    --link: var(--header);
    --button-text: var(--header);
    --button-border: var(--header);
    --hover-background: var(--header);
    --hover-text: #FDF5E8;
    --logo: var(--header);
}

.header--page.scrolled .button--secondary {
    --hover-background: var(--button-text);
    --hover-text: var(--button-text-light);
}

.header--page nav {
    max-width: calc(var(--max-width) + 4rem);
    display: flex;
    margin: 0 auto;
    align-items: center;
    justify-content: space-between;
    padding: 1em 2rem;
}

.header--page .nav__menu {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 1.5em;
    line-height: normal;
}

.header--page .nav__menu a {
    font-size: 16px;
    color: var(--link);
}

.header--page .nav__menu .active a {
    color: #073C9F;
}

.header--page .nav__item--overflow {
    display: none;
}

@media (max-width: 800px) {
    .header--page .nav__menu>.nav__item:not(.nav__item--overflow) {
        display: none;
    }

    .header--page .nav__item--overflow {
        display: flex;
        align-items: center;
    }
}

.header--page .nav__item--overflow a {
    padding: 0;
    aspect-ratio: 1;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.header--page .hero {
    justify-content: center;
    display: flex;
    flex-direction: column;
}

.mobile--nav {
    background: var(--body-background);
    position: fixed;
    height: 100vh;
    z-index: 100;
    opacity: 0;
    transition: opacity 0.3s ease;
    top: 0;
    width: 100%;
    display: none;
    overflow-y: auto;
    overflow-x: hidden;
}

.mobile--nav.show {
    opacity: 1;
}

.mobile--links__wrapper {
    flex-direction: row !important;
    gap: 0 !important;
    padding-block-start: 81px;
}

.mobile--nav ul {
    margin: 0;
    font-size: 1em;
}

.mobile--nav li {
    padding: 1em 2rem;
    border-bottom: 1px solid #0059FF;
}

.mobile--nav li.home {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--body-background);
    z-index: 10;
    position: fixed;
    width: 100%;
}

.mobile--nav li.home a.button--secondary {
    padding: 0;
    aspect-ratio: 1;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mobile--nav li.contact {
    border-bottom: none;
}

.mobile--nav li:not(.home) a {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
    justify-content: space-between;
}

.mobile--nav li.contact a {
    justify-content: center;
}

.mobile--nav li:not(.home) a .content {
    width: 100%;
}

.mobile--nav li:not(.home) a p {
    margin: 0;
}

.mobile--nav li:not(.home) a p:first-child {
    color: var(--header);
}

.mobile--nav li:not(.home) img.icon {
    max-width: 44px;
}

.mobile--nav a.button {
    justify-content: center;
}

.mobile--nav .main--links,
.mobile--nav .work--links {
    transition: transform 0.3s ease-in-out;
    width: 100%;
}

.mobile--nav .work--links {
    /* Initially hidden off-screen to the right */
    transform: translateX(100vw);
}

.mobile--nav .main--links {
    /* Initially visible */
    transform: translateX(0);
}

/* Back button styling */
.mobile--nav .nav__item--back .eyebrow__icon {
    --tint: var(--steamclock-purple-500);
}

.mobile--nav ul {
    position: relative;
    min-height: 100vh;
}

/* Ensure smooth transitions for all nav items */
.mobile--nav li {
    transition: transform 0.3s ease-in-out;
}

/* Fix for any potential z-index issues */
.mobile--nav .main--links {
    z-index: 1;
    min-height: 100vh;
}

.mobile--nav .work--links {
    z-index: 2;
    min-height: 100vh;
}

.hero--content {
    display: flex;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: var(--spacing-md);
}

.page--expertise .hero--content {
    gap: 0 !important;
    display: flex;
    flex-direction: row;
    text-align: left;
}

.page--expertise .main--page {
    gap: 0 !important;
}

.page--expertise .hero__title.title--h2 span {
    color: #F38B30;
}

.section__header {
    display: flex;
    gap: var(--spacing-md);
    align-items: end;
    justify-content: space-between;
}

.section__header .wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.section__header .eyebrow {
    margin-bottom: var(--spacing-sm);
}

.section__header h2,
.section__header p {
    margin: 0;
}

.section__header p {
    line-height: 1em;
    margin-top: 0.4em;
}

/* Layout */
.main--page {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-6xl);
    padding-block-end: var(--spacing-4xl);
}

.container {
    margin: 0 auto;
    width: 100%;
}

.container--xl-width {
    padding-inline: 2rem;
    max-width: calc(var(--xl-width) + 4rem);
}

.container--max-width {
    padding-inline: 2rem;
    max-width: calc(var(--max-width) + 4rem);
}

.container--med-width {
    padding-inline: 2rem;
    max-width: calc(var(--med-width) + 4rem);
}

.container--lg-width {
    padding-inline: 2rem;
    max-width: calc(var(--lg-width) + 4rem);
}

/* Utilities */
.grid {
    display: grid;
    grid-auto-flow: row;
    grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
    gap: var(--spacing-md);
}

.grid--column {
    grid-auto-flow: row;
}

.flex {
    display: flex;
    gap: var(--spacing-md);
}

.flex--column {
    flex-direction: column;
}

.flex--center {
    align-items: center;
    justify-content: center;
}

.flex--gap-sm {
    gap: var(--spacing-sm);
}

.flex--gap-lg {
    gap: var(--spacing-lg);
}

.flex--wrap {
    flex-wrap: wrap;
}

.steamclock-logo-masked {
    background-image: url(../img/global/logo.svg) !important;
    -webkit-mask-image: none !important;
    mask-image: none !important;
    background-color: transparent !important;
    background-repeat: no-repeat;
    background-size: contain;
    background-position: center;
    width: 182px;
    height: 42px;
    display: inline-block;
}

.grid {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    /*grid-template-columns: repeat(auto-fill, minmax(325px, 1fr));*/
    gap: var(--spacing-md);
}

.flex {
    display: flex;
    gap: var(--spacing-md);
}

.flex--column {
    flex-direction: column;
}

/* Decorative */
hr {
    --separator: var(--separator-light);
}

.separator--bottom {
    border-bottom: 1px solid var(--separator);
}

.separator--top {
    border-top: 1px solid var(--separator);
}

.separator--small {
    width: 8em;
    height: 2px;
    border-radius: 2px;
    background: var(--separator);
    margin: var(--spacing-xl) auto;
}

hr {
    border-top: 1px solid var(--separator);
    border-bottom: none;
}

.tags {
    display: flex;
    gap: var(--spacing-sm);
    flex-wrap: wrap;
}

.tag {
    color: var(--tag);
    border: 1px solid #000000;
    display: inline-block;
    width: fit-content;
    padding: 6px 16px 3px 16px;
    border-radius: var(--radius-sm);
    margin: 0;
}

.caption {
    line-height: 0.875em;
    letter-spacing: 1.85px;
    font-weight: 700;
    font-size: var(--type-xxs);
    text-transform: uppercase;
}

.fill--pattern {
    --color-fill: var(--steamclock-sienna-200);
    background-color: color-mix(in srgb, var(--color-fill) 30%, transparent);
    background-attachment: fixed;
}

.fill--pattern.on--dark {
    background-image: var(--fill-pattern-dark);
    background-size: 14px 14px;
}

.fill--pattern.on--light {
    --fill-background: var(--fill-pattern-light-10);
    background-image: var(--fill-background);
    background-size: 14px 14px;
    box-shadow: inset 0 8px 8px -8px var(--steamclock-sienna-300);
    border-top: 1px solid var(--surface-border);
}

.fill--noise {
    background-image: url(/img/global/noise-tile.png);
    background-repeat: repeat;
    background-size: 100px 100px;
    background-position: top left;
}

.fill--noise__light {
    background-color: #EFF5FF;
    background-image: url(/img/global/noise-tile-light.png);
}

.fill--inset {
    --inset: light-dark(var(--steamclock-sienna-300),
            var(--steamclock-sienna-800));
    box-shadow: inset 0 8px 8px -8px var(--inset);
    border: 1px solid var(--surface-border);
}

.card {
    --hover-background: var(--surface);
    --border-radius: var(--radius-4xl);
    border: 1px solid var(--surface-border);
    box-shadow: 0 12px 12px color-mix(in srgb, var(--shadow-color) 10%, transparent);
    border-radius: var(--border-radius);
    padding: var(--spacing-sm);
    background: var(--surface);
    transition: 0.3s;
    position: relative;
    overflow: hidden;
}

/* .card:hover {
    background: var(--hover-background);
} */

.accordion--list ul {
    padding: 0;
    list-style: none;
}

.accordion--list input[type="radio"] {
    display: none;
}

.accordion-item label {
    cursor: pointer;
    display: flex;
    gap: 0.5em;
}

.accordion-item label i {
    font-size: var(--type-lg);
    color: #000;
}

.accordion-content {
    max-height: 0;
    clip-path: inset(0 -100px);
    transition: all 0.3s ease;
}

.accordion-item .expand {
    display: inline-block;
}

.accordion-item .contract {
    display: none;
}

/* Active state class */
.accordion-item.active .expand {
    display: none;
}

.accordion-item.active .contract {
    display: inline-block;
}

/* Target accordion content using nth-child */
.services-list #strategy:checked~ul li:nth-child(1) .accordion-content,
.services-list #design:checked~ul li:nth-child(2) .accordion-content,
.services-list #development:checked~ul li:nth-child(3) .accordion-content,
.services-list #launch:checked~ul li:nth-child(4) .accordion-content {
    max-height: 500px;
    padding-block-end: var(--spacing-lg);
}

.faq-list #platforms:checked~ul li:nth-child(1) .accordion-content,
.faq-list #rates:checked~ul li:nth-child(2) .accordion-content,
.faq-list #timeline:checked~ul li:nth-child(3) .accordion-content,
.faq-list #getstarted:checked~ul li:nth-child(4) .accordion-content {
    max-height: 500px;
}

.services-list .accordion-item label .service-icon {
    overflow: hidden;
    opacity: 0;
    margin-right: -1em;
    transform: translateX(-1em) translateY(2px) rotate(-90deg);
    transition: all 0.3s cubic-bezier(.48, .1, .16, 1.29);
    pointer-events: none;
}

/* Show icon only for the checked item */
.services-list #strategy:checked~ul li:nth-child(1) label .service-icon,
.services-list #design:checked~ul li:nth-child(2) label .service-icon,
.services-list #development:checked~ul li:nth-child(3) label .service-icon,
.services-list #launch:checked~ul li:nth-child(4) label .service-icon,
.services-list .accordion-item:hover label .service-icon {
    opacity: 1;
    margin-right: 0;
    transform: translateX(0) translateY(2px);
    pointer-events: auto;
}

/* Image swapping */
.services-list figure {
    margin: 0;
}

.services-list figure img {
    display: none;
    opacity: 0;
    transition: opacity 0.3s ease;
}

.services-list #strategy:checked~figure .strategy-img,
.services-list #design:checked~figure .design-img,
.services-list #development:checked~figure .development-img,
.services-list #launch:checked~figure .launch-img {
    display: block;
    opacity: 1;
}

.hero--media {
    display: flex;
    align-items: center;
    justify-content: center;
}

.eyebrow {
    display: flex;
    gap: 1em;
    align-items: center;
}

.eyebrow__icon {
    --tint: var(--steamclock-purple-600);
    --background: color-mix(in srgb, var(--tint) 10%, transparent);
    display: flex;
    align-items: center;
    justify-content: center;
    width: 44px;
    height: 44px;
    font-size: 20px;
    background: var(--background);
    border: 1px solid color-mix(in srgb, var(--tint) 10%, transparent);
    box-shadow: 0 2px 2px color-mix(in srgb, var(--tint) 10%, transparent);
    color: var(--tint);
    border-radius: 12px;
}

.eyebrow__text {
    letter-spacing: 2px;
}

.eyebrow--large .eyebrow__icon {
    font-size: var(--type-xl);
    width: 72px;
    height: 72px;
    border-radius: var(--radius-md);
}

/* Footer */
.pre-footer {
    display: block;
    transition: 0.3s;
    padding: 0 2.6em;
    padding-bottom: 80px;
    background: var(--surface-variant);
    box-shadow:
        0 -70px 20px 0 rgba(164, 115, 99, 0),
        0 -45px 18px 0 rgba(164, 115, 99, 0),
        0 -25px 15px 0 rgba(164, 115, 99, 0.01),
        0 -11px 11px 0 rgba(164, 115, 99, 0.02),
        0 -3px 6px 0 rgba(164, 115, 99, 0.02);
    border-top-left-radius: var(--radius-4xl);
    border-top-right-radius: var(--radius-4xl);
    border: 1px solid var(--surface-border);
    border-bottom: none;
    text-align: center;
    position: relative;
    z-index: 0;
}

.pre-footer .grabber {
    width: 100px;
    height: 6px;
    border-radius: 3px;
    background: var(--surface-border);
    margin: 1em auto;
}

.pre-footer:hover {
    background: var(--steamclock-charcoal-800);
    --header: #FFF1D9;
    --link-hover: var(--header);
    transform: translateY(-24px) !important;
}

.pre-footer .icon-row {
    border-radius: 48px;
    display: flex;
    padding: 1em;
    justify-content: center;
    overflow: hidden;
}

.pre-footer .pre-footer-icon {
    transition: 0.3s;
    width: 100%;
    max-width: 244px;
    aspect-ratio: 1;
}

.pre-footer .pre-footer-icon.phone {
    background: image-set(url(/img/global/icon-phone-dark.webp) 1x,
            url(/img/global/icon-phone-dark%402x.webp) 2x,
            url(/img/global/icon-phone-dark%403x.webp) 3x) no-repeat center / contain;
}

.pre-footer .pre-footer-icon.browse {
    background: image-set(url(/img/global/icon-browse-dark.webp) 1x,
            url(/img/global/icon-browse-dark%402x.webp) 2x,
            url(/img/global/icon-browse-dark%403x.webp) 3x) no-repeat center / contain;
}

.pre-footer .pre-footer-icon.heart {
    background: image-set(url(/img/global/icon-heart-dark.webp) 1x,
            url(/img/global/icon-heart-dark%402x.webp) 2x,
            url(/img/global/icon-heart-dark%403x.webp) 3x) no-repeat center / contain;
}

.pre-footer .pre-footer-icon.message {
    background: image-set(url(/img/global/icon-message-dark.webp) 1x,
            url(/img/global/icon-message-dark%402x.webp) 2x,
            url(/img/global/icon-message-dark%403x.webp) 3x) no-repeat center / contain;
}

.pre-footer .pre-footer-icon.music {
    background: image-set(url(/img/global/icon-music-dark.webp) 1x,
            url(/img/global/icon-music-dark%402x.webp) 2x,
            url(/img/global/icon-music-dark%403x.webp) 3x) no-repeat center / contain;
}

.pre-footer:hover .pre-footer-icon.heart {
    background: url(/img/global/icon-heart-hover.webp) no-repeat center / auto 80%;
}

.pre-footer:hover .pre-footer-icon.phone {
    background: url(/img/global/icon-phone-hover.webp) no-repeat center / auto 80%;
}

.pre-footer:hover .pre-footer-icon.browse {
    background: url(/img/global/icon-browse-hover.webp) no-repeat center / auto 80%;
}

.pre-footer:hover .pre-footer-icon.message {
    background: url(/img/global/icon-message-hover.webp) no-repeat center / auto 80%;
}

.pre-footer:hover .pre-footer-icon.music {
    background: url(/img/global/icon-music-hover.webp) no-repeat center / auto 80%;
}

.pre-footer h1 {
    margin: var(--spacing-3xl) 0;
}

.main--footer {
    --body: var(--body-dark);
    --header: #FFF1D9;
    background: linear-gradient(180deg, #091A51 0%, #053695 100%);
    z-index: 10;
    position: relative;
    margin-top: -96px;
    border-top-left-radius: var(--radius-4xl);
    border-top-right-radius: var(--radius-4xl);
    padding-top: var(--spacing-6xl);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
}

.container--main--footer {
    flex-basis: max-content;
    gap: var(--spacing-3xl);
}

.studio--links {
    flex: 1 1 0;
}

.nav__menu--footer {
    line-height: 2em;
}

.studio--links .tag {
    --tag-border: var(--tag-border-dark);
    --tag: var(--tag-dark);
    padding: 6px 10px 4px 10px;
    font-size: 12px;
    border-radius: var(--radius-xs);
    bottom: 0.5em;
    margin-left: 0.5em;
}

.studio--links a {
    font-size: var(--type-xl);
    font-weight: 700;
}

.main--footer .hq {
    flex: 1 1 0;
    display: flex;
    gap: var(--spacing-md);
    flex-direction: column;
}

.main--footer .hq ul {
    display: flex;
}

.footer--page .nav__menu--socials {
    margin-bottom: 1em;
    gap: 0.25em;
}

.mailing-list {
    flex: 2 1 0;
}

.mailing-list .input--container {
    box-shadow: none;
}

.footer--page address {
    font-style: normal;
}

.footer--page a {
    --link: #FDF5E8A6;
}

.footer--page a:hover {
    --link-hover: #FDF5E8;
}

.steamclock-logo-decor {
    width: 100%;
    margin-top: 50px;
}

.steamclock-logo-decor--small {
    display: none;
}

.steamclock-stamp {
    position: absolute;
    top: -50px;
    right: 0;
    z-index: 10;
    transform: translateX(-25%);
}

.steamclock-stamp img {
    width: 100%;
}

.land-acknowledgement {
    text-align: center;
    color: color-mix(in srgb, var(--steamclock-mustard-100) 50%, transparent);
    padding: var(--spacing-md);
}

.card--blog-post {
    --padding: var(--spacing-3xl);
    display: flex;
    flex-direction: column;
    gap: var(--spacing-lg);
    background: var(--surface);
}

.card--blog-post .title--h6 {
    color: #0059ff;
}

.card--blog-post .button:hover {
    color: #0059FF;
}

.card--blog-post.has-icon {
    grid-template-columns: 0.5fr 1.5fr;
}

.card--blog-post .post--image {
    overflow: hidden;
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}

.card--blog-post .post--image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
    border-radius: var(--radius-2xl);
}

.card--blog-post.has-icon .post--image {
    aspect-ratio: 1;
    max-width: 250px;
    overflow: visible;
}

.card--blog-post.has-icon .eyebrow {
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
}

.card--blog-post.has-icon .eyebrow__icon {
    width: 100%;
    height: 100%;
    aspect-ratio: 1;
    font-size: var(--type-4xl);
    border-radius: var(--radius-2xl);
}

.card--blog-post.has-icon .blog-post-title {
    padding-inline-end: var(--spacing-lg);
}

.card--blog-post .post--content {
    align-self: stretch;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
}

.card--blog-post .post--content .tag {
    margin-top: var(--spacing-sm);
}

.card--blog-post h1 {
    --header-accent: var(--header);
}

/* Blog Post Title - Shared across all pages */
.card--blog-post .blog-post-title {
    font-weight: 300;
}

.card--blog-post .blog-post-title span {
    font-weight: 500;
    color: var(--header-accent);
}

.card--blog-post.show-custom-cursor:hover .blog-post-title,
.card--blog-post.show-custom-cursor:hover .blog-post-title span {
    color: var(--link-hover);
}

/* Post Content - Shared typography */
.post-content p {
    line-height: 1.6;
}

.post-content h2,
.post-content h3,
.post-content h4 {
    font-weight: 500;
}

.post-content ul,
.post-content ol {
    margin-inline: var(--spacing-lg);
}

.post-content ul li,
.post-content ol li {
    margin-block: var(--spacing-sm);
}

.post-meta {
    padding-block-start: var(--spacing-2xl);
}

.post-meta,
.post-content>*:not(blockquote, .post-image, lottie-player),
.section__header--blog-post {
    padding-inline: var(--padding);
}

/* Code Blocks */
.post-content code {
    font-family: Menlo, "Courier New", monospace;
    color: var(--code);
    font-size: 1rem;
    background: var(--surface-variant);
    padding: 3px 6px;
    border: 1px solid var(--surface-border);
    border-radius: 4px;
    text-wrap: wrap;
}

.post-content pre code {
    display: block;
}

/* Image Caption */
.image-caption {
    text-align: center;
}

/* Blockquote */
.post-content blockquote {
    font-style: italic;
    border-left: 3px solid var(--steamclock-sienna-200);
    padding-inline: var(--spacing-lg);
    margin-inline: var(--spacing-6xl);
}

.post-content blockquote ol,
.post-content blockquote ul {
    margin-inline: 0;
    padding-inline: 0;
}

.post-content .pullquote {
    font-size: var(--type-xl);
}

/* Lottie */
.card--blog-post lottie-player {
    margin: 0 auto;
}

/* ------------------------------ */
/*          Custom Cursor         */
/* ------------------------------ */
.cursor {
    position: fixed;
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background-color: black;
    pointer-events: none;
    z-index: 9999;
    opacity: 0;
    transform: translate(-50%, -50%);
}

.hover-cursor {
    width: 98px;
    height: 98px;
    padding: 0.5em;
    background-color: var(--steamclock-purple-800);
    border: 1px solid var(--surface-border);
    box-shadow: 0 2px 8px 0 rgba(0, 0, 0, 0.15);
    transition: opacity 0.3s;
    font-size: var(--type-xs);
    text-transform: uppercase;
    font-weight: 800;
    color: var(--steamclock-sienna-50);
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    gap: 0.25em;

    &.has-bg-image {
        background-color: var(--steamclock-purple-200);
        background-image: var(--cursor-bg);
        background-size: 85%;
        background-repeat: no-repeat;
        background-position: center;
    }
}

.show-custom-cursor {
    cursor: none;
}

.hide-custom-cursor {
    cursor: auto;
}

.show-custom-cursor:hover {
    transform: scale(1.025);
}

.section--hero {
    padding-block-start: calc(var(--spacing-4xl) + 83px);
}

.section--blog-signup .card {
    padding: var(--spacing-2xl);
}

.section--blog-signup .card h2 {
    margin: 0;
}

.section--blog-signup form {
    display: flex;
    align-items: center;
    gap: 1em;
}

.section--blog-signup form .input--container {
    flex: 1 1 0;
}

.container--related-posts {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.container--related-posts a:hover {
    --link-hover: var(--tint);
    --header: #FFF1D9;
    --button-text-light: var(--tint);
}

.card--archive {
    flex-direction: row;
    padding: var(--spacing-lg);
    gap: var(--spacing-lg);
    border-radius: var(--radius-xl);
}

.card--archive h2,
.card--archive p {
    margin: 0;
}

.card--archive h2 {
    font-weight: normal;
    line-height: initial;
}

.card--archive .post-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.section--blog-pagination {
    display: flex;
    align-items: center;
}

.section--blog-pagination a.button--primary {
    --button-text: #fff1d9 !important;
}

.section--blog-pagination .pagination {
    display: flex;
    align-items: center;
    gap: var(--spacing-sm);
}

.pagination .button--secondary i {
    color: #0059ff !important;
}

.pagination .button--secondary:hover i {
    color: #fff1d9 !important;
}

.steamoji {
    height: 1em;
    width: 1em;
    min-height: 24px;
    min-width: 24px;
    display: inline-block;
    vertical-align: middle;
}

.steamoji__app-store {
    background: url(/img/emoji/icon-app-store-c.svg) no-repeat center center !important;
    background-size: 100% !important;
}

.steamoji__app-store-ds {
    background: url(/img/emoji/icon-app-store-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__app-store-dw {
    background: url(/img/emoji/icon-app-store-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__genie {
    background: url(/img/emoji/icon-genie-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__genie-ds {
    background: url(/img/emoji/icon-genie-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__genie-dw {
    background: url(/img/emoji/icon-genie-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__gift {
    background: url(/img/emoji/icon-gift-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__gift-ds {
    background: url(/img/emoji/icon-gift-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__gift-dw {
    background: url(/img/emoji/icon-gift-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__gift {
    background: url(/img/emoji/icon-gift-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__gift-ds {
    background: url(/img/emoji/icon-gift-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__gift-dw {
    background: url(/img/emoji/icon-gift-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__heart {
    background: url(/img/emoji/icon-heart-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__heart-ds {
    background: url(/img/emoji/icon-heart-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__heart-dw {
    background: url(/img/emoji/icon-heart-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__hundred {
    background: url(/img/emoji/icon-hundred-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__hundred-ds {
    background: url(/img/emoji/icon-hundred-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__hundred-dw {
    background: url(/img/emoji/icon-hundred-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__laptop {
    background: url(/img/emoji/icon-laptop-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__laptop-ds {
    background: url(/img/emoji/icon-laptop-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__laptop-dw {
    background: url(/img/emoji/icon-laptop-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__loving {
    background: url(/img/emoji/icon-loving-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__loving-ds {
    background: url(/img/emoji/icon-loving-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__loving-dw {
    background: url(/img/emoji/icon-loving-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__party {
    background: url(/img/emoji/icon-party-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__party-ds {
    background: url(/img/emoji/icon-party-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__party-dw {
    background: url(/img/emoji/icon-party-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__phone {
    background: url(/img/emoji/icon-phone-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__phone-ds {
    background: url(/img/emoji/icon-phone-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__phone-dw {
    background: url(/img/emoji/icon-phone-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rainbow {
    background: url(/img/emoji/icon-rainbow-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rainbow-ds {
    background: url(/img/emoji/icon-rainbow-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rainbow-dw {
    background: url(/img/emoji/icon-rainbow-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__raised {
    background: url(/img/emoji/icon-raised-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__raised-ds {
    background: url(/img/emoji/icon-raised-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__raised-dw {
    background: url(/img/emoji/icon-raised-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__ramen {
    background: url(/img/emoji/icon-ramen-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__ramen-ds {
    background: url(/img/emoji/icon-ramen-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__ramen-dw {
    background: url(/img/emoji/icon-ramen-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rocket {
    background: url(/img/emoji/icon-rocket-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rocket-ds {
    background: url(/img/emoji/icon-rocket-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rocket-dw {
    background: url(/img/emoji/icon-rocket-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__snowflake {
    background: url(/img/emoji/icon-snowflake-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__snowflake-ds {
    background: url(/img/emoji/icon-snowflake-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__snowflake-dw {
    background: url(/img/emoji/icon-snowflake-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__sparkle {
    background: url(/img/emoji/icon-sparkle-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__sparkle-ds {
    background: url(/img/emoji/icon-sparkle-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__sparkle-dw {
    background: url(/img/emoji/icon-sparkle-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__stars {
    background: url(/img/emoji/icon-stars-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__stars-ds {
    background: url(/img/emoji/icon-stars-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__stars-dw {
    background: url(/img/emoji/icon-stars-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__thinking {
    background: url(/img/emoji/icon-thinking-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__thinking-ds {
    background: url(/img/emoji/icon-thinking-d.html) no-repeat center center;
    background-size: 100%;
}

.steamoji__thinking-dw {
    background: url(/img/emoji/icon-thinking-w.html) no-repeat center center;
    background-size: 100%;
}

.steamoji__umbrella {
    background: url(/img/emoji/icon-umbrella-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__umbrella-ds {
    background: url(/img/emoji/icon-umbrella-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__umbrella-dw {
    background: url(/img/emoji/icon-umbrella-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__wave {
    background: url(/img/emoji/icon-wave-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__wave-ds {
    background: url(/img/emoji/icon-wave-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__wave-dw {
    background: url(/img/emoji/icon-wave-w.svg) no-repeat center center;
    background-size: 100%;
}

.sc--marquee {
    --gap: 1rem;
    display: flex;
    user-select: none;
    gap: var(--gap);
}

.marquee--content {
    flex-shrink: 0;
    display: flex;
    justify-content: space-around;
    gap: var(--gap);
    animation: scroll 30s linear infinite;
    align-items: flex-end;
    -webkit-backface-visibility: hidden;
}

.marquee--content img {
    -webkit-transform: translate3d(0, 0, 0);
}

@keyframes scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-100% - var(--gap)));
    }
}

.marquee__reverse .marquee--content {
    animation-direction: reverse;
}

.marquee--content img {
    display: block;
}

@keyframes marqueeLoop {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}


.mobile--nav {
    background: var(--body-background);
    position: fixed;
    height: 100vh;
    z-index: 100;
    opacity: 0;
    transition: opacity 0.3s ease;
    top: 0;
    width: 100%;
    display: none;
    overflow-y: auto;
    overflow-x: hidden;
}

.mobile--nav.show {
    opacity: 1;
}

.mobile--links__wrapper {
    flex-direction: row !important;
    gap: 0 !important;
    padding-block-start: 81px;
}

.mobile--nav ul {
    margin: 0;
    font-size: 1em;
}

.mobile--nav li {
    padding: 1em 2rem;
    border-bottom: 1px solid #0059FF;
}

.mobile--nav li.home {
    display: flex;
    justify-content: space-between;
    align-items: center;
    background: var(--body-background);
    z-index: 10;
    position: fixed;
    width: 100%;
}

.mobile--nav li.home a.button--secondary {
    padding: 0;
    aspect-ratio: 1;
    width: 44px;
    height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
}

.mobile--nav li.contact {
    border-bottom: none;
}

.mobile--nav li:not(.home) a {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
    justify-content: space-between;
}

.mobile--nav li.contact a {
    justify-content: center;
    color: #0059FF !important;
    border: 1px solid #0059FF !important;
    border-radius: var(--radius-full) !important;
}

/* Hide redundant text in logo */
.logo.steamclock-logo-masked {
    text-indent: -9999px !important;
    color: transparent !important;
    overflow: hidden !important;
    display: block !important;
    width: 220px !important;
    height: 50px !important;
}

.mobile--nav li:not(.home) a .content {
    width: 100%;
}

.mobile--nav li:not(.home) a p {
    margin: 0;
}

.mobile--nav li:not(.home) a p:first-child {
    color: var(--header);
}

.mobile--nav li:not(.home) img.icon {
    max-width: 44px;
}

.mobile--nav a.button {
    justify-content: center;
}

.mobile--nav .main--links,
.mobile--nav .work--links {
    transition: transform 0.3s ease-in-out;
    width: 100%;
}

.mobile--nav .work--links {
    /* Initially hidden off-screen to the right */
    transform: translateX(100vw);
}

.mobile--nav .main--links {
    /* Initially visible */
    transform: translateX(0);
}

/* Back button styling */
.mobile--nav .nav__item--back .eyebrow__icon {
    --tint: var(--steamclock-purple-500);
}

.mobile--nav ul {
    position: relative;
    min-height: 100vh;
}

/* Ensure smooth transitions for all nav items */
.mobile--nav li {
    transition: transform 0.3s ease-in-out;
}

/* Fix for any potential z-index issues */
.mobile--nav .main--links {
    z-index: 1;
    min-height: 100vh;
}

.mobile--nav .work--links {
    z-index: 2;
    min-height: 100vh;
}

/* LEGACY CLEANUP */

.client-quote .card {
    padding: var(--spacing-sm);
    display: flex;
    gap: var(--spacing-sm);
}

.client-quote .card div.quote-content {
    padding: var(--spacing-xl) var(--spacing-2xl);
    border-radius: var(--radius-2xl);
    display: grid;
    /* Changed from flex to grid */
}

.client-quote .quote-item {
    grid-row: 1;
    grid-column: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xl);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
    justify-content: space-between;
}

.client-quote .card img {
    max-width: 72px;
}

.client-quote .card img.avatar {
    border-radius: 72px;
}

.client-quote .card p {
    margin: 0;
    color: var(--header);
    font-style: italic;
}

.client-quote .card cite p {
    font-style: normal;
}

.client-quote .card cite p:nth-child(2) {
    color: #0C1320A6;
}

section.section--expertise.fill--noise p.p--lg {
    color: #FDF5E8A6;
}

p.p--sm {
    color: #FDF5E8A6;
}

.card.card--labs p.p--sm {
    color: #073C9F;
}

.card.card--labs:hover p.p--sm {
    color: #FDF5E8A6;
}

.card.card--labs:hover .tag {
    border: 1px solid #FDF5E8A6;
}

.button-read-more {
    margin-bottom: 0.888rem;
}

.section__header.section__header--about {
    align-items: flex-start;
}

.hide__desktop {
    display: none;
}

/* Hero Animations */

[sc--animate="blur__in"] {
    opacity: 0;
    animation:
        fade-in 0.8s cubic-bezier(0.26, 0.17, 0.11, 1) forwards,
        move-up 0.8s cubic-bezier(0.26, 0.17, 0.11, 1) forwards;
}

.hero--content>*:nth-child(1),
.grid--contact>*:nth-child(1) {
    animation-delay: 0.15s;
}

.hero--content>*:nth-child(2),
.grid--contact>*:nth-child(2) {
    animation-delay: 0.25s;
}

.hero--content>*:nth-child(3),
.sc--marquee,
.hero--media,
.grid--contact>*:nth-child(3),
.poster {
    animation-delay: 0.3s;
}

.nav--desktop {
    animation: fade-in 0.8s cubic-bezier(0.26, 0.17, 0.11, 1) forwards;
}

@keyframes fade-in {
    from {
        opacity: 0;
        filter: blur(8px);
    }

    to {
        opacity: 1;
        filter: blur(0px);
    }
}

@keyframes move-up {
    from {
        transform: translateY(20px);
    }

    to {
        transform: translateY(0px);
    }
}

/* Counter */
.staggered-countdown {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    width: max-content;
}

.countdown-digits {
    position: relative;
    overflow: hidden;
    height: 1em;
    display: inline-flex;
    align-items: center;
    min-width: max-content;
    padding-inline-end: 0.075em;
}

.digit-wrapper {
    position: relative;
    height: 0.5em;
    display: inline-flex;
    align-items: center;
    min-width: 0.6em;
    justify-content: center;
}

.digit {
    font-variant-numeric: tabular-nums;
    display: inline-block;
    line-height: 1;
    text-align: center;
    width: 100%;
    position: absolute;
}

.comma {
    display: inline-block;
    line-height: 1;
    min-width: 0.3em;
}

.prefix,
.suffix {
    display: inline-block;
}

/* Portfolio Work Page Layout */
.body.page--work .grid--projects {
    display: flex !important;
    flex-direction: column !important;
    gap: 120px !important;
    padding-block: var(--spacing-xl) !important;
    width: 100% !important;
    max-width: 100% !important;
    /* overflow-x: hidden !important; */
}

.body.page--work .project-row {
    display: flex !important;
    flex-direction: row !important;
    gap: 96px !important;
    align-items: center !important;
    width: 100% !important;
    justify-content: space-between !important;
}

.body.page--work .project-row--alt {
    flex-direction: row-reverse !important;
}

.body.page--work .project-row .card {
    flex: 1 !important;
    max-width: 632px !important;
    display: block !important;
}

.body.page--work .project-row .project-img {
    width: 100% !important;
    height: auto !important;
    border-radius: var(--radius-4xl) !important;
    display: block !important;
}

.body.page--work .project-row .project-meta {
    flex: 1 !important;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-md) !important;
    max-width: 480px !important;
}

.body.page--work .project-row .app-icon {
    width: 72px !important;
    height: 72px !important;
    margin-bottom: var(--spacing-sm);
}

.body.page--work .project-row .meta h3 {
    margin: 0 !important;
}

.body.page--work .project-row .meta h4 {
    margin-top: 0.5em !important;
}

/* Project Specific Buttons */
.body.page--work .button--wealthbar:hover {
    background-color: var(--clients-wealthbar) !important;
    border-color: var(--clients-wealthbar) !important;
    color: white !important;
}

.body.page--work .button--ridwell:hover {
    background-color: var(--clients-ridwell) !important;
    border-color: var(--clients-ridwell) !important;
    color: white !important;
}

.body.page--work .button--twospies:hover {
    background-color: var(--projects-spies) !important;
    border-color: var(--projects-spies) !important;
    color: white !important;
}

.body.page--work .button--ora:hover {
    background-color: var(--clients-ora) !important;
    border-color: var(--clients-ora) !important;
    color: white !important;
}

.body.page--work .button--arcteryx:hover {
    background-color: var(--clients-arcteryx) !important;
    border-color: var(--clients-arcteryx) !important;
    color: white !important;
}

.body.page--work .button--internet:hover {
    background-color: var(--clients-internet) !important;
    border-color: var(--clients-internet) !important;
    color: white !important;
}

/* Labs Grid */
.body.page--work .grid--labs {
    display: flex !important;
    flex-wrap: wrap !important;
    gap: var(--spacing-xl) !important;
    padding-block: var(--spacing-xl) !important;
    width: 100% !important;
}

.body.page--work .card--labs {
    flex: 1 1 320px !important;
    max-width: calc(33.333% - var(--spacing-xl)) !important;
    padding: var(--spacing-xl) !important;
    background: var(--surface) !important;
    border-radius: var(--radius-3xl) !important;
    display: flex !important;
    flex-direction: column !important;
    gap: var(--spacing-md) !important;
    transition: 0.3s !important;
    text-decoration: none !important;
}

@media (max-width: 1100px) {
    .body.page--work .card--labs {
        max-width: calc(50% - var(--spacing-xl)) !important;
    }
}

.body.page--work .card--labs:hover {
    background: var(--hover-background, var(--steamclock-purple-800)) !important;
    color: #FFF1D9 !important;
}

.body.page--work .card--labs .post--image img {
    width: 72px !important;
    height: auto !important;
}

@media (max-width: 900px) {
    .body.page--work .grid--projects {
        gap: 64px !important;
    }

    .grid--services {
        display: grid;
        grid-template-columns: repeat(1, 1fr) !important;
    }

    .section--hero {
        padding-block-start: calc(var(--spacing-4xl) + 40px);
    }

    .page--expertise .hero--content {
        gap: 0 !important;
        display: flex;
        flex-direction: column;
        text-align: left;
    }

    .body.page--work .project-row,
    .body.page--work .project-row--alt {
        flex-direction: column !important;
        gap: var(--spacing-xl) !important;
        text-align: left !important;
        align-items: flex-start !important;
    }

    .body.page--work .project-row .project-meta {
        align-items: flex-start !important;
        max-width: 100% !important;
    }

    .body.page--work .card--labs {
        max-width: 100% !important;
        flex: 1 1 100% !important;
    }

    .section--process header {
        padding-block-end: var(--spacing-2xl);
    }
}


/* ====== BLOG PAGE STYLES ====== */

.main--page__blog {
    padding-block-end: var(--spacing-2xl);
    gap: var(--spacing-2xl);
}

.section--blog {
    --padding: var(--spacing-3xl);
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-4xl);
    background: var(--surface);
}

.hero__blog {
    padding-block-start: 0;
    min-height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
}


.container--related-posts {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.container--related-posts a:hover {
    --link-hover: var(--tint);
    --header: #FFF1D9;
    --button-text-light: var(--tint);
}

.card--archive {
    flex-direction: row;
    padding: var(--spacing-lg);
    gap: var(--spacing-lg);
    border-radius: var(--radius-xl);
}

.card--archive h2,
.card--archive p {
    margin: 0;
}

.card--archive h2 {
    font-weight: normal;
    line-height: initial;
}

.card--archive .post-content {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}


.steamoji {
    height: 1em;
    width: 1em;
    min-height: 24px;
    min-width: 24px;
    display: inline-block;
    vertical-align: middle;
}

.steamoji__app-store {
    background: url(../img/emoji/icon-app-store-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__app-store-ds {
    background: url(../img/emoji/icon-app-store-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__app-store-dw {
    background: url(../img/emoji/icon-app-store-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__genie {
    background: url(../img/emoji/icon-genie-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__genie-ds {
    background: url(../img/emoji/icon-genie-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__genie-dw {
    background: url(../img/emoji/icon-genie-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__gift {
    background: url(../img/emoji/icon-gift-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__gift-ds {
    background: url(../img/emoji/icon-gift-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__gift-dw {
    background: url(../img/emoji/icon-gift-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__heart {
    background: url(../img/emoji/icon-heart-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__heart-ds {
    background: url(../img/emoji/icon-heart-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__heart-dw {
    background: url(../img/emoji/icon-heart-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__hundred {
    background: url(../img/emoji/icon-hundred-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__hundred-ds {
    background: url(../img/emoji/icon-hundred-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__hundred-dw {
    background: url(../img/emoji/icon-hundred-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__laptop {
    background: url(../img/emoji/icon-laptop-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__laptop-ds {
    background: url(../img/emoji/icon-laptop-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__laptop-dw {
    background: url(../img/emoji/icon-laptop-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__loving {
    background: url(../img/emoji/icon-loving-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__loving-ds {
    background: url(../img/emoji/icon-loving-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__loving-dw {
    background: url(../img/emoji/icon-loving-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__party {
    background: url(../img/emoji/icon-party-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__party-ds {
    background: url(../img/emoji/icon-party-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__party-dw {
    background: url(../img/emoji/icon-party-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__phone {
    background: url(../img/emoji/icon-phone-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__phone-ds {
    background: url(../img/emoji/icon-phone-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__phone-dw {
    background: url(../img/emoji/icon-phone-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rainbow {
    background: url(../img/emoji/icon-rainbow-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rainbow-ds {
    background: url(../img/emoji/icon-rainbow-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rainbow-dw {
    background: url(../img/emoji/icon-rainbow-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__raised {
    background: url(../img/emoji/icon-raised-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__raised-ds {
    background: url(../img/emoji/icon-raised-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__raised-dw {
    background: url(../img/emoji/icon-raised-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__ramen {
    background: url(../img/emoji/icon-ramen-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__ramen-ds {
    background: url(../img/emoji/icon-ramen-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__ramen-dw {
    background: url(../img/emoji/icon-ramen-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rocket {
    background: url(../img/emoji/icon-rocket-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rocket-ds {
    background: url(../img/emoji/icon-rocket-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__rocket-dw {
    background: url(../img/emoji/icon-rocket-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__snowflake {
    background: url(../img/emoji/icon-snowflake-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__snowflake-ds {
    background: url(../img/emoji/icon-snowflake-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__snowflake-dw {
    background: url(../img/emoji/icon-snowflake-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__sparkle {
    background: url(../img/emoji/icon-sparkle-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__sparkle-ds {
    background: url(../img/emoji/icon-sparkle-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__sparkle-dw {
    background: url(../img/emoji/icon-sparkle-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__stars {
    background: url(../img/emoji/icon-stars-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__stars-ds {
    background: url(../img/emoji/icon-stars-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__stars-dw {
    background: url(../img/emoji/icon-stars-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__thinking {
    background: url(../img/emoji/icon-thinking-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__thinking-ds {
    background: url(../img/emoji/icon-thinking-d.html) no-repeat center center;
    background-size: 100%;
}

.steamoji__thinking-dw {
    background: url(../img/emoji/icon-thinking-w.html) no-repeat center center;
    background-size: 100%;
}

.steamoji__umbrella {
    background: url(../img/emoji/icon-umbrella-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__umbrella-ds {
    background: url(../img/emoji/icon-umbrella-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__umbrella-dw {
    background: url(../img/emoji/icon-umbrella-w.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__wave {
    background: url(../img/emoji/icon-wave-c.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__wave-ds {
    background: url(../img/emoji/icon-wave-d.svg) no-repeat center center;
    background-size: 100%;
}

.steamoji__wave-dw {
    background: url(../img/emoji/icon-wave-w.svg) no-repeat center center;
    background-size: 100%;
}

.sc--marquee {
    --gap: 1rem;
    display: flex;
    user-select: none;
    gap: var(--gap);
}

.marquee--content {
    flex-shrink: 0;
    display: flex;
    justify-content: space-around;
    gap: var(--gap);
    animation: scroll 30s linear infinite;
    align-items: flex-end;
    -webkit-backface-visibility: hidden;
}

.marquee--content img {
    -webkit-transform: translate3d(0, 0, 0);
}

@keyframes scroll {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(calc(-100% - var(--gap)));
    }
}

.marquee__reverse .marquee--content {
    animation-direction: reverse;
}

.marquee--content img {
    display: block;
}

@keyframes marqueeLoop {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}

/* LEGACY CLEANUP */

.client-quote .card {
    padding: var(--spacing-sm);
    display: flex;
    gap: var(--spacing-sm);
}

.client-quote .card div.quote-content {
    padding: var(--spacing-xl) var(--spacing-2xl);
    border-radius: var(--radius-2xl);
    display: grid;
    /* Changed from flex to grid */
}

.client-quote .quote-item {
    grid-row: 1;
    grid-column: 1;
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xl);
    opacity: 0;
    visibility: hidden;
    transition:
        opacity 0.3s ease,
        visibility 0.3s ease;
    justify-content: space-between;
}

.client-quote .card img {
    max-width: 72px;
}

.client-quote .card img.avatar {
    border-radius: 72px;
}

.client-quote .card p {
    margin: 0;
    color: var(--header);
    font-style: italic;
}

.client-quote .card cite p {
    font-style: normal;
}

.client-quote .card cite p:nth-child(2) {
    color: #0059FF;
}

.button-read-more {
    margin-bottom: 0.888rem;
}

.hide__desktop {
    display: none;
}

/* Hero Animations */

[sc--animate="blur__in"] {
    opacity: 0;
    animation:
        fade-in 0.8s cubic-bezier(0.26, 0.17, 0.11, 1) forwards,
        move-up 0.8s cubic-bezier(0.26, 0.17, 0.11, 1) forwards;
}

.hero--content>*:nth-child(1),
.grid--contact>*:nth-child(1) {
    animation-delay: 0.15s;
}

.hero--content>*:nth-child(2),
.grid--contact>*:nth-child(2) {
    animation-delay: 0.25s;
}

.hero--content>*:nth-child(3),
.sc--marquee,
.hero--media,
.grid--contact>*:nth-child(3),
.poster {
    animation-delay: 0.3s;
}

.nav--desktop {
    animation: fade-in 0.8s cubic-bezier(0.26, 0.17, 0.11, 1) forwards;
}

@keyframes fade-in {
    from {
        opacity: 0;
        filter: blur(8px);
    }

    to {
        opacity: 1;
        filter: blur(0px);
    }
}

@keyframes move-up {
    from {
        transform: translateY(20px);
    }

    to {
        transform: translateY(0px);
    }
}

/* Counter */
.staggered-countdown {
    position: relative;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    overflow: visible;
    width: max-content;
}

.countdown-digits {
    position: relative;
    overflow: hidden;
    height: 1em;
    display: inline-flex;
    align-items: center;
    min-width: max-content;
    padding-inline-end: 0.075em;
}

.digit-wrapper {
    position: relative;
    height: 0.5em;
    display: inline-flex;
    align-items: center;
    min-width: 0.6em;
    justify-content: center;
}

.digit {
    font-variant-numeric: tabular-nums;
    display: inline-block;
    line-height: 1;
    text-align: center;
    width: 100%;
    position: absolute;
}

.comma {
    display: inline-block;
    line-height: 1;
    min-width: 0.3em;
}

.prefix,
.suffix {
    display: inline-block;
}

.mc-field-group {
    width: 100%;
}

/* ============================================================ */
/*                  About Page Layout                           */
/* ============================================================ */

/* Main page layout */
.main--page__about {
    gap: var(--spacing-6xl);
    padding-block-end: 0;
}

/* ------------------------------ */
/*           Hero Section         */
/* ------------------------------ */
.hero__about {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-2xl);
    padding-block-start: calc(var(--spacing-4xl) + 83px);
    overflow: hidden;
}

.hero--content__about {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: var(--spacing-lg);
    text-align: left;
}

.hero--content__about .wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.hero--content__about .hero__title {
    margin: 0;
}

.hero--content__about .page__description {
    margin: 0;
    max-width: 540px;
}

.hero--media__about {
    display: flex;
    align-items: stretch;
    justify-content: center;
    width: 100%;
}

/* .team-photo-banner {
    width: 100%;
    overflow: hidden;
    border-radius: var(--radius-3xl) var(--radius-3xl) 0 0;
    max-height: 520px;
} */

/* .team-photo-banner picture,
.team-photo-banner img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: center top;
    display: block;
} */

/* ------------------------------ */
/*          Intro Section         */
/* ------------------------------ */
.section--intro .container {
    padding-block: var(--spacing-xl);
}

.section__header--intro {
    flex-direction: column;
}

.section__header--intro h2 {
    font-size: var(--type-4xl);
    margin: 0;
}

.section__header--intro p {
    margin: 0;
}

/* ------------------------------ */
/*         Values Section         */
/* ------------------------------ */
.section--values .container {
    padding-block: var(--spacing-xl);
}

.grid--values,
.grid.grid--values {
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: 1fr 2fr;
    gap: var(--spacing-2xl);
    align-items: start;
}

.grid--values .section__title {
    margin: 0;
    font-weight: 400;
    color: var(--body-accent);
}

.values--list,
.grid.values--list {
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-xl) var(--spacing-2xl);
}

.value {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.value--title {
    font-weight: 700;
    color: var(--header);
    margin: 0;
    font-size: var(--type-lg);
}

.value--text {
    margin: 0;
}

/* ------------------------------ */
/*        Studio / Team Section   */
/* ------------------------------ */
.section--studio .container {
    padding-block-start: 0;
}

.section__header--studio {
    margin-bottom: var(--spacing-2xl);
}

.section__header--studio .eyebrow {
    margin-bottom: var(--spacing-sm);
}

.section__header--studio h2 {
    margin: 0;
}

.grid--team,
.grid.grid--team {
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: repeat(3, 1fr);
    gap: var(--spacing-md);
}

.grid--team .card {
    --border-radius: var(--radius-3xl);
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    padding: var(--spacing-lg);
    gap: var(--spacing-lg);
    overflow: hidden;
    cursor: none;
}

.grid--team .card img {
    width: 100%;
    border-radius: var(--radius-2xl);
    aspect-ratio: 4 / 3;
    object-fit: cover;
    object-position: top center;
    display: block;
    margin-top: auto;
}

.grid--team strong {
    color: #0059FF;
}

.grid--team .card:hover strong {
    color: #fdead9;
}

.grid--team .card:hover .steamclocker__intro {
    color: #fdead9;
}

.team__bio {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
}

.steamclocker__intro {
    margin: 0;
    color: var(--body-accent);
}

.steamclocker__bio {
    margin: 0;
    color: var(--body);
}

.steamclocker__socials {
    display: flex;
    gap: var(--spacing-sm);
    align-items: center;
    margin: 0;
    margin-top: var(--spacing-xs);
}

.steamclocker__socials a {
    font-size: var(--type-md);
    color: var(--body);
}

.steamclocker__socials a:hover {
    color: var(--link-hover);
}

/* ------------------------------ */
/*         Board Section          */
/* ------------------------------ */
.section--board .container {
    padding-block: var(--spacing-xl);
}

.grid--steamclock-board,
.grid.grid--steamclock-board {
    display: grid;
    grid-auto-flow: row;
    grid-auto-columns: auto;
    grid-template-columns: 1fr 1fr;
    gap: var(--spacing-2xl);
    align-items: center;
}

.grid--steamclock-board img {
    width: 100%;
    border-radius: var(--radius-3xl);
    object-fit: cover;
    display: block;
}

.grid--steamclock-board .wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
}

.grid--steamclock-board h3 {
    margin: 0;
}

.grid--steamclock-board p {
    margin: 0;
}

/* ------------------------------ */
/*        Careers Section         */
/* ------------------------------ */
.section--careers .container {
    padding-block-start: 0;
}

.section__header--careers {
    margin-bottom: var(--spacing-2xl);
}

.section__header--careers .eyebrow {
    margin-bottom: var(--spacing-sm);
}

.section__header--careers h2 {
    margin: 0;
}

.section--careers .p--xl {
    margin-bottom: var(--spacing-md);
    max-width: 720px;
}

.section--careers .content {
    margin-top: var(--spacing-3xl);
}

.content__title {
    margin-bottom: var(--spacing-md);
}

/* Benefits Grid */
.grid--benefits {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-md);
    margin-top: var(--spacing-xl);
}

.grid--benefits .row {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: 1fr;
    gap: var(--spacing-md);
}

.perk {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-xs);
    padding: var(--spacing-lg);
    border: 1px solid var(--surface-border);
    border-radius: var(--radius-xl);
    background: var(--surface);
}

.perk .eyebrow {
    margin-bottom: var(--spacing-xs);
}

.perk .p--lg {
    margin: 0;
    font-weight: 700;
    color: var(--body-accent);
}

.perk .p--xs {
    margin: 0;
    color: #0059FF;
}

/* Extra Perks */
.extra-perks {
    padding-block: var(--spacing-xl);
    margin-top: var(--spacing-xl);
}

.extra-perks header {
    margin-bottom: var(--spacing-lg);
}

.flex--extra-perks {
    display: flex;
    flex-wrap: wrap;
    gap: var(--spacing-sm) var(--spacing-lg);
    justify-content: center;
}

.flex--extra-perks .flex {
    align-items: center;
    gap: var(--spacing-xs);
    font-size: var(--type-sm);
    color: #0059FF;
}

.flex--extra-perks i {
    color: var(--header-accent);
}

/* ------------------------------ */
/*          Roles Section         */
/* ------------------------------ */
.section--roles {
    padding-block: var(--spacing-4xl);
}

.section--roles h2 {
    margin-bottom: var(--spacing-xl);
}

.flex--empty-careers {
    display: flex;
    gap: var(--spacing-xl);
    align-items: center;
    padding: var(--spacing-xl);
    border: 1px solid var(--surface-border);
    border-radius: var(--radius-3xl);
    background: var(--surface);
}

.flex--empty-careers .wrapper {
    display: flex;
    flex-direction: column;
    gap: var(--spacing-sm);
}

.flex--empty-careers .title--h5 {
    margin: 0;
}

.flex--empty-careers .p--md {
    margin: 0;
}

/* ============================================================ */
/*            About Page — Responsive Breakpoints              */
/* ============================================================ */

@media only screen and (max-width: 1024px) {
    .grid--team {
        grid-template-columns: repeat(2, 1fr);
    }

    .grid--values {
        grid-template-columns: 1fr;
        gap: var(--spacing-xl);
    }
}

@media only screen and (max-width: 768px) {

    /* Hero */
    .hero__about {
        padding-block-start: calc(var(--spacing-3xl) + 83px);
        gap: var(--spacing-xl);
    }

    .hero--content__about {
        text-align: left;
    }

    .section--intro .container {
        padding-block: unset;
    }

    .section--values .container {
        padding-block: unset;
    }

    .team-photo-banner {
        border-radius: var(--radius-2xl) var(--radius-2xl) 0 0;
    }

    /* Values */
    .values--list {
        grid-template-columns: 1fr;
        gap: var(--spacing-lg);
    }

    /* Team */
    .grid--team {
        grid-template-columns: 1fr;
    }

    /* Board */
    .grid--steamclock-board {
        grid-template-columns: 1fr;
        gap: var(--spacing-xl);
    }

    /* Careers */
    .grid--benefits .row {
        grid-auto-flow: row;
        grid-auto-columns: 1fr;
        grid-template-columns: 1fr;
    }

    .flex--empty-careers {
        flex-direction: column;
        text-align: left;
        align-items: flex-start;
    }

    .section--roles {
        padding-block: var(--spacing-2xl);
    }

    /* Extra Perks */
    .flex--extra-perks {
        flex-direction: column;
        align-items: flex-start;
    }
}

@media only screen and (max-width: 480px) {
    .hero--content__about .page__description {
        max-width: 100%;
    }

    .perk {
        padding: var(--spacing-md);
    }
}