/* Homepage sections: each section has its own namespace. */
.home-hero {
    height: 50.375rem;
    position: relative;
    background: url(../img/home/hero-background.png) center/100% 100% no-repeat;
    overflow: hidden
}

.home-hero__inner {
    height: 100%;
    position: relative
}

.home-hero__copy {
    position: relative;
    z-index: 2;
    padding-top: 15.5rem;
    width: 42rem
}

.home-hero__eyebrow {
    font-family: "Gilroy", "Arial", sans-serif;
    font-size: 1.875rem;
    line-height: 2.125rem;
    color: var(--purple);
    margin-bottom: 1.375rem
}

.home-hero :is(h1, h2) {
    font-size: 3.75rem;
    line-height: 1.27;
    letter-spacing: -.1rem;
    white-space: nowrap;
    margin-bottom: .875rem
}

.home-hero__description {
    font-size: 1.375rem;
    line-height: 2.375rem;
    margin-bottom: 2.5rem;
    max-width: 42rem
}

.home-hero .button {
    width: 15rem
}

.home-hero .button-row {
    gap: 2.125rem
}

.home-hero__main {
    position: absolute;
    left: 50.25rem;
    top: 4rem;
    width: 41.8125rem;
    height: 41.875rem;
    object-fit: contain;
    z-index: 1
}

.home-hero__small {
    position: absolute;
    left: 89.9375rem;
    top: 19.625rem;
    width: 16.3125rem;
    height: 15.4375rem;
    object-fit: contain;
    z-index: 1
}

.home-hero__tiny {
    position: absolute;
    left: 48.375rem;
    top: 8.125rem;
    width: 13.5625rem;
    height: 13.9375rem;
    object-fit: contain;
    z-index: 1
}

.home-hero__shadow {
    position: absolute;
    left: 51.875rem;
    top: 39.6875rem;
    width: 39.125rem;
    height: 8.875rem;
    object-fit: contain
}

.home-hero__shadow-small {
    position: absolute;
    left: 90.6875rem;
    top: 40.5rem;
    width: 18.0625rem;
    height: 4.625rem;
    object-fit: contain
}

.home-hero__indicators {
    position: absolute;
    bottom: 3.75rem;
    left: 50%;
    transform: translateX(-50%);
    width: 7.5rem;
    height: auto
}

.home-solution {
    padding: 8rem 0 7rem;
    min-height: 65.75rem
}

.home-solution h2,
.home-featured h2,
.home-cases h2,
.home-partners h2,
.home-reasons h2,
.home-resources h2 {
    font-size: 3.75rem;
    line-height: 1.167
}

.home-solution h2+p {
    margin-top: .75rem;
    font-size: 1.375rem
}

.home-solution__grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 3.125rem;
    margin-top: 3.75rem
}

.home-solution__step-title {
    display: flex;
    gap: 1.5rem;
    align-items: center;
    margin-bottom: 2rem
}

.home-solution__step-title>span {
    position: relative;
    width: 6.25rem;
    flex-shrink: 0;
    display: grid;
    place-items: center
}

.home-solution__step-title>span img {
    width: 6.25rem;
    height: auto
}

.home-solution__step-title b {
    position: absolute;
    color: #fff;
    font: 2.75rem Impact, sans-serif
}

.home-solution__step-title h3 {
    font-size: 1.875rem;
    color: var(--purple);
    letter-spacing: -.0625rem
}

.home-solution__step-title p {
    font-size: 1.25rem;
    white-space: nowrap
}

.home-solution__fields {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 1.625rem 2rem
}

.home-solution__fields button {
    text-align: left;
    font-size: 1.25rem
}

.home-solution__fields img {
    width: 100%;
    height: 8.25rem;
    object-fit: cover;
    border-radius: 1rem;
    margin-bottom: .625rem
}

.home-solution__fields button[aria-pressed=true] img {
    /* outline: 3px solid var(--teal); */
    outline-offset: 3px
}

.home-solution__questions {
    display: grid;
    gap: 1.125rem
}

.home-solution__questions button {
    display: flex;
    align-items: center;
    gap: 1.5rem;
    border-bottom: 1px solid #e2e5ed;
    min-height: 5.125rem;
    text-align: left;
    font-size: 1.25rem;
    line-height: 1.4
}

