/* The newsroom: /news/, its category pages and its posts, and the model pages. Loaded only by those pages,
   after site.css, whose tokens and .prose it builds on. */

/* Headings of the newsroom and its posts are a light serif (Newsreader 300, loaded by
   the newsroom's pages only); Han and kana fall to the system's serif. */
:root{--serif:Newsreader,Georgia,serif}
:lang(zh){--serif:Newsreader,"Songti SC","Noto Serif SC","Source Han Serif SC",STSong,serif}
:lang(ja){--serif:Newsreader,"Hiragino Mincho ProN","Noto Serif JP","Yu Mincho",serif}
.news{padding-top:clamp(56px,8vw,96px)}
.cats,.crumbs,.pager{height:auto;justify-content:flex-start} /* undo site.css's header nav rule */
.crumbs{display:block}
.news-head h1{font:300 clamp(40px,5vw,56px)/1.08 var(--serif);letter-spacing:-.02em}
.news-head .sub{margin-top:12px;font-size:16px;color:var(--muted)}
.eyebrow{display:inline-block;margin-bottom:14px;font-size:14px;color:var(--muted)}
.eyebrow:hover{color:var(--ink)}
.cats{display:flex;flex-wrap:wrap;gap:6px;margin-top:28px}
.cats a{padding:5px 12px;border:1px solid var(--line);border-radius:999px;font-size:13px;color:var(--muted);transition:border-color .15s,color .15s}
.cats a:hover{border-color:var(--faint);color:var(--ink)}
.cats a[aria-current]{border-color:var(--ink);background:var(--ink);color:var(--bg)}

/* the list: the newest post as one wide card, the rest a grid of covers and titles */
.cards{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:48px 24px;margin-top:40px}
.cards a{display:grid;gap:16px;align-content:start}
.card-img{display:block;width:100%;aspect-ratio:4/3;border-radius:12px;object-fit:cover;overflow:hidden}
.card-img svg{width:30%;height:auto}
.card-text{display:grid;gap:8px;align-content:start}
.cards h2{font:300 22px/1.25 var(--serif);letter-spacing:-.02em;text-wrap:pretty}
.cards a:hover h2{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
.cards .feat{grid-column:1/-1;padding-bottom:48px;border-bottom:1px solid var(--line)}
.cards .feat a{grid-template-columns:1.35fr 1fr;gap:clamp(24px,4vw,56px);align-items:center}
.cards .feat h2{font-size:clamp(28px,3vw,36px);line-height:1.15}
.cards .feat p{max-width:52ch;font-size:16px;color:var(--muted);text-wrap:pretty}
@media(max-width:1000px){.cards{grid-template-columns:1fr 1fr}}
@media(max-width:640px){.cards{grid-template-columns:1fr;gap:40px}.cards .feat{padding-bottom:40px}.cards .feat a{grid-template-columns:1fr;gap:16px}}
.posts{list-style:none;margin-top:32px;border-top:1px solid var(--line)}
.posts li{border-bottom:1px solid var(--line)}
.posts a{display:grid;gap:10px;padding:32px 0}
.post-meta{font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.feed{margin-top:24px;font-size:14px;color:var(--muted)}
.feed a{text-decoration:underline;text-underline-offset:3px}

.post{padding-top:clamp(48px,6vw,72px)}
.post .prose,.crumbs,.pager{max-width:760px;margin-left:auto;margin-right:auto}
.crumbs{margin-bottom:28px;font-size:14px;color:var(--muted)}
.crumbs a:hover{color:var(--ink)}
.post .prose h1{margin-bottom:16px}
.news-post .prose h1{font:300 clamp(36px,5vw,52px)/1.1 var(--serif);letter-spacing:-.02em}
.post .prose .meta{margin-bottom:28px}
.post .cover{width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-radius:16px;margin:0 0 32px}
.share{display:flex;flex-wrap:wrap;align-items:center;gap:8px 18px;margin-top:56px;padding-top:24px;border-top:1px solid var(--line);font-size:14px;color:var(--muted)}
.prose .share a,.share .copy{color:var(--ink-2);text-decoration:none}
.prose .share a:hover,.share .copy:hover{color:var(--ink);text-decoration:underline}
.pager{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:48px}
.pager a{display:grid;gap:4px;padding:18px 20px;border:1px solid var(--line);border-radius:16px;font-weight:500;transition:background .15s}
.pager a:hover{background:var(--bg-2)}
.pager small{font-size:13px;font-weight:400;color:var(--muted)}
.pager .newer{grid-column:2;text-align:right}
@media(max-width:560px){.pager{grid-template-columns:1fr}.pager .newer{grid-column:1;text-align:left}}
.related,.model-cta{max-width:760px;margin:56px auto 0}
.related h2{font-size:20px;letter-spacing:-.02em}
.related .posts{margin-top:16px}
.related .posts a{gap:6px;padding:20px 0}
.related h3{font-size:18px;font-weight:500;letter-spacing:-.015em}
.related .posts a:hover h3{text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}

/* The model pages (/models/) share the post layout. */
.model-cta{padding:28px;border:1px solid var(--line);border-radius:20px;background:var(--bg-2)}
.model-cta p{margin-bottom:16px;color:var(--ink-2)}
