.blog-page {
    max-width: 1160px;
}

.blog-hero {
    display: grid;
    gap: 1rem;
    padding: clamp(1.5rem, 3vw, 2.1rem);
    border-radius: 26px;
    background:
        linear-gradient(135deg, rgba(255, 249, 245, 0.98) 0%, rgba(255, 243, 236, 0.98) 100%);
    border: 1px solid rgba(198, 122, 75, 0.16);
    box-shadow: 0 18px 40px rgba(116, 57, 21, 0.07);
}

.blog-hero h1 {
    font-size: clamp(2rem, 4.8vw, 3.3rem);
    line-height: 1.02;
    max-width: 13ch;
    text-wrap: balance;
}

.blog-hero p:not(.kicker) {
    max-width: 62ch;
    color: #654d42;
    line-height: 1.72;
}

.blog-listing-section {
    padding-top: 1.25rem;
}

.blog-grid {
    gap: 1.15rem;
}

.blog-card {
    border-radius: 20px;
    border-color: rgba(198, 122, 75, 0.16);
    box-shadow: 0 16px 34px rgba(116, 57, 21, 0.08);
}

.blog-card:hover {
    transform: translateY(-4px);
    box-shadow: 0 22px 42px rgba(116, 57, 21, 0.12);
}

.blog-card--featured {
    background: linear-gradient(180deg, rgba(255, 250, 247, 0.98) 0%, rgba(255, 255, 255, 1) 100%);
    border-color: rgba(198, 122, 75, 0.22);
}

.blog-card-image-wrap {
    background: linear-gradient(180deg, #f7eee8 0%, #f0e1d6 100%);
}

.blog-card-body {
    display: grid;
    gap: 0.25rem;
    padding: 1.05rem;
}

.blog-card-title {
    font-size: 1.18rem;
    text-wrap: balance;
}

.blog-card-meta {
    color: #755d50;
}

.blog-empty-card {
    padding: clamp(1.4rem, 3vw, 2rem);
    border-radius: 24px;
    border: 1px solid rgba(198, 122, 75, 0.16);
    box-shadow: 0 16px 34px rgba(116, 57, 21, 0.07);
}

@media (max-width: 640px) {
    .blog-hero h1 {
        max-width: none;
    }
}