.home-solution__questions img {
    max-height: 2.8rem;
    object-fit: contain;
    flex-shrink: 0
}

.home-solution__questions button[aria-pressed=true] {
    color: var(--purple);
    border-color: var(--teal);
    background: #f4fafb
}

.home-solution__purchase>.home-solution__model {
    display: flex;
    align-items: center;
    gap: 2rem;
    width: 100%;
    min-height: 10.625rem;
    padding: 2.25rem;
    border: 1px solid var(--line);
    border-radius: 1.25rem;
    margin-bottom: 1.875rem;
    text-align: left
}

.home-solution__purchase>.home-solution__model>img {
    width: 5.125rem;
    height: 5.125rem;
    object-fit: contain
}

.home-solution__purchase strong {
    font-size: 1.875rem;
    color: var(--purple);
    font-weight: 400;
    display: block;
    white-space: nowrap
}

.home-solution__purchase small {
    display: block;
    font-size: 1.25rem;
    white-space: nowrap;
    margin-top: .5rem
}

.home-solution__purchase .home-solution__model>span:last-child {
    margin-left: auto
}

.home-solution__purchase>.home-solution__model:hover,
.home-solution__purchase>.home-solution__model[aria-pressed=true] {
    border-color: var(--teal);
    background: #edf7f8
}

.home-solution__purchase>.home-solution__consult {
    display: flex;
    width: 100%;
    height: 100px;
    font-size: 1.5rem;
    margin-top: 1.625rem;
    padding: 1rem 4rem;
    border-radius: 1.25rem;
    gap: .5rem;
    align-items: center;
}

.home-solution__purchase>.home-solution__consult .button__arrow {
    filter: brightness(0) invert(100%);
}

.home-featured {
    min-height: 56.25rem;
    padding: 8.75rem 0 7rem;
    background: url(../img/home/featured-background.png) center/cover;
    overflow: hidden
}

.home-featured__heading {
    display: flex;
    align-items: center;
    gap: 3rem;
    justify-content: space-between
}

.home-featured__heading h2 {
    font-family: "Gilroy", "Arial", sans-serif;
    font-weight: 400;
    letter-spacing: -.075rem;
    white-space: nowrap
}

.home-featured__heading p {
    margin-top: .75rem;
    font-size: 1.375rem
}

.home-featured__tabs {
    flex-wrap: nowrap;
    gap: .875rem;
    align-self: flex-start;
    margin-top: 1rem
}

.home-featured__tabs button {
    min-width: 0;
    padding: .75rem 1rem;
    white-space: nowrap
}

.home-featured__carousel {
    display: grid;
    grid-template-columns: 11.25rem 1fr;
    gap: 2rem;
    margin-top: 3.5rem
}

.home-featured__controls {
    align-self: end;
    position: relative;
    z-index: 1000;
}

.home-featured__controls>p {
    font-size: 1.375rem;
    color: var(--purple);
    margin-bottom: 2rem
}

.home-featured__controls>div {
    display: flex;
    gap: 1.25rem
}

.home-featured__controls button {
    width: 5rem;
    height: 5rem;
    border: 1px solid #c4c1dd;
    color: var(--purple);
    border-radius: .375rem;
    font-size: 2rem;
    background: #fff;
}

.home-featured__controls button:hover {
    background: var(--teal);
    color: #fff;
}

.home-featured__controls button:hover img {
    filter: brightness(0) invert(100%);
}

.home-featured__track {
    display: flex;
    gap: 3rem;
    transition: transform .5s;
    min-width: 0;
    align-items: stretch
}

.home-featured__track .product-card {
    flex: 0 0 76.875rem;
    grid-template-columns: 43.75rem 1fr;
    background: none;
    border-radius: 0;
    overflow: visible
}

.home-featured__track .product-card__copy {
    padding: 7.4rem 0 0 0;
    align-self: start
}

.home-featured__track .product-card__image {
    left: 4.5625rem
}

.home-featured__track .product-card__origin {
    left: 9.25rem
}

.home-featured__track .product-card__copy h3 {
    font-size: 2.125rem
}

.home-featured__empty {
    margin-top: 4rem
}

.home-cases {
    min-height: 69.375rem;
    padding: 8.5rem 0;
    background: url(../img/home/cases-background.png) center/cover;
    overflow: hidden
}

