
@media only screen and (min-width: 0rem) {

    #hero {
        overflow: hidden;
        background-color: var(--primary);
        position: relative;
        z-index: 1;
    }

    #hero .cs-content {
        position: relative;
        z-index: 1;
    }

    #hero .cs-wrapper {
        padding: clamp(3.75rem, 5vw, 5rem) 1rem clamp(3.75rem, 9.6vw, 6.25rem);
    }

    #hero .cs-flex {
        padding-left: 3.75rem;
    }

    #hero .cs-title {
        font-size: clamp(2.4375rem, 6.5vw, 5.125rem);
        color: var(--tertiary);
        text-transform: uppercase;
        line-height: 1.1em;
        max-width: 18ch;
        margin-bottom: clamp(1rem, 6vw, 4.875rem);
    }

    #hero .cs-text {
        font-size: clamp(1rem, 2vw, 1.25rem);
        margin-bottom: 1rem;
    }

    #hero .cs-text:last-of-type {
        margin-bottom: 2rem;
    }

    #hero .cs-button-solid {
        font-size: 1rem;
        line-height: clamp(2.875rem, 5.5vw, 3.5rem);
        text-decoration: none;
        font-weight: 700;
        text-align: center;
        margin: 0;
        color: var(--tertiary);
        min-width: 9.375rem;
        padding: 0 1.5rem;
        background-color: var(--secondary);
        display: inline-block;
        position: relative;
        z-index: 1;
        box-sizing: border-box;
    }

    #hero .cs-button-solid:hover {
        color: var(--primary);
    }

    #hero .cs-button-solid:before {
        content: "";
        position: absolute;
        height: 100%;
        width: 0%;
        background: var(--tertiary);
        opacity: 1;
        top: 0;
        left: 0;
        z-index: -1;
        transition: width 0.3s;
    }

    #hero .cs-button-solid:hover:before {
        width: 100%;
    }

    #hero .cs-picture {
        width: 100%;
        height: auto;
        display: block;
        position: relative;
        z-index: 1;
    }

    #hero .cs-picture img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: top;
        position: absolute;
        top: 0;
        left: 0;
    }

    #hero .cs-picture1 {
        width: 100%;
        height: 110vw;
    }

    #hero .cs-picture1::after {
        content: "";
        position: absolute;
        top: 0;
        right: 0;
        width: 25%;
        height: 100%;
        background: linear-gradient(to right, rgba(255, 255, 255, 0) 0%, var(--primary) 80%);
        pointer-events: none;
    }

    #hero .cs-picture2 {
        width: 100%;
        height: 68vw;
        max-height: 21.3125rem;
        margin-top: 4rem;
        margin-left: 4.75rem;
    }

}

@media only screen and (min-width: 43.75rem) {

    #hero {
        margin-top: 7.5rem;
    }

    #hero .cs-container {
        display: flex;
        flex-direction: column;
        align-items: flex-end;
    }

    #hero .cs-content {
        width: 57vw;
    }

    #hero .cs-flex {
        padding-left: 8.75rem;
    }

    #hero .cs-picture1 {
        width: 56vw;
        height: 100vh;
        position: absolute;
        top: 0%;
        right: 82%;
        z-index: -1;
        transform: translateY(-10rem);
    }

    #hero .cs-picture2 {
        margin-left: 13.5rem;
    }
}

@media only screen and (min-width: 64rem) {
    #hero {
        padding-right: 18.75rem;
    }

    #hero .cs-content {
        width: 54%;
        max-width: 34rem;
        position: relative;
        z-index: 1;
    }

    #hero .cs-wrapper {
        padding-left: 0;
        padding-right: 0;
    }

    #hero .cs-title {
        max-width: 12ch;
    }

    #hero .cs-picture1 {
        width: 60vw;
        right: calc(100% - 5rem);
    }

    #hero .cs-picture2 {
        width: 30vw;
        max-width: 21.875rem;
        height: 100vh;
        max-height: 100vh;
        margin: 0;
        position: absolute;
        top: 50%;
        left: calc(100% + 2.5rem);
        transform: translateY(-50%);
    }

}

@media only screen and (min-width: 120rem) {

    #hero {
        padding-right: 0;
        position: relative;
        z-index: 1;
    }

    #hero .cs-container {
        width: 100%;
        max-width: 80rem;
        margin: auto;
        padding-right: 5rem;
        box-sizing: border-box;
        position: initial;
    }

    #hero .cs-content {
        position: initial;
    }

    #hero .cs-picture1 {
        height: auto;
        margin-right: -5.875rem;
        right: 50%;
        top: 0;
        bottom: 0;
        transform: none;
    }

    #hero .cs-picture2 {
        height: auto;
        width: 20vw;
        max-height: none;
        max-width: none;
        margin-left: 37.875rem;
        left: 50%;
        top: 0;
        bottom: 0;
        transform: none;
    }

}