/* Blog (master-level news) — extends master-home tokens */
.blog-hero{padding:120px 32px 80px;border-bottom:1px solid var(--line)}
.blog-hero h1{font-size:clamp(64px,11vw,180px);letter-spacing:-.07em;line-height:.8;margin:0;font-weight:900}
.blog-hero p{margin:38px 0 0;max-width:560px;font-size:clamp(17px,1.8vw,22px);line-height:1.35;color:#c7c7c2}
.blog-hero .mh-kicker{margin-bottom:5vh}
.blog-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-bottom:1px solid var(--line)}
.blog-card{display:flex;flex-direction:column;text-decoration:none;border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-height:480px;transition:background .25s ease}
.blog-card:hover{background:#101010}
.blog-card-media{aspect-ratio:16/10;background:#161616;overflow:hidden}
.blog-card-media img{width:100%;height:100%;object-fit:cover;filter:grayscale(1) contrast(1.05);transition:filter .25s,transform .4s}
.blog-card:hover .blog-card-media img{filter:none;transform:scale(1.03)}
.blog-card-body{padding:24px;display:flex;flex-direction:column;gap:14px;flex:1}
.blog-card-meta{display:flex;justify-content:space-between;gap:12px;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--gray)}
.blog-card-meta .blog-tag{color:var(--acid)}
.blog-card h2{font-size:clamp(22px,2vw,30px);line-height:1.05;letter-spacing:-.03em;margin:0;font-weight:700}
.blog-card p{margin:0;color:var(--gray);font-size:15px;line-height:1.45;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.blog-card-arrow{margin-top:auto;font-size:22px}
.blog-empty{padding:120px 32px;color:var(--gray);font-size:18px}
/* Article */
.post-hero{padding:96px 32px 64px;border-bottom:1px solid var(--line);max-width:1080px;margin:0 auto}
.post-back{display:inline-block;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--gray);text-decoration:none;margin-bottom:48px}
.post-back:hover{color:var(--white)}
.post-hero .blog-tag{display:inline-block;text-transform:uppercase;font-size:11px;font-weight:700;letter-spacing:.09em;color:var(--acid);margin-bottom:20px}
.post-hero h1{font-size:clamp(38px,5.4vw,84px);line-height:.95;letter-spacing:-.05em;margin:0 0 28px;font-weight:700}
.post-hero time{color:var(--gray);font-size:13px;text-transform:uppercase;letter-spacing:.1em}
.post-hero-img{max-width:1080px;margin:0 auto;padding:0 32px 64px}
.post-hero-img img{width:100%;aspect-ratio:16/8;object-fit:cover}
.post-body{max-width:760px;margin:0 auto;padding:64px 32px 96px;font-size:19px;line-height:1.65;color:#d9d9d4}
.post-body h2,.post-body h3,.post-body h4{color:var(--white);letter-spacing:-.02em;line-height:1.15;margin:56px 0 18px}
.post-body h2{font-size:34px}
.post-body h3{font-size:26px}
.post-body p{margin:0 0 26px}
.post-body a{color:var(--acid);text-decoration:underline;text-underline-offset:4px}
.post-body img{width:100%;height:auto;margin:36px 0}
.post-body ul,.post-body ol{margin:0 0 26px;padding-left:26px}
.post-body li{margin-bottom:10px}
.post-body blockquote{border-left:3px solid var(--acid);margin:36px 0;padding:6px 0 6px 26px;color:var(--white);font-size:22px;line-height:1.4}
.post-body strong{color:var(--white)}
.post-related{padding:96px 32px;border-top:1px solid var(--line)}
.post-related h2{font-size:clamp(30px,4vw,54px);letter-spacing:-.04em;margin:0 0 48px}
.post-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
@media (max-width:900px){
  .blog-grid,.post-related-grid{grid-template-columns:1fr}
  .blog-card{border-right:none}
  .post-body{font-size:17px}
}