.home-cases .section-heading p {
    font-size: 1.375rem
}

.home-cases__tabs {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 1.25rem;
    margin-top: 3.25rem;
    margin-bottom: 3.5rem
}

.home-cases__tabs button {
    font-size: 1.25rem;
    border: 1px solid #abb3be;
    border-radius: .375rem;
    padding: 1rem .25rem;
    white-space: nowrap
}

.home-cases__tabs button.is-active {
    background: var(--purple);
    color: white;
    border-color: var(--purple)
}

.home-cases__viewport {
    width: 100rem;
    max-width: calc(100% - 5rem);
    margin: auto
}

.home-cases__track {
    display: flex;
    gap: 3rem;
    transition: transform .5s
}

.home-cases__card {
    flex: 0 0 70rem;
    display: grid;
    grid-template-columns: 25rem 1fr;
    gap: 3rem;
    min-height: 35rem;
    background: #fff;
    border-radius: 2.5rem;
    padding: 3rem;
    box-shadow: 0 .75rem 2rem #3f327914;
    align-items: center
}

.home-cases__card>.home-card-image {
    width: 25rem;
    height: 27rem;
    object-fit: cover;
    border-radius: 2rem
}

.home-cases__card h3 {
    font-size: 3rem;
    color: var(--purple);
    margin-bottom: 1.5rem
}

.home-cases__card>div>div {
    font-size: 1.375rem;
    line-height: 1.9;
    min-height: 11rem
}

.home-cases__card .button {
    margin-top: 2rem
}

.home-partners {
    min-height: 54.375rem;
    padding: 7.625rem 0;
    background: #fff url(../img/home/partners-background.png) center/78.6875rem auto no-repeat
}

.home-partners h2+p {
    margin-top: .75rem;
    font-size: 1.375rem
}

.home-partners__logos {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    column-gap: 8rem;
    row-gap: 6rem;
    margin-top: 5.5rem;
    padding: 0 4rem
}

.home-partners__logo {
    flex: 0 0 24rem;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 7rem
}

.home-partners__logo img {
    width: auto;
    max-width: 24rem;
    max-height: 7rem;
    object-fit: contain
}

.home-partners__logo:nth-child(4) {
    flex-basis: 20rem
}

.home-partners__logo:nth-child(5) {
    flex-basis: 20rem
}

.home-reasons {
    min-height: 50.625rem;
    padding: 7rem 0;
    background: url(../img/home/reasons-background.png) center/cover
}

.home-reasons h2+p {
    font-size: 1.375rem;
    margin-top: .75rem
}

.home-reasons__grid {
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 5rem;
    margin-top: 5rem
}

.home-reasons__grid strong {
    font: 5.625rem/1.1 Impact, sans-serif;
    background: linear-gradient(135deg, var(--purple), var(--teal));
    color: transparent;
    background-clip: text
}

.home-reasons__grid h3 {
    font-size: 1.875rem;
    color: var(--purple);
    margin-top: .75rem;
    margin-bottom: .5rem
}

.home-reasons__grid p {
    font-size: 1.25rem;
    line-height: 1.875rem
}

.home-resources {
    min-height: 66.25rem;
    padding: 8rem 0 9rem;
    background: url(../img/home/resources-background.png) center/cover
}

.home-resources__grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 3.125rem;
    margin-top: 3rem
}

.home-resource-card {
    border-radius: 2.5rem;
    overflow: hidden;
    background: #fff
}

.home-resource-card:hover {
    box-shadow: 0 .625rem 4.375rem #3f327933
}

.home-resource-card__copy {
    height: 21.875rem;
    padding: 3rem
}

.home-resource-card__copy>div {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 1.125rem
}

.home-resource-card__copy>div>span {
    background: #8598d0;
    color: #fff;
    border-radius: 4rem;
    padding: .875rem 1rem
}

.home-resource-card__copy time {
    color: #66738080
}

.home-resource-card h3 {
    font-size: 1.875rem;
    color: var(--purple);
    line-height: 1.3;
    min-height: 7rem;
    border-bottom: 1px solid #66738080;
    padding: 1.5rem 0 1rem
}

.home-resource-card .button {
    margin-top: 1.5rem
}

.home-resource-card:hover .button {
    background: var(--purple);
    border-color: var(--purple);
    color: #fff
}

