.blog-home {
    --blog-ink: #18383d;
    --blog-teal: #1c626d;
    --blog-accent: #17a2b8;
    --blog-soft: #eaf6f7;
    --blog-border: #d8e6e8;
    color: var(--blog-ink);
    padding-bottom: 3rem;
}

.blog-hero {
    overflow: hidden;
    background: linear-gradient(135deg, #ffffff 0%, #f3fbfb 100%);
    border: 1px solid var(--blog-border);
    border-radius: 1rem;
    box-shadow: 0 1rem 2.5rem rgba(24, 56, 61, 0.08);
}

.blog-hero-copy {
    padding: clamp(2rem, 5vw, 4.75rem);
}

.blog-kicker {
    color: var(--blog-teal);
    font-size: 0.78rem;
    font-weight: 700;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.blog-hero h1 {
    max-width: 13ch;
    color: var(--blog-ink);
    font-size: clamp(2.25rem, 5vw, 4.5rem);
    line-height: 1.02;
    letter-spacing: -0.045em;
}

.blog-hero .lead {
    max-width: 42rem;
    color: #547078;
}

.blog-hero .btn {
    white-space: normal;
}

.blog-language {
    font-size: 0.9rem;
}

.blog-hero-media {
    min-height: 22rem;
    background: #dcecee;
}

.blog-hero-media img {
    width: 100%;
    height: 100%;
    min-height: 22rem;
    object-fit: cover;
}

.blog-topic-strip {
    background: #ffffff;
    border: 1px solid var(--blog-border);
    border-radius: 1rem;
}

.blog-topic {
    height: 100%;
    padding: 1.5rem;
}

.blog-topic + .blog-topic {
    border-left: 1px solid var(--blog-border);
}

.blog-topic-icon {
    display: inline-grid;
    width: 2.5rem;
    height: 2.5rem;
    place-items: center;
    color: var(--blog-teal);
    background: var(--blog-soft);
    border-radius: 50%;
    font-size: 1.15rem;
}

.blog-section-heading {
    max-width: 48rem;
}

.blog-feature-card {
    overflow: hidden;
    background: #ffffff;
    border: 1px solid var(--blog-border);
    border-radius: 1rem;
    box-shadow: 0 0.75rem 2rem rgba(24, 56, 61, 0.07);
}

.blog-feature-media {
    display: block;
    height: 100%;
    min-height: 20rem;
    background: var(--blog-soft);
}

.blog-feature-media img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.blog-feature-body {
    padding: clamp(1.75rem, 4vw, 3.5rem);
}

.blog-category {
    display: inline-block;
    color: var(--blog-teal);
    background: var(--blog-soft);
    border-radius: 999px;
    padding: 0.4rem 0.7rem;
    font-size: 0.75rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.blog-feature-title a {
    color: var(--blog-ink);
    white-space: normal;
}

.blog-feature-title a:hover,
.blog-feature-title a:focus-visible {
    color: var(--blog-accent);
}

.blog-read-link {
    font-weight: 700;
}

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

    .blog-hero-media,
    .blog-hero-media img,
    .blog-feature-media {
        min-height: 18rem;
    }
}

@media (max-width: 767.98px) {
    .blog-topic + .blog-topic {
        border-top: 1px solid var(--blog-border);
        border-left: 0;
    }
}
