/* Generic content/page helpers and error pages */

.page-header {
    padding-top: 80px;
    padding-bottom: 70px;
}

.page-header h1 {
        max-width: 1000px;
        margin: 0 0 30px;
        font-size: clamp(3.5rem, 7vw, 7rem);
        font-weight: 400;
        line-height: 0.95;
        letter-spacing: -0.05em;
    }

.page-header .lead {
        max-width: 760px;
    }

.content-card {
    display: block;
}

.content-card__image {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}

.content-card__body {
    padding-top: 16px;
}

.content-card__body h3 {
        margin: 6px 0 8px;
        font-size: 1.3rem;
        font-weight: 500;
    }

.content-card__body p {
        margin: 0 0 10px;
        color: var(--muted);
    }

.content-card__meta {
    color: var(--muted);
    font-size: 0.9rem;
}

.error-page {
    min-height: 70vh;
    display: flex;
    align-items: center;
    padding-top: 80px;
    padding-bottom: 80px;
}

.error-page__content {
    max-width: 850px;
}

.error-page h1 {
    margin: 0 0 30px;
    font-size: clamp(4rem, 8vw, 8rem);
    font-weight: 400;
    line-height: 0.95;
    letter-spacing: -0.055em;
}

.error-page__actions {
    display: flex;
    align-items: center;
    gap: 30px;
    margin-top: 40px;
}

.fact-links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.fact-links li + li {
        margin-top: 4px;
    }

.exhibition-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 12px 24px;
    margin-top: 30px;
    color: var(--muted);
}

.exhibition-status {
    font-weight: 500;
    color: var(--text);
}