.home-resource-card:hover .button img {
    filter: brightness(0) invert(100%);
}

.home-resource-card>.home-card-image {
    width: 100%;
    height: 17.5rem;
    object-fit: cover
}

@media(max-width:1100px) {
    .home-featured__heading {
        flex-wrap: wrap
    }

    .home-featured__tabs {
        margin-top: 0
    }

    .home-featured__track .product-card {
        flex-basis: 72rem;
        grid-template-columns: 40rem 1fr
    }

    .home-solution__purchase>.home-solution__model {
        gap: 1rem;
        padding: 1.5rem
    }

    .home-solution__purchase strong {
        font-size: 1.7rem
    }

    .home-solution__purchase small {
        font-size: 1.1rem
    }

    .home-solution__step-title p {
        white-space: normal
    }
}

@media(max-width:900px) {
    .home-hero__copy {
        padding-top: 13rem;
        width: 50%
    }

    .home-hero :is(h1, h2) {
        font-size: 2.9rem;
        white-space: normal
    }

    .home-hero__main {
        left: 45%;
        width: 55%;
        height: 38rem
    }

    .home-hero__tiny {
        left: 53%;
        width: 16%;
        top: 8rem
    }

    .home-hero__small {
        left: 85%;
        width: 20%;
        top: 22rem
    }

    .home-hero__shadow {
        left: 48%;
        width: 45%
    }

    .home-hero__shadow-small {
        left: 85%;
        width: 20%
    }

    .home-hero .button-row {
        gap: 1rem
    }

    .home-solution__grid {
        grid-template-columns: 1fr 1fr
    }

    .home-solution__step:last-child {
        grid-column: 1/-1
    }

    .home-solution__purchase {
        display: grid;
        grid-template-columns: 1fr 1fr;
        gap: 2rem
    }

    .home-solution__purchase>.home-solution__consult {
        grid-column: 1/-1;
        margin: 0
    }

    .home-solution__purchase>.home-solution__model {
        margin: 0
    }

    .home-cases__tabs {
        overflow: auto;
        display: flex;
        gap: 1rem
    }

    .home-cases__tabs button {
        min-width: 13rem
    }

    .home-reasons__grid {
        gap: 3rem;
        grid-template-columns: 1fr 1fr
    }

    .home-resource-card__copy {
        padding: 2rem
    }

    .home-resource-card h3 {
        font-size: 1.5rem
    }

    .home-partners__logos {
        column-gap: 3rem;
        padding: 0
    }

    .home-partners__logo {
        flex-basis: 20rem
    }
}

