/* ==========================================================================
   Journal, articles, news (v2)
   ========================================================================== */
.blog-bar { display: grid; gap: var(--s-5); margin-bottom: clamp(2rem, 1rem + 3vw, 4rem); padding-block: var(--s-5); border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
@media (min-width: 1100px) { .blog-bar { grid-template-columns: minmax(16rem, 24rem) minmax(0, 1fr); align-items: center; } }
.blog-bar__topics { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; }
.blog-bar__topics::-webkit-scrollbar { display: none; }
.blog-bar__topics .chip { cursor: pointer; min-height: 40px; flex: none; font-family: var(--f-display); font-size: 0.72rem; letter-spacing: 0.12em; text-transform: uppercase; }
.post-meta { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 14px; font-family: var(--f-display); font-size: var(--t-micro); letter-spacing: 0.16em; text-transform: uppercase; color: var(--bone-3); font-weight: 500; }
.post-meta .i { color: var(--bone-3); }

/* feature spread */
.feature { display: grid; gap: var(--s-6); grid-template-columns: minmax(0, 1fr); margin-bottom: clamp(3.5rem, 2rem + 4vw, 6rem); text-decoration: none; position: relative; }
@media (min-width: 1100px) { .feature { grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: end; } .feature__img { grid-column: 1 / 9; grid-row: 1; } .feature__body { grid-column: 7 / 13; grid-row: 1; z-index: 2; padding: clamp(1.5rem, 1rem + 2vw, 3rem); background: var(--ink); border-radius: var(--r-xl) 0 0 0; margin-bottom: -1px; } }
.feature[hidden] { display: none; }
.feature__img { aspect-ratio: 16 / 10; border-radius: var(--r-xl); }
.feature__img img { transition: transform 1400ms var(--ease-out); }
.feature:hover .feature__img img { transform: scale(1.03); }
.feature__body { display: grid; gap: var(--s-4); align-content: end; }
.feature__title { font-family: var(--f-display); font-weight: 600; font-size: var(--t-xl); line-height: 0.9; letter-spacing: -0.045em; transition: color var(--t-fast); }
.feature:hover .feature__title { color: var(--flare-hi); }
.feature__excerpt { font-size: 1.15rem; line-height: 1.55; color: var(--bone-2); }

/* grid: first two large, then three-up */
.post-grid { display: grid; gap: clamp(2.5rem, 1.5rem + 2vw, 4rem) var(--col-gap); grid-template-columns: repeat(6, minmax(0, 1fr)); }
.post-grid > * { grid-column: span 2; }
.post-grid > :nth-child(1), .post-grid > :nth-child(2) { grid-column: span 3; }
.post-grid > :nth-child(1) .frame, .post-grid > :nth-child(2) .frame { aspect-ratio: 4 / 3; }
.post-grid > :nth-child(1) .post-tile__title, .post-grid > :nth-child(2) .post-tile__title { font-size: var(--t-l); }
@media (max-width: 1099.98px) { .post-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } .post-grid > *, .post-grid > :nth-child(1), .post-grid > :nth-child(2) { grid-column: span 1; } .post-grid > :nth-child(1) { grid-column: 1 / -1; } }
@media (max-width: 599.98px) { .post-grid { grid-template-columns: minmax(0, 1fr); } .post-grid > * { grid-column: 1 / -1 !important; } }
.post-tile { display: grid; gap: 12px; align-content: start; text-decoration: none; }
.post-tile[hidden] { display: none; }
.post-tile .frame { aspect-ratio: 16 / 11; border-radius: var(--r-lg); }
.post-tile .frame img { transition: transform 1200ms var(--ease-out); }
.post-tile:hover .frame img { transform: scale(1.04); }
.post-tile__title { font-family: var(--f-display); font-weight: 600; font-size: var(--t-m); line-height: 1; letter-spacing: -0.03em; transition: color var(--t-fast); }
.post-tile:hover .post-tile__title { color: var(--flare-hi); }
.post-tile__excerpt { color: var(--bone-2); font-size: 0.95rem; }

