.block-section {
    width: 100%;
    padding-block: var(--s-section-padding-y);
    padding-inline: var(--s-section-padding-x);
}

.block-container {
    width: 100%;
    max-width: var(--s-page-width);
    margin: auto;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
}

.block-cta {
    border-radius: var(--s-radius-m);
    background: var(--s-primary-500);
    padding: var(--s-space-xl);
    position: relative;
    overflow: hidden;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: var(--s-grid-gap);
    align-items: center;
    margin-block: var(--s-block-margin-y);
}

.block-cta--light {
    background: var(--s-primary-50);
}

.block-cta__content {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: var(--s-space-m);
}

.block .block-cta__title {
    font-size: var(--s-h4);
    color: var(--s-neutral-50);
    font-weight: 500;
    line-height: 1.4;
    margin: 0;
}

.block-cta--light.block .block-cta__title {
    color: var(--s-neutral-900);
}

.block .block-cta__link {
    color: var(--s-neutral-50);
    text-decoration: none;
    font-size: var(--s-text-s);
}

.block-cta--light.block .block-cta__link {
    color: var(--s-primary-500);
}

.block .block-cta__link:hover {
    color: var(--s-neutral-200);
}

.block-cta--light.block .block-cta__link:hover {
    color: var(--s-primary-700);
}

.block .block-cta__image {
    transform: rotate(15deg);
    max-width: 100%;
    position: absolute;
    height: 140%;
}

.block-cta__image-wrapper {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

@media (max-width:991px) {
    .block .block-cta__image {
        position: static;
        height: auto;
        transform: rotate(0deg);
    }

    .block-cta {
        display: flex;
        flex-direction: row;
        align-items: center;
    }

    .block-cta__image-wrapper {
        max-width: 25%;
    }
}

@media (max-width:479px) {
    .block-cta {
        flex-direction: column;
        align-items: flex-start;
    }

    .block-cta__image-wrapper {
        max-width: 150px;
    }
}

.block-pullquote,
.block-blockquote {
    border: 1px solid var(--s-neutral-200);
    border-radius: var(--s-radius-m);
    padding: var(--s-space-xl);
    background-color: white;
    margin-block: var(--s-block-margin-y);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: var(--s-space-m);
    position: relative;
}

.block-pullquote__text,
.block-blockquote__text {
    font-size: var(--s-text-xl);
    color: var(--s-neutral-600);
    line-height: 1.6;
    margin: 0;
}

.block-pullquote__author,
.block-blockquote__author {
    margin: 0;
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: var(--s-space-s);
}

.block-pullquote__author-image,
.block-blockquote__author-image {
    width: 3.25rem;
    height: 3.25rem;
    object-fit: cover;
    border-radius: 100%;
}

.block-pullquote__author-text-wrapper,
.block-blockquote__author-text-wrapper {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    justify-content: flex-start;
    gap: 4px;
}

.block-pullquote__author-name,
.block-blockquote__author-name {
    font-size: var(--s-h6);
    color: var(--s-neutral-900);
    font-weight: 600;
    line-height: 1.4;
}

.block-pullquote__author-title,
.block-blockquote__author-title {
    font-size: var(--s-text-xs);
    color: var(--s-neutral-600);
    line-height: 1.4;
}

.block-pullquote svg {
    margin: 0;
}

.block-pullquote svg path {
    fill: var(--s-primary-500);
}

.block-pullquote__icon,
.block-blockquote__stars {
    margin-bottom: -10px;
}

@media (max-width:479px) {
    .block-pullquote__author,
    .block-blockquote__author {
        flex-direction: column;
        align-items: flex-start;
    }
}

.block-align--center {
    align-items: center;
    text-align: center;
}