.post-hero{
  padding:calc(var(--nav-h) + 80px) 0 60px;
  border-bottom:1px solid var(--grey-900);
}
.post-hero-img{
  height:380px;
  background-size:cover;
  background-position:center;
  filter:grayscale(1) contrast(1.05);
  transition:filter .6s var(--ease);
  border-bottom:1px solid var(--grey-900);
}
.post-hero-img:hover{filter:grayscale(0);}
@media (max-width:768px){.post-hero-img{height:220px;}}
.post-hero .p-tag{margin-bottom:16px;display:inline-block;}
.post-hero h1{
  font-family:var(--display);
  font-size:clamp(30px,5vw,52px);
  text-transform:uppercase;
  line-height:1.12;
  max-width:820px;
}
.post-meta{
  margin-top:20px;
  display:flex;
  gap:16px;
  align-items:center;
  font-size:13px;
  color:var(--grey-400);
}
.post-meta span::after{content:'·';margin-left:16px;color:var(--grey-600);}
.post-meta span:last-child::after{content:'';margin:0;}

.post-body{
  max-width:720px;
  margin:0 auto;
  padding:64px 24px 100px;
}
.post-body p{
  font-size:17px;
  line-height:1.8;
  color:var(--grey-200);
  margin-bottom:24px;
}
.post-body h2{
  font-family:var(--display);
  font-size:clamp(22px,3vw,30px);
  text-transform:uppercase;
  margin:48px 0 20px;
  line-height:1.2;
}
.post-body h3{
  font-family:var(--display);
  font-size:17px;
  text-transform:uppercase;
  margin:32px 0 14px;
}
.post-body ul, .post-body ol{
  margin:0 0 24px 22px;
  color:var(--grey-200);
}
.post-body li{font-size:16px;line-height:1.75;margin-bottom:10px;}
.post-body strong{color:var(--white);}
.post-body blockquote{
  border-left:2px solid var(--white);
  padding-left:20px;
  margin:32px 0;
  font-size:18px;
  color:var(--grey-200);
  font-style:italic;
}
.post-cta{
  margin-top:56px;
  padding:36px;
  border:1px solid var(--grey-900);
  border-radius:14px;
  text-align:center;
  background:var(--grey-900);
}
.post-cta p{margin-bottom:20px;color:var(--grey-400);}
.post-nav{
  border-top:1px solid var(--grey-900);
  padding:48px 0;
}
.post-nav-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:16px;
}
