/* Shared chrome (all views): blog-hero + sticky CTA + safety */
.blog-hero{padding:130px 0 40px;max-width:720px}
.blog-hero h1{font-size:clamp(2rem,4.4vw,3.2rem);font-weight:900;line-height:1.25;margin:18px 0 16px}
.blog-hero h1 .hl{position:relative;white-space:nowrap}
.blog-hero h1 .hl::after{
  content:"";position:absolute;inset-inline:-4px;bottom:5px;height:34%;
  background:var(--green-soft);z-index:-1;border-radius:4px;
  transform:scaleX(0);transform-origin:right;animation:hl 1s var(--ease) .4s forwards;
}
@keyframes hl{to{transform:scaleX(1)}}
.blog-hero p{font-size:16.5px;color:var(--ink-70);max-width:52ch}

/* sticky mobile CTA */
.sticky-cta{
  display:none;position:fixed;bottom:0;inset-inline:0;z-index:70;
  background:rgba(255,255,255,.96);backdrop-filter:blur(16px);
  border-top:1px solid var(--line);
  padding:12px 5% calc(12px + env(safe-area-inset-bottom));
  gap:10px;
}
.sticky-cta .btn{flex:1;padding:13px 16px;font-size:14px}

/* Footer breathing space trimmed per client request + sticky bar clearance */
body > footer{margin-top:56px;padding-bottom:48px}
@media(max-width:860px){
  .sticky-cta{display:flex}
  body > footer{margin-top:40px;padding-bottom:92px}
}