@media(max-width:640px) {
    .home-hero {
        height: auto;
        min-height: 750px;
        padding: 108px 0 330px;
        background-size: cover
    }

    .home-hero__inner {
        position: static
    }

    .home-hero__copy {
        width: 100%;
        padding: 0
    }

    .home-hero__eyebrow {
        font-size: 16px;
        line-height: 1.3;
        margin-bottom: 16px
    }

    .home-hero :is(h1, h2) {
        font-size: 32px;
        line-height: 1.4;
        letter-spacing: -1px;
        white-space: normal;
        margin-bottom: 14px
    }

    .home-hero__description {
        font-size: 14px;
        line-height: 1.8;
        margin-bottom: 24px;
        max-width: 100%
    }

    .home-hero .button-row {
        gap: 12px
    }

    .home-hero .button {
        width: auto;
        font-size: 13px;
        padding: 12px 14px;
        gap: 12px
    }

    .home-hero__main {
        left: 15%;
        top: auto;
        bottom: 28px;
        width: 280px;
        height: 280px;
        max-width: 75%
    }

    .home-hero__tiny {
        left: 18%;
        top: auto;
        bottom: 217px;
        width: 78px;
        height: 78px
    }

    .home-hero__small {
        left: auto;
        right: 8px;
        top: auto;
        bottom: 115px;
        width: 95px;
        height: 95px
    }

    .home-hero__shadow {
        left: 10%;
        top: auto;
        bottom: 20px;
        width: 75%;
        height: 60px
    }

    .home-hero__shadow-small {
        left: auto;
        right: 0;
        top: auto;
        bottom: 36px;
        width: 25%;
        height: 35px
    }

    .home-hero__indicators {
        bottom: 12px;
        width: 65px
    }

    .home-solution,
    .home-featured,
    .home-cases,
    .home-partners,
    .home-reasons,
    .home-resources {
        min-height: 0;
        padding: 52px 0
    }

    .home-solution h2,
    .home-featured h2,
    .home-cases h2,
    .home-partners h2,
    .home-reasons h2,
    .home-resources h2 {
        font-size: 28px
    }

    .home-solution h2+p,
    .home-featured__heading p,
    .home-cases .section-heading p,
    .home-partners h2+p,
    .home-reasons h2+p {
        font-size: 14px;
        margin-top: 12px
    }

    .home-solution__grid {
        grid-template-columns: 1fr;
        gap: 36px;
        margin-top: 32px
    }

    .home-solution__step:last-child {
        grid-column: 1
    }

    .home-solution__step-title {
        gap: 16px;
        margin-bottom: 20px
    }

    .home-solution__step-title>span,
    .home-solution__step-title>span img {
        width: 60px
    }

    .home-solution__step-title b {
        font-size: 28px
    }

    .home-solution__step-title h3 {
        font-size: 20px;
        letter-spacing: 0
    }

    .home-solution__step-title p {
        font-size: 12px;
        margin-top: 4px
    }

    .home-solution__fields {
        gap: 16px
    }

    .home-solution__fields button {
        font-size: 13px
    }

    .home-solution__fields img {
        height: 94px;
        border-radius: 5px;
        margin-bottom: 8px
    }

    .home-solution__questions {
        gap: 6px
    }

    .home-solution__questions button {
        font-size: 13px;
        min-height: 55px;
        gap: 14px
    }

    .home-solution__questions img {
        width: 22px;
        height: 22px
    }

    .home-solution__purchase {
        grid-template-columns: 1fr;
        gap: 14px
    }

    .home-solution__purchase>.home-solution__model {
        min-height: 105px;
        padding: 20px;
        gap: 22px;
        border-radius: 14px
    }

    .home-solution__purchase>.home-solution__model>img {
        width: 52px;
        height: 52px
    }

    .home-solution__purchase strong {
        font-size: 20px
    }

    .home-solution__purchase small {
        font-size: 12px;
        margin-top: 6px
    }

    .home-solution__purchase>.home-solution__consult {
        min-height: 48px;
        font-size: 14px;
        padding: 12px;
        gap: 8px
    }

    .home-featured__heading {
        gap: 24px
    }

    .home-featured__heading h2 {
        letter-spacing: -1px
    }

    .home-featured__tabs {
        max-width: 100%;
        flex-wrap: wrap;
        gap: 8px
    }

    .home-featured__tabs button {
        font-size: 11px;
        padding: 8px 10px;
        min-height: 36px
    }

    .home-featured__carousel {
        display: flex;
        flex-direction: column-reverse;
        gap: 22px;
        margin-top: 30px
    }

    .home-featured__track {
        gap: 20px
    }

    .home-featured__track .product-card {
        flex-basis: 100%;
        display: grid;
        grid-template-columns: 1fr;
        background: #ffffffb0;
        border-radius: 18px;
        overflow: hidden
    }

    .home-featured__track .product-card__copy {
        padding: 16px 20px 24px
    }

    .home-featured__track .product-card__copy h3 {
        font-size: 21px
    }

    .home-featured__track .product-card__image {
        left: 50%
    }

    .home-featured__track .product-card__origin {
        left: 50%
    }

    .home-featured__controls {
        align-self: stretch;
        display: flex;
        justify-content: space-between;
        align-items: center
    }

    .home-featured__controls>p {
        font-size: 15px;
        margin: 0
    }

    .home-featured__controls>div {
        gap: 12px
    }

    .home-featured__controls button {
        width: 44px;
        height: 44px;
        font-size: 22px;
        border-radius: 5px
    }

    .home-featured__empty {
        margin-top: 28px
    }

    .home-cases__tabs {
        margin: 24px 0;
        gap: 8px
    }

    .home-cases__tabs button {
        font-size: 12px;
        min-width: 120px;
        padding: 10px
    }

    .home-cases__viewport {
        width: auto;
        max-width: calc(100% - 40px)
    }

    .home-cases__track {
        gap: 20px
    }

    .home-cases__card {
        flex: 0 0 100%;
        display: flex;
        flex-direction: column;
        gap: 22px;
        min-height: 0;
        padding: 20px;
        border-radius: 20px;
        align-items: stretch
    }

    .home-cases__card>.home-card-image {
        width: 100%;
        height: 215px;
        border-radius: 14px
    }

    .home-cases__card h3 {
        font-size: 23px;
        margin-bottom: 14px
    }

    .home-cases__card>div>div {
        font-size: 13px;
        min-height: 0
    }

    .home-cases__card .button {
        margin-top: 24px
    }

    .home-partners {
        background-size: cover
    }

    .home-partners__logos {
        gap: 30px 20px;
        margin-top: 36px;
        padding: 0
    }

    .home-partners__logo,
    .home-partners__logo:nth-child(4),
    .home-partners__logo:nth-child(5) {
        flex: 0 0 calc(50% - 10px);
        height: 48px
    }

    .home-partners__logo img {
        max-width: 100%;
        max-height: 45px
    }

    .home-reasons__grid {
        grid-template-columns: 1fr 1fr;
        gap: 28px 20px;
        margin-top: 32px
    }

    .home-reasons__grid strong {
        font-size: 54px
    }

    .home-reasons__grid h3 {
        font-size: 17px;
        margin: 12px 0 8px
    }

    .home-reasons__grid p {
        font-size: 12px;
        line-height: 1.8
    }

    .home-resources__grid {
        grid-template-columns: 1fr;
        gap: 24px;
        margin-top: 28px
    }

    .home-resource-card {
        border-radius: 20px
    }

    .home-resource-card__copy {
        height: auto;
        padding: 24px
    }

    .home-resource-card__copy>div {
        font-size: 12px
    }

    .home-resource-card__copy>div>span {
        padding: 8px 12px
    }

    .home-resource-card h3 {
        font-size: 21px;
        min-height: 0;
        padding: 22px 0;
        margin-bottom: 0;
        line-height: 1.5
    }

    .home-resource-card .button {
        margin-top: 22px;
        font-size: 13px
    }

    .home-resource-card>.home-card-image {
        height: 210px
    }
}