/* ---------- Article ---------- */
.article__head { width: min(100% - var(--margin) * 2, var(--w-max)); margin-inline: auto; display: grid; gap: var(--s-6); justify-items: start; padding-block: clamp(2.5rem, 1rem + 5vw, 6rem) clamp(2rem, 1rem + 3vw, 3.5rem); }
.article__title { font-family: var(--f-display); font-weight: 600; font-size: clamp(2.8rem, 1.2rem + 5.8vw, 7.4rem); line-height: 0.88; letter-spacing: -0.05em; max-width: 16ch; }
.article__dek { font-family: var(--f-read); font-style: italic; font-size: clamp(1.25rem, 1rem + 1vw, 1.9rem); line-height: 1.35; color: var(--bone-2); max-width: 44ch; }
.article__meta { gap: 8px 22px; }
.article__meta .tag { color: var(--flare-text); }
.article__hero { width: min(100% - var(--margin) * 2, var(--w-max)); margin: 0 auto clamp(3rem, 2rem + 3vw, 5rem); aspect-ratio: 21 / 9; border-radius: var(--r-xl); }
@media (max-width: 899.98px) { .article__hero { aspect-ratio: 4 / 3; } }
.article__body { margin-inline: auto; width: min(100% - var(--margin) * 2, var(--w-read)); }
.article__foot { width: min(100% - var(--margin) * 2, var(--w-read)); margin: clamp(3rem, 2rem + 2vw, 4.5rem) auto 0; padding-top: var(--s-6); border-top: 1px solid var(--line); display: grid; gap: var(--s-6); }
.byline { display: flex; gap: 14px; align-items: center; }
.byline__mark { width: 52px; height: 52px; border-radius: 50%; background: var(--wine); display: grid; place-items: center; font-family: var(--f-display); font-weight: 700; }
.byline strong { display: block; font-family: var(--f-display); font-weight: 600; }
.byline small { color: var(--bone-3); }
.rel-title { font-size: var(--t-l); letter-spacing: -0.035em; margin-bottom: var(--s-7); }
.crumbs { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font-family: var(--f-display); font-size: 0.72rem; letter-spacing: 0.16em; text-transform: uppercase; color: var(--bone-3); }
.crumbs a { color: var(--bone-2); text-decoration: none; }
.crumbs a:hover { color: var(--bone); }

/* ---------- News ---------- */
.news-filter { display: flex; gap: 6px; overflow-x: auto; scrollbar-width: none; margin-bottom: var(--s-7); }
.news-filter::-webkit-scrollbar { display: none; }
.news-filter .chip { cursor: pointer; min-height: 40px; flex: none; }
.news-list { display: grid; gap: 0 var(--col-gap); grid-template-columns: repeat(auto-fill, minmax(min(100%, 24rem), 1fr)); border-top: 1px solid var(--line); }
.news-card { display: grid; gap: 8px; align-content: start; padding: var(--s-6) 0; border-bottom: 1px solid var(--line); text-decoration: none; }
.news-card[hidden] { display: none; }
.news-card__title { font-family: var(--f-display); font-weight: 600; font-size: clamp(1.15rem, 1.05rem + 0.4vw, 1.4rem); line-height: 1.15; letter-spacing: -0.015em; transition: color var(--t-fast); }
.news-card:hover .news-card__title { color: var(--flare-hi); }
.news-card__desc { color: var(--bone-2); font-size: 0.92rem; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.news-card__src { display: flex; justify-content: space-between; align-items: center; gap: 10px; font-size: 0.8rem; color: var(--bone-3); margin-top: 4px; }
.news-card__src .i { color: var(--flare-text); }
.news-banner { aspect-ratio: 5 / 1; border-radius: var(--r-xl); margin-bottom: var(--s-7); }
@media (max-width: 639px) { .news-banner { aspect-ratio: 3 / 1; } }
