/* CNM Journal: article list (home.php) and article (single.php).
   Same language as the Legal page: centred small-caps header, hairlines, light body copy. */

.cnm-journal, .cnm-article { padding: 168px 32px 120px; background: #fff; font-family: "proxima-nova", sans-serif; color: #1a1a1a; }

/* Shared header */
.cnm-journal__header, .cnm-article__header { text-align: center; margin: 0 auto 72px; max-width: 860px; }
.cnm-journal__eyebrow, .cnm-article__eyebrow { font-size: 10px; font-weight: 600; letter-spacing: .32em; text-transform: uppercase; color: #9a9da0; margin: 0 0 18px; }
.cnm-journal__title { font-size: 34px; font-weight: 300; letter-spacing: .28em; text-transform: uppercase; margin: 0; }
.cnm-journal__rule, .cnm-article__rule { display: block; width: 40px; height: 1px; background: #1a1a1a; margin: 28px auto 0; opacity: .6; }
.cnm-journal__lead { max-width: 560px; margin: 28px auto 0; font-size: 16px; font-weight: 300; line-height: 1.8; color: #5f6265; }

/* Article list */
.cnm-journal__grid { max-width: 1200px; margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 64px 40px; }
.cnm-card { display: flex; flex-direction: column; }
.cnm-card__media { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #eceded; margin-bottom: 22px; }
.cnm-card__media img { width: 100%; height: 100%; object-fit: cover; transition: transform 900ms ease; }
.cnm-card:hover .cnm-card__media img { transform: scale(1.03); }
.cnm-card__date { font-size: 10px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: #a8abae; margin: 0 0 12px; }
.cnm-card__title { font-size: 14px; font-weight: 600; letter-spacing: .14em; text-transform: uppercase; line-height: 1.6; margin: 0 0 12px; }
.cnm-card__title a { color: #1a1a1a; text-decoration: none; }
.cnm-card__excerpt { font-size: 15px; font-weight: 300; line-height: 1.8; color: #5f6265; margin: 0 0 18px; }
.cnm-card__more { margin-top: auto; font-size: 10px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: #1a1a1a; text-decoration: none; }
.cnm-card__more:after { content: ""; display: inline-block; width: 24px; height: 1px; background: currentColor; vertical-align: middle; margin-left: 12px; transition: width 400ms; }
.cnm-card:hover .cnm-card__more:after { width: 40px; }

.cnm-journal__empty { text-align: center; font-size: 11px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: #a8abae; }

.cnm-journal__pager { max-width: 1200px; margin: 80px auto 0; padding-top: 28px; border-top: 1px solid rgba(0,0,0,.09); display: flex; justify-content: space-between; }
.cnm-journal__pager a { font-size: 10px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: #1a1a1a; text-decoration: none; }

/* Article */
.cnm-article__title { font-size: 32px; font-weight: 300; letter-spacing: .04em; line-height: 1.35; margin: 0; }
.cnm-article__media { max-width: 1100px; margin: 0 auto 64px; }
.cnm-article__media img { width: 100%; height: auto; display: block; }
.cnm-article__body { max-width: 720px; margin: 0 auto; }
.cnm-article__body p, .cnm-article__body li { font-size: 17px; font-weight: 300; line-height: 1.85; color: #4a4d50; }
.cnm-article__body p { margin: 0 0 24px; }
.cnm-article__body h2 { font-size: 13px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; line-height: 1.6; margin: 56px 0 20px; color: #1a1a1a; }
.cnm-article__body h3 { font-size: 16px; font-weight: 600; letter-spacing: .04em; margin: 40px 0 14px; color: #1a1a1a; }
.cnm-article__body ul, .cnm-article__body ol { margin: 0 0 24px 1.2em; padding: 0; }
.cnm-article__body li { margin-bottom: 8px; }
.cnm-article__body img, .cnm-article__body figure { max-width: 100%; height: auto; margin: 40px 0; }
.cnm-article__body figcaption { font-size: 12px; color: #a8abae; letter-spacing: .04em; margin-top: 10px; }
.cnm-article__body blockquote { margin: 48px 0; padding: 0 0 0 28px; border-left: 1px solid #1a1a1a; font-size: 20px; font-weight: 300; line-height: 1.7; color: #1a1a1a; }
.cnm-article__body a { color: #1a1a1a; text-decoration: none; border-bottom: 1px solid rgba(0,0,0,.25); transition: border-color 300ms; }
.cnm-article__body a:hover, .cnm-article__body a:focus { border-bottom-color: #1a1a1a; }
.cnm-article__body table { width: 100%; border-collapse: collapse; margin: 0 0 24px; font-size: 15px; }
.cnm-article__body th, .cnm-article__body td { border-bottom: 1px solid rgba(0,0,0,.09); padding: 12px 8px; text-align: left; font-weight: 300; }
.cnm-article__body th { font-size: 11px; font-weight: 600; letter-spacing: .16em; text-transform: uppercase; }

/* End of article: quiet invitation, back link */
.cnm-article__end { max-width: 720px; margin: 72px auto 0; padding-top: 48px; border-top: 1px solid rgba(0,0,0,.09); text-align: center; }
.cnm-article__end p { font-size: 15px; font-weight: 300; line-height: 1.8; color: #5f6265; margin: 0 0 24px; }
.cnm-article__cta { display: inline-block; padding: 14px 34px; background: #1a1a1a; color: #fff !important; font-size: 11px; font-weight: 600; letter-spacing: .2em; text-transform: uppercase; text-decoration: none; transition: background 300ms; }
.cnm-article__cta:hover, .cnm-article__cta:focus { background: #000; }
.cnm-article__back { display: block; margin-top: 36px; font-size: 10px; font-weight: 600; letter-spacing: .24em; text-transform: uppercase; color: #a8abae; text-decoration: none; }
.cnm-article__back:hover { color: #1a1a1a; }

@media (max-width: 1024px) {
    .cnm-journal__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 56px 28px; }
}
@media (max-width: 768px) {
    .cnm-journal, .cnm-article { padding: 124px 22px 72px; }
    .cnm-journal__header, .cnm-article__header { margin-bottom: 48px; }
    .cnm-journal__title { font-size: 24px; letter-spacing: .22em; }
    .cnm-article__title { font-size: 24px; }
    .cnm-journal__grid { grid-template-columns: 1fr; gap: 48px; }
    .cnm-article__media { margin-bottom: 40px; }
    .cnm-article__body p, .cnm-article__body li { font-size: 16px; }
}
