:root {
  --ink2: var(--deep);
  --display: var(--serif);
  --copper: var(--orange);
}
.article-hero {
  padding: 170px 8vw 90px;
  background: var(--ink2);
  color: #fff;
}
.article-hero .eyebrow {
  color: var(--sky);
}
.article-hero h1 {
  max-width: 1100px;
  font: 500 clamp(48px, 6.5vw, 96px) / 0.98 var(--display);
  letter-spacing: -0.06em;
  margin: 30px 0;
}
.article-hero .dek {
  max-width: 780px;
  font-size: 20px;
  line-height: 1.55;
  color: rgba(255, 255, 255, 0.7);
}
.article-meta {
  margin-top: 35px;
  display: flex;
  gap: 20px;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  color: rgba(255, 255, 255, 0.55);
}
.article-image {
  height: min(58vw, 680px);
  margin: 0;
  background: var(--ink);
  overflow: hidden;
}
.article-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.article-body {
  padding: 95px 8vw;
  display: grid;
  grid-template-columns: 220px minmax(0, 760px);
  gap: 7vw;
  justify-content: center;
  background: #fff;
}
.article-aside {
  font-size: 11px;
  line-height: 1.6;
  color: #777a89;
}
.article-aside strong {
  display: block;
  color: var(--ink);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  margin-bottom: 10px;
}
.article-content {
  font-size: 17px;
  line-height: 1.78;
  color: #393c50;
}
.article-content .standfirst {
  font-size: 24px;
  line-height: 1.5;
  color: var(--ink);
  margin-top: 0;
}
.article-content h2 {
  font: 500 39px/1.08 var(--display);
  letter-spacing: -0.045em;
  color: var(--ink);
  margin: 60px 0 18px;
}
.article-content h3 {
  font: 600 21px var(--display);
  color: var(--ink);
  margin-top: 35px;
}
.article-content blockquote {
  margin: 45px 0;
  padding: 25px 30px;
  border-left: 4px solid var(--copper);
  background: var(--paper);
  font: 500 24px/1.45 var(--display);
  color: var(--ink);
}
.article-content ul,
.article-content ol {
  padding-left: 22px;
}
.article-content li {
  margin: 10px 0;
}
.article-callout {
  margin-top: 55px;
  padding: 30px;
  background: var(--sky);
  color: var(--ink);
}
.article-callout strong {
  font: 600 20px var(--display);
}
.article-nav {
  padding: 55px 8vw;
  background: var(--paper);
  display: flex;
  justify-content: space-between;
  gap: 25px;
  font-size: 13px;
}
.article-nav a {
  border-bottom: 1px solid var(--ink);
  padding-bottom: 8px;
}
.article-footer {
  background: var(--ink2);
  color: #fff;
  padding: 45px 8vw;
  display: flex;
  justify-content: space-between;
  font-size: 11px;
}
.article-footer a {
  color: var(--sky);
}
@media (max-width: 850px) {
  .article-body {
    grid-template-columns: 1fr;
  }
  .article-aside {
    border-bottom: 1px solid var(--line);
    padding-bottom: 20px;
  }
  .article-hero {
    padding-top: 135px;
  }
  .article-image {
    height: 55vh;
  }
  .article-nav,
  .article-footer {
    flex-direction: column;
  }
}
