/* ==========================================================================
   Blog post styles (shared by all individual blog post pages + news-media)
   Extracted from inline styles to a single cacheable file.
   ========================================================================== */

.post-hero{position:relative;background:linear-gradient(135deg,#0a1f2e,#0e2b3d 55%,#13344a);padding:90px 0 70px;overflow:hidden;color:#fff}
.post-hero::before{content:"";position:absolute;top:-180px;right:-120px;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(242,116,5,.32),transparent 65%);filter:blur(20px);pointer-events:none}
.post-hero .dots{position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 0);background-size:32px 32px;pointer-events:none}
.post-hero .container{position:relative;z-index:2;max-width:840px}
.post-hero a.crumb{color:rgba(255,255,255,.65);text-decoration:none;font-size:.85rem;letter-spacing:.04em}
.post-hero a.crumb:hover{color:#F27405}
.post-tag{display:inline-flex;align-items:center;gap:.4rem;font-family:'Barlow',sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.22em;color:#F27405;text-transform:uppercase;margin:1.2rem 0 1rem}
.post-tag::before{content:"";width:18px;height:2px;background:#F27405;display:inline-block}
.post-hero h1{font-family:'Barlow',sans-serif;font-weight:800;font-size:2.6rem;line-height:1.18;color:#fff;margin:0 0 1.2rem}
.post-byline{display:flex;align-items:center;gap:.6rem;color:rgba(255,255,255,.7);font-size:.92rem;flex-wrap:wrap}
.post-byline .avatar{width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#F27405,#d65f02);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-family:'Barlow',sans-serif;font-weight:800;font-size:.95rem;flex-shrink:0}
.post-byline .sep{width:3px;height:3px;background:rgba(255,255,255,.35);border-radius:50%}
.post-byline strong{color:#fff;font-weight:700;display:block;margin-bottom:.05rem}

.post-visual{margin:0 auto;max-width:880px;padding:0 1rem;margin-top:-40px;position:relative;z-index:3}
.post-visual svg{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 30px 60px rgba(8,32,47,.25)}

.post-body{padding:60px 0 80px}
.post-body .container{max-width:760px}
.post-body p,.post-body ul,.post-body ol{font-size:1.05rem;line-height:1.8;color:#3d4d57}
.post-body p{margin:0 0 1.3rem}
.post-body h2{font-family:'Barlow',sans-serif;font-weight:800;font-size:1.55rem;color:#0e2b3d;margin:2.6rem 0 1rem;line-height:1.3}
.post-body h3{font-family:'Barlow',sans-serif;font-weight:800;font-size:1.2rem;color:#0e2b3d;margin:2rem 0 .8rem}
.post-body ul,.post-body ol{padding-left:0;list-style:none;margin:0 0 1.5rem}
.post-body ul li,.post-body ol li{position:relative;padding-left:1.5rem;margin-bottom:.55rem}
.post-body ul li::before{content:"";position:absolute;left:0;top:.65rem;width:8px;height:8px;background:#F27405;border-radius:2px;transform:rotate(45deg)}
.post-body ol{counter-reset:olc}
.post-body ol li{counter-increment:olc}
.post-body ol li::before{content:counter(olc);position:absolute;left:0;top:0;width:1.1rem;height:1.1rem;line-height:1.1rem;text-align:center;background:#F27405;color:#fff;border-radius:50%;font-family:'Barlow',sans-serif;font-weight:800;font-size:.7rem;top:.45rem}
.post-body blockquote{border-left:4px solid #F27405;padding:.5rem 0 .5rem 1.5rem;margin:2rem 0;font-family:'Barlow',sans-serif;font-weight:600;font-size:1.2rem;color:#0e2b3d;line-height:1.45}
.post-body code{background:#f3f6f8;border:1px solid #e3e8ec;padding:.1rem .4rem;border-radius:4px;font-family:'SFMono-Regular',Menlo,Consolas,monospace;font-size:.92em;color:#0e2b3d}
.post-body pre{background:#0e2b3d;color:#e9eef2;padding:1.2rem 1.4rem;border-radius:8px;overflow-x:auto;font-family:'SFMono-Regular',Menlo,Consolas,monospace;font-size:.88rem;line-height:1.55;margin:1.5rem 0}
.post-body pre code{background:transparent;border:0;color:#e9eef2;padding:0}
.post-body a{color:#F27405;text-decoration:none;border-bottom:1px solid rgba(242,116,5,.3)}
.post-body a:hover{border-bottom-color:#F27405}

.post-callout{background:linear-gradient(135deg,rgba(242,116,5,.06),rgba(242,116,5,.02));border:1px solid rgba(242,116,5,.2);border-left:4px solid #F27405;border-radius:8px;padding:1.5rem 1.75rem;margin:2rem 0}
.post-callout strong.label{display:block;margin-bottom:.35rem;font-family:'Barlow',sans-serif;font-weight:800;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#F27405}
.post-callout p{margin:0;font-size:1rem;color:#3d4d57}

.post-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin:2rem 0 2.5rem}
.post-stats .stat{background:#fff;border:1px solid #e9eef2;border-radius:10px;padding:1.1rem 1rem;text-align:center}
.post-stats .stat strong{display:block;font-family:'Barlow',sans-serif;font-weight:800;font-size:1.55rem;color:#F27405;line-height:1.1;margin-bottom:.3rem}
.post-stats .stat span{font-size:.78rem;color:#5a6a72;letter-spacing:.04em}

.related-strip{background:#f7f9fb;padding:60px 0;border-top:1px solid #e9eef2}
.related-strip h3{font-family:'Barlow',sans-serif;font-weight:800;font-size:1.4rem;color:#0e2b3d;margin:0 0 1.5rem;text-align:center}
.related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem;max-width:980px;margin:0 auto}
.related-card{background:#fff;border:1px solid #e9eef2;border-radius:10px;padding:1.25rem;transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;text-decoration:none;display:block}
.related-card:hover{transform:translateY(-3px);border-color:#F27405;box-shadow:0 12px 26px rgba(8,32,47,.08);text-decoration:none}
.related-card .rt{font-family:'Barlow',sans-serif;font-weight:800;font-size:.7rem;letter-spacing:.18em;color:#F27405;text-transform:uppercase;margin-bottom:.5rem;display:block}
.related-card h4{font-family:'Barlow',sans-serif;font-weight:700;font-size:1rem;line-height:1.4;color:#0e2b3d;margin:0}

.post-cta{background:linear-gradient(135deg,#0a1f2e,#0e2b3d);color:#fff;padding:60px 0;text-align:center;position:relative;overflow:hidden}
.post-cta::before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 1px 1px,rgba(255,255,255,.05) 1px,transparent 0);background-size:32px 32px;pointer-events:none}
.post-cta h2{color:#fff;font-family:'Barlow',sans-serif;font-weight:800;font-size:1.8rem;margin:0 0 .8rem;position:relative}
.post-cta p{color:rgba(255,255,255,.75);max-width:560px;margin:0 auto 1.6rem;position:relative}
.post-cta .btn-row{position:relative;z-index:1}
.post-cta .btn-primary{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.6rem;background:#F27405;color:#fff;border-radius:8px;font-family:'Barlow',sans-serif;font-weight:800;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;margin:.35rem;border:0}
.post-cta .btn-primary:hover{background:#d65f02;transform:translateY(-1px);box-shadow:0 10px 22px rgba(242,116,5,.35);text-decoration:none}
.post-cta .btn-ghost{display:inline-flex;align-items:center;gap:.5rem;padding:.85rem 1.6rem;background:transparent;color:#fff;border:1px solid rgba(255,255,255,.4);border-radius:8px;font-family:'Barlow',sans-serif;font-weight:800;font-size:.85rem;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;margin:.35rem}
.post-cta .btn-ghost:hover{background:rgba(255,255,255,.08);border-color:#fff;text-decoration:none}

@media(max-width:767px){
  .post-hero h1{font-size:1.85rem}
  .post-body p,.post-body ul,.post-body ol{font-size:1rem}
  .post-stats{grid-template-columns:repeat(2,1fr)}
  .related-grid{grid-template-columns:1fr}
}
