.hero-section {
    padding-top: 0;
}

.hero-section__body {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: end;
        -ms-flex-align: end;
            align-items: flex-end;
    position: relative;
    width: 100%;
    min-height: 931rem;
    color: var(--color-white);
    padding: calc(var(--header-height) + 68rem) 0 68rem;
}

.hero-section__logo {
    width: 330rem;
    height: 94rem;
    margin-left: auto;
    margin-right: auto;
}

.hero-section__element > * {
    -webkit-transition:
        opacity var(--global-transition-duration),
        -webkit-transform var(--global-transition-duration);
    transition:
        opacity var(--global-transition-duration),
        -webkit-transform var(--global-transition-duration);
    transition:
        transform var(--global-transition-duration),
        opacity var(--global-transition-duration);
    transition:
        transform var(--global-transition-duration),
        opacity var(--global-transition-duration),
        -webkit-transform var(--global-transition-duration);
}

.hero-section:not(.loaded) .hero-section__element > * {
    opacity: 0;
    -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
            transform: translateY(100%);
}

.hero-section__title {
    font-size: 30rem;
    line-height: 1.3;
}

.hero-section__title:not(:first-child) {
    margin-top: 24rem;
}

.hero-section__text {
    font-size: 16rem;
    line-height: 1.3;
    padding: 0 32rem;
}

.hero-section__text--desktop {
    display: none;
}

.hero-section__text:not(:first-child) {
    margin-top: 24rem;
}

.hero-section__button:not(:first-child) {
    margin-top: 24rem;
}

.hero-section__bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.hero-section__bg:after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    background-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0, 0, 0, 0.08)), to(rgba(0, 0, 0, 0.72)));
    background-image: linear-gradient(180deg, rgba(0, 0, 0, 0.08) 0%, rgba(0, 0, 0, 0.72) 100%);
}

.hero-section__bg img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
       object-fit: cover;
    -o-object-position: top center;
       object-position: top center;
}

.hero-section__bg img + img {
    display: none;
}

.hero-section__bottom:not(:first-child) {
    margin-top: 68rem;
}

.hero-section__cards {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 12rem;
}

.hero-section__card {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: 1fr;
    grid-template-columns: 1fr;
    gap: 33rem;
    background-color: var(--color-gray-100);
    border-radius: 24rem;
    font-size: 16rem;
    line-height: 1.3;
    color: var(--color-gray-700);
    padding: 24rem 16rem;
}

.hero-section__card-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6rem;
    padding: 7rem 0;
}

.hero-section__card-content:not(:last-child) {
    position: relative;
}

.hero-section__card-content:not(:last-child):after {
    content: '';
    width: 100%;
    height: 1rem;
    position: absolute;
    right: 0;
    bottom: -15rem;
    -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
            transform: translateY(100%);
    background-color: var(--color-gray-200);
}

.hero-section__card-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6rem;
}

.hero-section__card-title strong {
    display: block;
    font-size: 40rem;
}

.hero-section__special-card {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 6rem;
    background-image: var(--gradient-primary);
    border-radius: 24rem;
    font-size: 16rem;
    line-height: 1.3;
    color: var(--color-white);
    padding: 24rem 16rem;
}

.hero-section__special-card-title {
    font-size: 30rem;
}

.wrapper:has(.hero-section:first-child) {
    padding-top: 0;
}

.wrapper:has(.hero-section:first-child) .header .header__logo {
    position: relative;
    -webkit-transform: translate(0, 0) scale(1);
        -ms-transform: translate(0, 0) scale(1);
            transform: translate(0, 0) scale(1);
    transition:
        opacity var(--global-transition-duration) var(--global-transition-duration) cubic-bezier(0.5, 0, 0, 1),
        transform calc(var(--global-transition-duration) * 1.5) cubic-bezier(0.5, 0, 0, 1);
    will-change: opacity, transform;
}

.wrapper:has(.hero-section:first-child) .header .header__logo img {
    transition: filter calc(var(--global-transition-duration) * 1.5) cubic-bezier(0.5, 0, 0, 1);
    will-change: filter;
}

.wrapper:has(.hero-section:first-child) .header .header__logo:not(.loaded) {
    opacity: 0;
}

.wrapper:has(.hero-section:first-child) .header:not(.header--scroll) .header__logo {
    transform: translate(calc(var(--hero-section-logo-x) + 70rem), calc(var(--hero-section-logo-y) + 15rem)) scale(2.129);
}

