.hero-section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    position: relative;
    z-index: 1;
    border-bottom: 1px solid var(--color-primary-dark);
}

.hero-section:first-child {
    min-height: 100svh;
    padding: calc(var(--header-height) + var(--section-padding-y) / 2) 0;
}

.hero-section__title-wrapper {
    overflow: hidden;
}

.hero-section__title-wrapper > .hero-section__title {
    -webkit-transform: translateY(100%);
        -ms-transform: translateY(100%);
            transform: translateY(100%);
    opacity: 0;
    -webkit-transition:
        opacity 1s,
        -webkit-transform 1s;
    transition:
        opacity 1s,
        -webkit-transform 1s;
    transition:
        transform 1s,
        opacity 1s;
    transition:
        transform 1s,
        opacity 1s,
        -webkit-transform 1s;
}

.hero-section.loaded .hero-section__title-wrapper > .hero-section__title {
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
    opacity: 1;
}

.hero-section__buttons {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 24rem;
}

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

.hero-section__benefits {
    display: -ms-grid;
    display: grid;
    -ms-grid-columns: (1fr)[2];
    grid-template-columns: repeat(2, 1fr);
    gap: 32rem;
}

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

.hero-section__benefits > li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 8rem;
}

.hero-section__benefits span {
    display: block;
    min-height: 34rem;
    font-size: 28rem;
    line-height: 34rem;
}

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

.hero-section__bg-canvas {
    width: 100%;
    height: 100%;
}

.hero-section__bg-object {
    position: absolute;
    border: 1px solid var(--color-primary-30);
    -webkit-animation: objectPulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
            animation: objectPulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
}

.hero-section__bg-object:nth-child(odd) {
    -webkit-transform: rotate(45deg);
        -ms-transform: rotate(45deg);
            transform: rotate(45deg);
    background-color: var(--color-primary-30);
    border-color: transparent;
}

.hero-section__bg-object:nth-child(4n + 1) {
    width: 12rem;
    height: 12rem;
    bottom: 4%;
    left: 4%;
}

.hero-section__bg-object:nth-child(4n + 2) {
    width: 16rem;
    height: 16rem;
    top: calc(var(--header-height) + 8%);
    left: 8%;
}

.hero-section__bg-object:nth-child(4n + 3) {
    width: 20rem;
    height: 20rem;
    top: calc(var(--header-height) + 4%);
    right: 4%;
}

.hero-section__bg-object:nth-child(4n + 4) {
    width: 24rem;
    height: 24rem;
    bottom: 8%;
    right: 4%;
}

@-webkit-keyframes objectPulse {
    50% {
        opacity: 0.5;
    }
}

@keyframes objectPulse {
    50% {
        opacity: 0.5;
    }
}

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

@media screen and (min-width: 1024px) and (orientation: landscape) {
    .hero-section__inner {
        max-width: 768rem;
        margin-left: auto;
        margin-right: auto;
    }

    .hero-section__benefits {
        -ms-grid-columns: (1fr)[4];
        grid-template-columns: repeat(4, 1fr);
    }
}
