.articles-hero { padding: clamp(4rem, 8vw, 7rem) 0; color: #fff; background: linear-gradient(115deg, #461c1d, #6e3030); }
.articles-hero h1 { margin: 0 0 1rem; font-size: clamp(3.5rem, 8vw, 6.5rem); }
.articles-hero p { max-width: 650px; margin: 0; color: rgba(255,255,255,.78); }
.articles-index { padding: var(--space-6) 0; background: var(--color-ivory); }
.article-list { display: grid; gap: 1.5rem; }
.article-card { position: relative; padding: clamp(1.6rem, 4vw, 2.6rem); background: #fff; border: 1px solid var(--color-line); box-shadow: 0 12px 32px rgba(70,28,29,.07); }
.article-card::before { position: absolute; inset: 0 auto 0 0; width: 4px; background: var(--color-bronze); content: ""; }
.article-card__meta { display: flex; flex-wrap: wrap; align-items: center; gap: .7rem 1rem; margin-bottom: 1rem; color: var(--color-muted); font-size: .75rem; }
.article-card__meta time::before { margin-right: .4rem; color: var(--color-bronze-dark); content: "▣"; }
.article-card__author { padding: .45rem .8rem; color: var(--color-navy); background: var(--color-ivory); border-radius: 2rem; }
.article-card__author::before { margin-right: .4rem; content: "§"; }
.article-card__reference::before { margin-right: .4rem; color: var(--color-bronze-dark); content: "⚖"; }
.article-card h2 { margin: 0 0 .8rem; color: var(--color-navy); font-family: var(--font-body); font-size: clamp(1.25rem, 2.5vw, 1.65rem); font-weight: 600; line-height: 1.35; }
.article-card p { max-width: 1050px; margin-bottom: 1.5rem; color: var(--color-muted); }
.articles-state { padding: 4rem 2rem; text-align: center; background: #fff; border: 1px solid var(--color-line); }
.article-card > .button { cursor: pointer; }
.article-modal { width: min(900px, calc(100% - 2rem)); max-height: min(86vh, 900px); padding: 0; color: var(--color-ink); background: #fff; border: 0; box-shadow: 0 28px 90px rgba(28,12,13,.32); }
.article-modal::backdrop { background: rgba(35,16,18,.72); backdrop-filter: blur(3px); }
.article-modal__panel { position: relative; padding: clamp(1.6rem, 5vw, 3.5rem); }
.article-modal__close { position: sticky; z-index: 2; top: 0; float: right; width: 42px; height: 42px; display: grid; place-items: center; margin: -.8rem -.8rem .5rem 1rem; color: #fff; background: var(--color-navy); border: 0; font-size: 1.6rem; line-height: 1; cursor: pointer; }
.article-modal h2 { clear: both; margin: .5rem 0 1rem; color: var(--color-navy); font-size: clamp(2rem, 5vw, 3.4rem); }
.article-modal__summary { padding-bottom: 1.4rem; color: var(--color-muted); border-bottom: 1px solid var(--color-line); font-size: 1.02rem; }
.article-modal__content { color: #463b3e; font-family: Georgia, serif; font-size: 1.06rem; line-height: 1.9; white-space: pre-line; }
body.article-modal-open { overflow: hidden; }
@media (max-width: 760px) { .article-card { padding-left: 1.35rem; } .article-card__meta { align-items: flex-start; flex-direction: column; } .article-modal { width: calc(100% - 1rem); max-height: 92vh; } }
