body { background:var(--bg-paper); }
.sources-layout { max-width:1180px; margin:auto; padding:56px 38px 110px; color:var(--text-ink); }
.sources-breadcrumb { font:12px/1.5 var(--font-sans); color:var(--text-muted); margin-bottom:50px; }
.sources-breadcrumb a { color:inherit; }
.sources-kicker { color:var(--archive-ink); font:11px/1.5 var(--font-sans); letter-spacing:.15em; }
.sources-header { display:grid; grid-template-columns:minmax(0,1fr) minmax(260px,340px); column-gap:72px; padding-bottom:54px; border-bottom:1px solid var(--border-subtle); }
.sources-header .sources-kicker { grid-column:1/-1; margin:0 0 14px; }
.sources-header h1 { grid-column:1; margin:0 0 16px; font:600 clamp(36px,4.6vw,58px)/1.35 var(--font-serif); }
.sources-header>p:not(.sources-kicker) { grid-column:1; margin:0; max-width:640px; color:var(--text-muted); font:16px/1.9 var(--font-sans); }
.sources-principle { grid-column:2; grid-row:2/4; border-left:2px solid var(--archive-ink); padding:7px 0 7px 24px; align-self:center; font:13px/1.9 var(--font-sans); }
.sources-principle strong { display:block; color:var(--archive-ink); margin-bottom:8px; }
.sources-principle span { color:var(--text-muted); }
.sources-section { padding-top:44px; }
.sources-section-heading { display:flex; justify-content:space-between; align-items:end; gap:20px; margin-bottom:28px; }
.sources-section-heading h2 { margin:7px 0 0; font:600 28px/1.4 var(--font-serif); }
#sources-count { color:var(--text-muted); font:12px/1.5 var(--font-sans); }
.sources-search-label { display:block; color:var(--text-muted); font:12px/1.6 var(--font-sans); margin-bottom:6px; }
#sources-search { width:min(100%,450px); padding:11px 14px; border:1px solid var(--border-subtle); border-radius:5px; background:#fff; color:var(--text-ink); font:14px var(--font-sans); }
#sources-search:focus-visible, .source-card a:focus-visible { outline:2px solid var(--accent-red); outline-offset:3px; }
.sources-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; margin-top:24px; }
.source-card { display:flex; flex-direction:column; min-height:210px; padding:24px 25px; border:1px solid var(--border-subtle); background:var(--bg-surface-solid); box-shadow:0 3px 10px rgba(52,43,34,.045); }
.source-card-label { color:var(--archive-ink); font:11px/1.5 var(--font-sans); letter-spacing:.1em; }
.source-card h3 { margin:10px 0 11px; font:600 19px/1.55 var(--font-sans); }
.source-card h3 a { color:var(--text-ink); }
.source-card p { margin:0 0 20px; color:var(--text-muted); font:13px/1.75 var(--font-sans); }
.source-card-related { margin-top:auto; padding-top:14px; border-top:1px solid var(--border-subtle); color:var(--text-muted); font:14px/1.6 var(--font-sans); }
.source-card-related a { display:inline-block; margin:4px 12px 0 0; color:var(--accent-red); text-wrap:pretty; }
.sources-next { display:flex; align-items:center; flex-wrap:wrap; gap:16px 30px; margin-top:64px; padding-top:25px; border-top:1px solid var(--border-subtle); }
.sources-next h2 { margin:0 auto 0 0; font:500 22px/1.5 var(--font-serif); }
.sources-next a { color:var(--accent-red); font:14px/1.5 var(--font-sans); }
@media(max-width:760px) { .sources-layout { padding:32px 20px 75px; } .sources-breadcrumb { margin-bottom:28px; } .sources-header { display:block; padding-bottom:36px; } .sources-principle { margin-top:28px; } .sources-grid { grid-template-columns:1fr; } .sources-section-heading { align-items:start; flex-direction:column; } }
