.hero {
    gap: 50px;
    display: flex;
    flex-direction: column;
}
.hero--circular-default {}
.hero--circular-light {

}

.hero__title {
    font-size: 40px;
    margin-top: 0;
    margin-bottom: 0.375em;
    line-height: 1;
    overflow: hidden;
}
@media (min-width: 1024px) {
    .hero--circular-light .hero__title{
        padding-right: 2rem;
    }
}
@media (min-width: 1280px) {
    .hero--circular-light .hero__title{
        padding-right: 30%;
    }
}

.hero__intro {
    font-size: 18px;
    line-height: 1.5454545455;
    letter-spacing: .005em;
    font-weight: bold;
}

.hero__intro a { color: var(--green80); }
.hero__intro a:hover { color: var(--green100); }

.hero__label {
    color: var(--yellow100);
    margin-bottom: 20px;
}

.hero__label span {
    display: block;
    font-weight: 700;
}

.hero__image {
    border-radius: var(--radius);
    position: relative;
    overflow: hidden;
    --aspect-ratio: 1/1
}

.hero__image--landscape {
    --aspect-ratio: 660/416;
}
.hero__image--circular {
    --aspect-ratio: 616/528;
   aspect-ratio: auto;
   border-radius: 0;
   overflow: visible;
   height: 100%;
   height: 100%;
}

.hero__image img {
    object-fit: contain;
    width: 100%;
    height: 100%;
    position: absolute;
}
.hero__image--circular img{
    object-fit: contain;
    bottom: 0;
    right: calc(-1 *var(--padding));
    height: auto;
 }

.hero__search {
    max-width: 720px;
}

.hero--circular-light .quicklink-list {
    flex-direction: row;
    flex-wrap: wrap;
}

@media(min-width: 991px) {
    .hero {
        flex-direction: row;
        gap: 40px;
    }
    .hero__col {
        flex: 1;
    }
    .hero__intro {
        font-size: 22px;
    }
    .hero__title {
        font-size: 86px;
    }
    .hero__label {
        font-size: 30px;
    }
}
