/* Healing Messages Blog index styles */

.hm-index-page {
    max-width: 1180px;
}

.hm-index-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(320px, .92fr);
    gap: 2rem;
    align-items: stretch;
    margin: 1.25rem 0 2rem;
    padding: clamp(1.25rem, 3vw, 2rem);
    background:
        radial-gradient(circle at top left, rgba(214, 151, 42, .24), transparent 34%),
        radial-gradient(circle at bottom right, rgba(89, 43, 128, .16), transparent 32%),
        #fffaf0;
    border: 1px solid rgba(214, 151, 42, .28);
    box-shadow: 0 16px 42px rgba(4, 41, 60, .12);
}

.hm-index-hero-copy {
    display: flex;
    flex-direction: column;
    justify-content: center;
}

.hm-index-hero h1 {
    margin: .15rem 0 .75rem;
    color: #04293c;
    line-height: 1.05;
}

.hm-index-lead {
    font-size: clamp(1.05rem, 1.8vw, 1.2rem);
    line-height: 1.72;
    color: #233849;
}

.hm-index-note {
    margin-top: .8rem;
    padding: .85rem 1rem;
    background: rgba(255, 255, 255, .78);
    border-left: 4px solid #d6972a;
    color: #34495a;
    font-size: .98rem;
}

.hm-index-hero-image {
    margin: 0;
    background: #ffffff;
    border: 1px solid rgba(4, 41, 60, .14);
    box-shadow: 0 14px 34px rgba(4, 41, 60, .16);
    overflow: hidden;
}

.hm-index-hero-image img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 330px;
    object-fit: cover;
}

.hm-index-hero-image figcaption {
    padding: .85rem 1rem;
    font-family: Georgia, 'Times New Roman', Times, serif;
    font-style: italic;
    font-size: .95rem;
    text-align: center;
    color: #394a5a;
    background: #fff5dc;
    border-top: 1px solid rgba(214, 151, 42, .28);
}

.hm-index-intro,
.hm-index-closing {
    margin: 2rem 0;
    padding: clamp(1.15rem, 2.4vw, 1.75rem);
    background: #ffffff;
    border: 1px solid rgba(4, 41, 60, .12);
    box-shadow: 0 10px 26px rgba(4, 41, 60, .08);
}

.hm-index-intro h2,
.hm-index-closing h2 {
    margin-top: 0;
}

.hm-article-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
    margin: 2rem 0;
}

.hm-article-card {
    display: flex;
    flex-direction: column;
    background: #ffffff;
    border: 1px solid rgba(4, 41, 60, .13);
    box-shadow: 0 12px 30px rgba(4, 41, 60, .1);
    overflow: hidden;
}

.hm-card-image-link {
    display: block;
    background: #f8f4ec;
}

.hm-card-image-link img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
    transition: transform .25s ease;
}

.hm-card-image-link:hover img,
.hm-card-image-link:focus img {
    transform: scale(1.025);
}

.hm-card-body {
    display: flex;
    flex-direction: column;
    flex: 1;
    padding: 1rem;
}

.hm-card-topic {
    align-self: flex-start;
    margin: 0 0 .65rem;
    padding: .22rem .6rem;
    background: #fff1cf;
    border: 1px solid rgba(214, 151, 42, .34);
    color: #744005;
    font-size: .78rem;
    font-weight: 700;
    letter-spacing: .03em;
    text-transform: uppercase;
}

.hm-article-card h2 {
    margin: 0 0 .35rem;
    font-size: clamp(1.25rem, 2vw, 1.55rem);
    line-height: 1.15;
}

.hm-article-card h2 a {
    color: #04293c;
    text-decoration: none;
}

.hm-article-card h2 a:hover,
.hm-article-card h2 a:focus {
    color: #a3490d;
}

.hm-card-date {
    margin: 0 0 .8rem;
    color: #6f7880;
    font-size: .92rem;
}

.hm-card-body p:not(.hm-card-topic):not(.hm-card-date) {
    line-height: 1.62;
}

.hm-read-link {
    display: inline-block;
    margin-top: auto;
    padding-top: .75rem;
    color: #a3490d;
    font-weight: 700;
    text-decoration: none;
}

.hm-read-link:hover,
.hm-read-link:focus {
    color: #04293c;
    text-decoration: underline;
}

@media (max-width: 980px) {
    .hm-index-hero,
    .hm-article-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hm-index-hero-copy,
    .hm-index-hero-image {
        grid-column: 1 / -1;
    }
}

@media (max-width: 640px) {
    .hm-index-hero,
    .hm-article-grid {
        grid-template-columns: 1fr;
    }

    .hm-index-hero-image img {
        min-height: 0;
        height: auto;
    }
}