/* Align the centered case carousel to its 1920 px reference positions. */
.home-hero {
    background-size: 100% 54.125rem;
    background-position: center bottom
}

.home-cases__viewport {
    width: 120rem;
    max-width: 100%
}

.home-cases__track {
    gap: 4.25rem
}

.home-cases__card {
    flex-basis: 70.8125rem;
    grid-template-columns: 1fr 26rem;
    gap: 3rem;
    padding: 4.875rem 3.125rem 4rem 5rem;
    border-radius: 1.875rem
}

.home-cases__card>.home-card-image {
    grid-column: 2;
    grid-row: 1;
    width: 26rem;
    height: 26rem;
    object-fit: cover;
    border-radius: 1.875rem
}

.home-cases__card>div {
    grid-column: 1;
    grid-row: 1
}

.home-cases__card h3 {
    white-space: normal
}

.home-cases__card .button {
    min-height: 4.375rem;
    font-size: 1.375rem;
    min-width: 13.75rem
}

.home-cases__card .button:hover {
    color: #fff;
}

.home-cases__card .button:hover img {
    filter: brightness(0) invert(100%);
}

@media(max-width:640px) {
    .home-hero {
        background-size: cover
    }

    .home-cases__viewport {
        max-width: calc(100% - 40px)
    }

    .home-cases__track {
        gap: 20px
    }

    .home-cases__card {
        flex-basis: 100%;
        padding: 20px;
        border-radius: 20px;
        gap: 22px
    }

    .home-cases__card>.home-card-image {
        width: 100%;
        height: 215px;
        border-radius: 14px
    }

    .home-cases__card .button {
        min-height: 44px;
        font-size: 13px;
        min-width: 0
    }
}

@media(min-width:901px) {
    .home-solution {
        padding-bottom: 4.625rem
    }

    .home-featured {
        padding-bottom: 6.375rem
    }

    .home-cases {
        padding-bottom: 7.375rem
    }

    .home-resources {
        padding-bottom: 8.6875rem
    }
}

/* Homepage carousel layers and refined case controls. */
.home-hero__slide {
    position: absolute;
    inset: 0;
    visibility: hidden;
    opacity: 0;
    pointer-events: none;
    transition: opacity 650ms var(--motion-ease), visibility 650ms
}