body:has(#wpadminbar) .wrapper:has(.hero-section:first-child) .header:not(.header--scroll) .header__logo {
    transform: translate(calc(var(--hero-section-logo-x) + 70rem), calc(var(--hero-section-logo-y) + 15rem - 46px)) scale(2.129);
}

.wrapper:has(.hero-section:first-child) .header:not(.header--scroll) .header__logo img {
    -webkit-filter: brightness(0) invert(1);
            filter: brightness(0) invert(1);
}

@media screen and (min-width: 576px) {
    .wrapper:has(.hero-section:first-child) .header:not(.header--scroll) .header__logo {
        transform: translate(calc(var(--hero-section-logo-x) - ((100svw - var(--container-width))/2) + var(--container-padding-x) + 70rem), calc(var(--hero-section-logo-y) + 15rem)) scale(2.129);
    }
    
    body:has(#wpadminbar) .wrapper:has(.hero-section:first-child) .header:not(.header--scroll) .header__logo {
        transform: translate(calc(var(--hero-section-logo-x) - ((100svw - var(--container-width))/2) + var(--container-padding-x) + 70rem), calc(var(--hero-section-logo-y) + 15rem - 46px)) scale(2.129);
    }
}

@media screen and (min-width: 783px) {
    body:has(#wpadminbar) .wrapper:has(.hero-section:first-child) .header:not(.header--scroll) .header__logo {
        transform: translate(calc(var(--hero-section-logo-x) - ((100svw - var(--container-width))/2) + var(--container-padding-x) + 70rem), calc(var(--hero-section-logo-y) + 15rem - 32px)) scale(2.129);
    }
}

@media screen and (min-width: 768px) {
    .hero-section__body {
        min-height: 100svh;
    }

    .hero-section__bg img + img {
        display: block;
    }

    .hero-section__bg:has(img + img) img:first-child {
        display: none;
    }
}

@media screen and (min-width: 1024px) and (orientation: landscape) {
    .hero-section__body {
        padding: calc(var(--header-height) + 57rem) 0 57rem;
    }

    .hero-section__logo {
        width: 458rem;
        height: 130rem;
    }

    .hero-section__title {
        font-size: 48rem;
    }

    .hero-section__title:not(:first-child) {
        margin-top: 32rem;
    }

    .hero-section__text {
        font-size: 18rem;
        padding: 0;
    }

    .hero-section__text--mobile {
        display: none;
    }

    .hero-section__text--desktop {
        display: block;
    }

    .hero-section__text:not(:first-child) {
        margin-top: 16rem;
    }

    .hero-section__button:not(:first-child) {
        margin-top: 32rem;
    }

    .hero-section__bottom:not(:first-child) {
        margin-top: 64rem;
    }

    .hero-section__cards {
        -ms-grid-columns: 2fr 1fr;
        grid-template-columns: 2fr 1fr;
        gap: 26rem;
    }

    .hero-section__card {
        -ms-grid-columns: (1fr)[2];
        grid-template-columns: repeat(2, 1fr);
        gap: 75rem;
        font-size: 18rem;
        padding: 24rem 26rem;
    }

    .hero-section__card-content {
        gap: 8rem;
    }

    .hero-section__card-content:not(:last-child):after {
        width: 1rem;
        height: 100%;
        right: -37rem;
        bottom: 0;
        -webkit-transform: translateX(100%);
            -ms-transform: translateX(100%);
                transform: translateX(100%);
    }

    .hero-section__card-title {
        gap: 8rem;
        font-size: 16rem;
    }

    .hero-section__card-title strong {
        font-size: 48rem;
    }

    .hero-section__special-card {
        gap: 8rem;
        padding: 32rem;
    }

    .hero-section__special-card-title {
        font-size: 32rem;
    }

    .wrapper:has(.hero-section:first-child) .header:not(.header--scroll) .header__logo {
        transform: translate(calc(var(--hero-section-logo-x) - ((100svw - var(--container-width))/2) + var(--container-padding-x) + 134rem), calc(var(--hero-section-logo-y) + 25rem)) scale(2.95481);
    }

    body:has(#wpadminbar) .wrapper:has(.hero-section:first-child) .header:not(.header--scroll) .header__logo {
        transform: translate(calc(var(--hero-section-logo-x) - ((100svw - var(--container-width))/2) + var(--container-padding-x) + 134rem), calc(var(--hero-section-logo-y) + 25rem - 32px)) scale(2.95481);
    }
}

@media screen and (min-width: 768px) {
    body:has(#wpadminbar) .hero-section__body {
        min-height: calc(100svh - 32px);
    }
}