/* Blog post header: default concentric "pore ring" treatment (matches site .hero / .page-hero).
   Posts with a fitting real photo use .blog-hero--image with --blog-hero-img. */
.rp-hero.blog-hero{background:repeating-radial-gradient(circle at 78% 40%,#191b19 0 7px,#242724 7px 14px,#141614 14px 26px),#151815}
.rp-hero.blog-hero::before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(21,24,21,.92) 0%,rgba(21,24,21,.6) 55%,rgba(21,24,21,0) 100%);pointer-events:none}
.rp-hero.blog-hero .rp-wrap{position:relative;z-index:1}
.rp-hero.blog-hero--image{background:linear-gradient(90deg,rgba(21,24,21,.94),rgba(21,24,21,.55)),var(--blog-hero-img) center/cover no-repeat,#151815}
.rp-hero.blog-hero--image::before{display:none}
@media (max-width:640px){.rp-hero.blog-hero{background:repeating-radial-gradient(circle at 85% 20%,#191b19 0 7px,#242724 7px 14px,#141614 14px 26px),#151815}.rp-hero.blog-hero::before{background:linear-gradient(180deg,rgba(21,24,21,.35),rgba(21,24,21,.85))}}

/* Blog post photos (site-visit photos): fixed width/height on the <img> reserve space, so no layout shift */
.ph{margin:2rem 0 2.5rem}
.ph img{display:block;width:100%;height:auto;border-radius:14px;background:#e9e4d8}
.ph figcaption{margin-top:.65rem;font-size:.9rem;line-height:1.45;color:#6e6a64}
