.si-page-hero {
    --si-page-space-1: 8px;
    --si-page-space-2: 16px;
    --si-page-space-3: 24px;
    --si-page-space-4: 32px;
    --si-page-border: 1px;
    --si-page-accent-border: 3px;
    padding-block: var(--si-page-space-3);
    background: var(--ck-primary-dark);
    color: var(--ck-warm-light);
}

.si-page-hero .si-page-hero__frame {
    display: grid;
    align-content: center;
    gap: var(--si-page-space-2);
    box-sizing: border-box;
    min-width: 0;
    min-height: 272px;
    padding: var(--si-page-space-4);
    border: var(--si-page-border) solid color-mix(in srgb, var(--ck-accent) 40%, transparent);
    border-radius: 2px;
}

.si-page-hero--article .si-page-hero__frame {
    border-left: var(--si-page-accent-border) solid var(--ck-accent);
    padding-left: calc(var(--si-page-space-4) - var(--si-page-accent-border) + var(--si-page-border));
}

.si-page-hero #si-page-title {
    max-width: 100%;
    min-width: 0;
    margin: 0;
    padding: 0;
    color: var(--ck-accent);
    font-family: "Libre Caslon Text", Georgia, serif;
    font-size: 48px;
    font-weight: 400;
    font-style: normal;
    line-height: 1.2;
    letter-spacing: 0;
    text-align: left;
    text-transform: none;
    overflow-wrap: break-word;
}

.si-page-hero #si-page-title::before,
.si-page-hero #si-page-title::after {
    content: none;
}

.si-page-hero .si-page-hero__intro {
    max-width: 68ch;
    margin: 0;
    padding: 0;
    color: var(--ck-page-bg);
    font-size: 20px;
    line-height: 1.6;
    letter-spacing: 0;
    text-align: left;
    text-wrap: pretty;
}

@media (max-width: 1100px) {
    .si-page-hero #si-page-title {
        font-size: 40px;
    }
}

@media (max-width: 767px) {
    .si-page-hero {
        padding-block: var(--si-page-space-2);
    }

    .si-page-hero .si-page-hero__frame {
        min-height: 280px;
        padding: var(--si-page-space-2);
    }

    .si-page-hero--article .si-page-hero__frame {
        padding-left: calc(var(--si-page-space-2) - var(--si-page-accent-border) + var(--si-page-border));
    }

    .si-page-hero #si-page-title {
        font-size: 36px;
    }

    .si-page-hero .si-page-hero__intro {
        font-size: 16px;
    }
}

@media (max-width: 359px) {
    .si-page-hero .si-page-hero__frame {
        min-height: 304px;
    }

    .si-page-hero #si-page-title {
        font-size: 36px;
    }
}
