/* Blog-only layout: inherits Cavelle's existing design tokens and typography. */
.blog-main{padding-top:var(--nav-h); min-height:70vh;}
.blog-main .breadcrumbs{padding-top:30px;}
.blog-intro{max-width:760px; margin-bottom:58px;}
.blog-intro .lead{margin-top:22px;}
.blog-list-heading{margin-bottom:32px;}
.blog-grid{display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:34px;}
.blog-card{min-width:0; background:var(--surface); border:1px solid var(--line);}
.blog-card-image{display:block; aspect-ratio:16/10; overflow:hidden;}
.blog-card-image img{width:100%; height:100%; object-fit:cover;}
.blog-card-copy{padding:26px;}
.blog-card time,.blog-byline,.blog-empty{color:var(--text-muted); font-size:.88rem;}
.blog-card .h3{margin:12px 0; overflow-wrap:anywhere;}
.blog-card .h3 a:hover,.blog-card-link:hover,.blog-back a:hover{color:var(--gold-light);}
.blog-card p{color:var(--text-muted); margin-bottom:18px;}
.blog-card-link,.blog-back a{color:var(--gold);}
.blog-article .container{max-width:960px;}
.blog-article-header{max-width:780px; margin:0 auto 38px;}
.blog-article-header .h1{overflow-wrap:anywhere;}
.blog-byline{display:flex; flex-wrap:wrap; gap:8px 22px; margin-top:22px;}
.blog-featured{margin:0 0 50px;}
.blog-featured img{width:100%; height:auto;}
.blog-prose{max-width:780px; margin:0 auto; color:var(--text-muted); font-size:1.08rem; line-height:1.8; overflow-wrap:anywhere;}
.blog-prose > * + *{margin-top:22px;}
.blog-prose h2,.blog-prose h3{color:var(--text); margin-top:42px;}
.blog-prose h2{font-size:clamp(1.6rem,3vw,2.2rem);}
.blog-prose h3{font-size:clamp(1.3rem,2vw,1.7rem);}
.blog-prose ul{list-style:disc; padding-inline-start:28px;}
.blog-prose li + li{margin-top:8px;}
.blog-prose blockquote{border-inline-start:2px solid var(--gold); padding-inline-start:22px; color:var(--text);}
.blog-prose a{text-decoration:underline; text-underline-offset:3px; color:var(--gold-light);}
.blog-prose figure img{max-height:700px; width:auto; margin-inline:auto;}
.blog-back{max-width:780px; margin:40px auto 0;}
.blog-related{margin-top:80px; padding-top:48px; border-top:1px solid var(--line);}
.blog-related .h2{margin-bottom:28px;}
@media(max-width:900px){.blog-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:640px){
  .blog-main .section-pad{padding:65px 0;}
  .blog-grid{grid-template-columns:1fr; gap:22px;}
  .blog-intro{margin-bottom:42px;}
  .blog-card-copy{padding:22px;}
  .blog-featured{margin-bottom:34px;}
  .blog-related{margin-top:55px;}
}