.home-hero__slide.is-active {
    position: relative;
    visibility: visible;
    opacity: 1;
    pointer-events: auto
}

.home-hero__slide.is-active .home-hero__copy>* {
    animation: hero-copy-in 850ms var(--motion-ease) both
}

.home-hero__slide.is-active .home-hero__copy>:nth-child(2) {
    animation-delay: 100ms
}

.home-hero__slide.is-active .home-hero__copy>:nth-child(3) {
    animation-delay: 200ms
}

.home-hero__slide.is-active .home-hero__copy>:nth-child(4) {
    animation-delay: 300ms
}

.home-hero__slide.is-active>img {
    animation: hero-layer-in 1200ms var(--motion-ease) both
}

.home-hero__slide.is-active>.home-hero__tiny {
    animation-delay: 120ms
}

.home-hero__slide.is-active>.home-hero__small {
    animation-delay: 220ms
}

.home-hero__slide.is-active>.home-hero__shadow,
.home-hero__slide.is-active>.home-hero__shadow-small {
    animation-name: hero-shadow-in;
    animation-delay: 180ms
}

.home-hero__slide h2 {
    white-space: normal;
    max-width: 45rem
}

.home-hero__indicators {
    display: flex;
    gap: 12px;
    align-items: center;
    justify-content: center;
    width: auto;
    height: 32px;
    z-index: 3
}

.home-hero__indicators>button {
    display: grid;
    place-items: center;
    width: 24px;
    height: 32px;
    color: var(--purple);
    transition: width 350ms var(--motion-ease)
}

.home-hero__indicators>button>span {
    display: block;
    width: 8px;
    height: 8px;
    border-radius: 20px;
    background: #aaa3c3;
    transition: width 350ms var(--motion-ease), background-color 250ms
}

.home-hero__indicators>button.is-active {
    width: 48px
}

.home-hero__indicators>button.is-active>span {
    width: 40px;
    background: var(--purple)
}

.home-hero__indicators>button:hover>span {
    background: var(--teal)
}

.home-hero__indicators>.home-hero__pause {
    font: 18px Arial, sans-serif;
    margin-left: 6px;
    opacity: .65
}

.home-hero__indicators>.home-hero__pause:hover {
    opacity: 1
}

.home-featured__track,
.home-cases__track {
    touch-action: pan-y;
    transition: transform 600ms var(--motion-ease);
    user-select: none
}

.home-featured__track.is-dragging,
.home-cases__track.is-dragging {
    cursor: grabbing;
    transition: none !important
}

.home-featured__track img,
.home-cases__track img {
    -webkit-user-drag: none
}

.home-featured-card {
    transition: opacity 450ms ease
}

.product-card__image-link {
    display: contents
}

.product-card__image-link:focus-visible .product-card__image {
    outline: 2px solid var(--teal);
    outline-offset: 5px;
    border-radius: 12px
}

.home-cases__panel[hidden] {
    display: none
}

.home-cases__viewport {
    position: relative
}

.home-cases__card {
    transition: box-shadow 500ms var(--motion-ease)
}

.home-cases__card.is-active {
    box-shadow: 0 18px 48px #3f327924
}

.home-cases__card .button--round {
    position: relative;
    min-width: 13.75rem;
    min-height: 4.375rem;
    padding: .5rem .5rem .5rem 2.125rem;
    justify-content: space-between;
    gap: 2rem;
    background: transparent;
    border: 1px solid var(--ink);
    color: var(--ink);
    overflow: visible
}

.home-cases__card .button--round .button__arrow {
    width: 3.25rem;
    height: 3.25rem;
    padding: .85rem;
    border-radius: 50%;
    background-color: var(--purple);
    object-fit: contain;
    filter: none !important
}

.home-cases__card .button--round:hover {
    background: #f4f2fa;
    color: var(--purple);
    border-color: var(--purple)
}

.home-cases__arrow {
    position: absolute;
    z-index: 3;
    top: 50%;
    translate: 0 -50%;
    width: 5.125rem;
    height: 5.125rem;
    border-radius: .375rem;
    background: #8598d0;
    color: #fff;
    font-size: 2rem;
    display: grid;
    place-items: center;
    box-shadow: 0 6px 20px #3f32790b;
    transition: background-color 220ms, box-shadow 300ms, scale 300ms var(--motion-ease)
}

