body[data-section="news"],
body[data-section="story"],
body[data-section="focus"],
body[data-section="about"]{
  --bg:#fffdfa;
  --ink:#151412;
  --muted:#79746c;
  --line:#e3ded6;
  --soft:#f3f0eb;
  --accent:#8c6954;
  --max:1440px;
  background:var(--bg);
}

.news-wrap{
  max-width:var(--max);
  padding:42px 24px 30px;
}

.news-section-head,
.news-toolbar{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:24px;
}
.news-section-head{
  margin-bottom:24px;
}
.news-section-head span,
.toolbar-label{
  color:var(--accent);
  font-size:12px;
  font-weight:720;
  letter-spacing:.12em;
  text-transform:uppercase;
}
.news-section-head h1,
.news-toolbar h2{
  margin:8px 0 0;
  font-size:32px;
  line-height:1.18;
  font-weight:520;
  letter-spacing:-.04em;
  word-break:keep-all;
}

.news-recommend{
  padding-bottom:64px;
  border-bottom:1px solid var(--line);
}
.recommend-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px;
}
.recommend-card{
  min-width:0;
}
.recommend-card__image{
  position:relative;
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--soft);
}
.recommend-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.recommend-card:hover img{
  transform:scale(1.025);
}
.recommend-card__image span{
  position:absolute;
  left:20px;
  top:18px;
  color:#fff;
  font-size:12px;
  font-weight:760;
  letter-spacing:.08em;
  text-transform:uppercase;
  text-shadow:0 1px 8px rgba(0,0,0,.42);
}
.recommend-card__body{
  padding-top:20px;
}
.recommend-card__body h2{
  margin:0;
  font-size:28px;
  line-height:1.25;
  font-weight:620;
  letter-spacing:-.04em;
  word-break:keep-all;
}
.recommend-card__body p{
  margin:12px 0 0;
  max-width:620px;
  color:var(--muted);
  font-size:15px;
  line-height:1.75;
  word-break:keep-all;
}
.recommend-card__body time{
  display:block;
  margin-top:22px;
  color:var(--ink);
  font-size:14px;
  font-weight:650;
  letter-spacing:.02em;
}

.news-archive{
  padding-top:56px;
}
.news-toolbar{
  margin-bottom:28px;
}
.sort{
  border:0;
  border-radius:0;
  background-color:transparent;
  padding:4px 28px 4px 0;
  color:var(--muted);
}

.post-list{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:38px 30px;
}
.news-archive-card{
  opacity:0;
  transform:translateY(18px);
  animation:newsArchiveRise .72s cubic-bezier(.2,.72,.2,1) forwards;
  animation-delay:calc(var(--row-index, 0) * .08s);
}
.news-archive-card__image{
  display:block;
  aspect-ratio:16/9;
  overflow:hidden;
  background:var(--soft);
}
.news-archive-card__image img{
  width:100%;
  height:100%;
  object-fit:cover;
  transition:transform .45s ease;
}
.news-archive-card:hover img{
  transform:scale(1.025);
}
.news-archive-card__body{
  padding-top:18px;
}
.post-kicker{
  color:var(--accent);
  font-size:12px;
  font-weight:640;
  letter-spacing:.04em;
  margin-bottom:10px;
}
.news-archive-card h2{
  margin:0;
  font-size:24px;
  line-height:1.32;
  font-weight:620;
  letter-spacing:-.035em;
  word-break:keep-all;
}
.news-archive-card p{
  margin:12px 0 0;
  color:var(--muted);
  font-size:15px;
  line-height:1.72;
  word-break:keep-all;
}
.post-date{
  display:block;
  margin-top:22px;
  color:var(--ink);
  font-size:14px;
  font-weight:650;
}

.pager button{
  border-radius:0;
  background:transparent;
}
.pager button.is-on{
  background:var(--ink);
  border-color:var(--ink);
}

.footer{
  border-top:1px solid var(--ink);
  margin-top:70px;
}

@keyframes newsArchiveRise{
  from{
    opacity:0;
    transform:translateY(18px);
  }
  to{
    opacity:1;
    transform:translateY(0);
  }
}

@media(max-width:980px){
  .recommend-grid,
  .post-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}

@media(max-width:620px){
  .news-wrap{
    padding:28px 18px 30px;
  }
  .news-section-head,
  .news-toolbar{
    align-items:flex-start;
    flex-direction:column;
  }
  .recommend-grid,
  .post-list{
    grid-template-columns:1fr;
  }
  .recommend-card__body h2,
  .news-archive-card h2{
    font-size:24px;
  }
}
