/* Title area (skin heading is the H1) */
.firstHeading { font-size: 2.4rem; line-height: 1.15; font-weight: 800; margin-bottom: 0.5rem; }
/* Byline */
.blog-byline { color: #616161; font-size: 0.98rem; margin-bottom: 1.1rem; }
.blog-byline .dot { padding: 0 0.35rem; }
.blog-byline a { color: inherit; text-decoration: underline; }
/* Standfirst (intro paragraph above the body text) */
.blog-standfirst { font-size: 1.1rem; line-height: 1.6; margin: 0.75rem 0 1.25rem; }
/* Hero image — make it fill the content width */
.blog-hero { margin: 1rem 0 0.75rem; }
.blog-hero-img { display: block; width: 100% !important; height: auto !important; border-radius: 8px; }
.blog-hero-cap { text-align: center; color: #6f6f6f; font-size: 0.92rem; margin-top: 0.45rem; }
/* Page container */
.blog-article { max-width: 920px; margin: 0 auto; padding: 0 1rem 2rem; }
/* List rows for blog index */
.blogpost-row { display: grid; grid-template-columns: 120px 1fr; gap: 0.75rem; padding: 0.9rem 0; border-bottom: 1px solid #eee; }
.blogpost-thumb { border-radius: 6px; overflow: hidden; }
.blogpost-row-title { font-weight: 600; font-size: 1.05rem; }
.blogpost-row-meta { color: #666; margin: 0.25rem 0 0.5rem; font-size: 0.92rem; }
.blogpost-row-desc { color: #2f2f2f; }