.home-cases__arrow--prev {
    left: calc(var(--case-edge, 21rem) - 1.5625rem)
}

.home-cases__arrow--next {
    right: calc(var(--case-edge, 21rem) - 1.5625rem)
}

.home-cases__arrow:hover:not(:disabled) {
    background: var(--purple);
    scale: 1.05;
    box-shadow: 0 8px 24px #3f327933
}

.home-cases__arrow:disabled {
    opacity: 0;
    pointer-events: none
}

#brand-origin-tabs,
#domestic,
#import {
    scroll-margin-top: 140px
}

@keyframes hero-copy-in {
    from {
        opacity: 0;
        translate: 0 24px
    }

    to {
        opacity: 1;
        translate: 0 0
    }
}

@keyframes hero-layer-in {
    from {
        opacity: 0;
        translate: 24px 26px;
        scale: .95
    }

    to {
        opacity: 1;
        translate: 0 0;
        scale: 1
    }
}

@keyframes hero-shadow-in {
    from {
        opacity: 0;
        scale: .9
    }

    to {
        opacity: 1;
        scale: 1
    }
}

@media(max-width:640px) {
    .home-hero__slide {
        position: absolute !important;
        inset: 108px 20px 0;
        width: auto;
        height: auto;
        margin: 0
    }

    .home-hero__slide.is-active {
        position: static !important
    }

    .home-hero__slide:not(.is-active)>img {
        display: none
    }

    .home-hero__slide h2 {
        font-size: 30px
    }

    .home-hero__indicators {
        bottom: 10px;
        gap: 8px
    }

    .home-cases__card {
        display: flex;
        flex-direction: column;
        align-items: stretch;
        min-height: 0
    }

    .home-cases__card>.home-card-image {
        order: 0
    }

    .home-cases__card>div {
        order: 1
    }

    .home-cases__card .button--round {
        min-height: 46px;
        min-width: 160px;
        padding: 5px 5px 5px 20px;
        gap: 24px
    }

    .home-cases__card .button--round .button__arrow {
        width: 34px;
        height: 34px;
        padding: 9px
    }

    .home-cases__arrow {
        width: 40px;
        height: 48px;
        font-size: 23px;
        top: 128px
    }

    .home-cases__arrow--prev {
        left: -12px
    }

    .home-cases__arrow--next {
        right: -12px
    }

    .home-solution__purchase>.home-solution__model {
        grid-column: auto
    }
}

@media(max-width:640px) {
    .home-hero__slide.is-active {
        width: calc(100% - 40px);
        margin: 0 auto
    }
}

/* Parallelogram slide anchors, matching the supplied close-up. */
.home-hero__indicators {
    gap: 16px;
    height: 44px
}

.home-hero__indicators>button[data-hero-slide] {
    width: 34px;
    height: 44px
}

.home-hero__indicators>button[data-hero-slide]>span {
    width: 20px;
    height: 14px;
    border-radius: 0;
    background: var(--purple);
    transform: skewX(-34deg);
    transition: height 350ms var(--motion-ease), background-color 220ms ease
}

.home-hero__indicators>button[data-hero-slide].is-active {
    width: 34px
}

.home-hero__indicators>button[data-hero-slide].is-active>span {
    width: 20px;
    height: 32px;
    background: var(--teal)
}

.home-hero__indicators>button[data-hero-slide]:hover>span {
    background: var(--teal)
}

@media(max-width:640px) {
    .home-hero__indicators {
        gap: 12px;
        bottom: 8px
    }

    .home-hero__indicators>button[data-hero-slide] {
        width: 28px
    }

    .home-hero__indicators>button[data-hero-slide]>span {
        width: 22px;
        height: 12px
    }

    .home-hero__indicators>button[data-hero-slide].is-active>span {
        width: 22px;
        height: 28px
    }
}
/* Linked card media retains the same desktop/mobile grid dimensions. */
.home-card-image {display:block;overflow:hidden;min-width:0}
.home-card-image>img {display:block;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.home-cases__card h3 a,.home-resource-card h3 a {color:inherit;text-decoration:none}
.home-cases__card h3 a:focus-visible,.home-resource-card h3 a:focus-visible,.home-card-image:focus-visible {outline:2px solid var(--purple);outline-offset:4px}
.home-cases__description {white-space:pre-line}
