/* ==========================================================================
   Component: Blog / Insights Article Card v1.0
   Shared by the Insights landing page grid, the Featured Insight block,
   and the Related Articles component. Title and excerpt carry more visual
   weight than imagery, per Blog System v1.0 spec - image is optional.
   ========================================================================== */

.blog-card{
    display:flex;flex-direction:column;
    background:var(--white);border:1px solid var(--gray-300);border-radius:16px;
    overflow:hidden;text-decoration:none;
    box-shadow:0 6px 18px rgba(0,31,49,.06);
    transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease;
}
.blog-card:hover{transform:translateY(-4px);box-shadow:0 16px 34px rgba(0,31,49,.12);border-color:var(--teal-300);}
.blog-card:focus-visible{outline:2px solid var(--teal-500);outline-offset:2px;}

.blog-card__image{
    width:100%;aspect-ratio:16/9;object-fit:cover;display:block;
    background:var(--gray-100);
}
/* Cards without an image skip straight to the body - no placeholder graphic */
.blog-card__body{padding:22px 24px 24px;display:flex;flex-direction:column;flex:1;}

.blog-card__category{
    display:inline-block;color:var(--teal-500);font-size:.72rem;font-weight:700;
    text-transform:uppercase;letter-spacing:.6px;margin-bottom:10px;
}
.blog-card__title{
    color:var(--navy-950);font-size:1.15rem;font-weight:800;line-height:1.3;
    margin-bottom:10px;
}
.blog-card__excerpt{
    color:var(--gray-700);font-size:.92rem;line-height:1.6;margin-bottom:16px;flex:1;
}
.blog-card__meta{
    display:flex;align-items:center;gap:10px;color:rgba(59,74,82,.65);
    font-size:.78rem;padding-top:14px;border-top:1px solid var(--gray-300);
}
.blog-card__meta-sep{color:var(--gray-300);}

/* Grid wrapper used on the landing page */
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}

@media (max-width:1024px){
    .blog-grid{grid-template-columns:1fr 1fr;}
}
@media (max-width:640px){
    .blog-grid{grid-template-columns:1fr;}
}

/* Featured Insight modifier - used once per landing page for the most
   recent article. Spans the full grid width on desktop/tablet. */
.blog-card--featured{
    flex-direction:row;
    grid-column:1 / -1;
}
.blog-card--featured .blog-card__body{padding:28px 32px;}
.blog-card--featured .blog-card__title{font-size:1.5rem;}
.blog-card--featured .blog-card__excerpt{font-size:1rem;}
@media (max-width:768px){
    .blog-card--featured{flex-direction:column;}
}

.blog-card__badge{
    display:inline-block;background:var(--cta-500);color:var(--white);
    font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.5px;
    padding:3px 10px;border-radius:999px;margin-bottom:10px;margin-right:8px;
}

/* Coming Soon teaser cards - non-linked, no real content, matches the
   "Publishing soon" teasers shown on the live production blog. */
.blog-card--soon{
    cursor:default;
}
.blog-card--soon:hover{transform:none;box-shadow:0 6px 18px rgba(0,31,49,.06);border-color:var(--gray-300);}
.blog-card--soon .blog-card__category{color:var(--gray-700);}
