.source-page { background: #f5eddf; }
.source-main { padding-block: 45px 30px; }
.source-title { padding: 18px 0 30px; border-bottom: 1px solid #b6a68f; }
.source-title h1 { font-size: clamp(57px,7vw,102px); letter-spacing:-.04em; line-height: .97; }
.source-title p { max-width: 50ch; margin-top: 17px; font-size: clamp(16px,1.7vw,21px); }
.source-download { display:inline-flex; align-items:center; gap:14px; margin-top:15px; min-height:44px; color:#694427; text-underline-offset:4px; }
.connection { display:grid; grid-template-columns: minmax(0,1fr) minmax(0,1.6fr); gap:30px; background:#33281f; color:var(--paper); padding:clamp(22px,3vw,42px); margin:26px 0; }
.connection h2 { font-size:clamp(34px,3.5vw,54px); letter-spacing:-.02em; }
.connection p { font-size:16px; max-width:56ch; line-height:1.55; }
.connection a { text-decoration-color:var(--copper); text-underline-offset:3px; }
.source-nav { display:flex; gap:5px 18px; flex-wrap:wrap; margin:22px 0; }
.source-nav a { color:#684323; font-size:14px; text-underline-offset:4px; display:inline-flex; align-items:center; min-height:38px; }
.source-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.source-card { background:#fffaf0; padding:clamp(19px,2.4vw,35px); border:1px solid #d2c5b0; min-width:0; }
.source-card:target { outline:2px solid #8e613d; outline-offset:3px; }
.source-kicker { color:#714c32; font-size:12px; letter-spacing:.08em; text-transform:uppercase; }
.source-card h2 { font-size:clamp(37px,3.6vw,58px); margin:6px 0; letter-spacing:-.025em; }
.source-location,.source-credit { color:#584e41; font-size:14px; line-height:1.55; }
.source-clips { margin:16px 0; display:flex; flex-direction:column; align-items:flex-start; gap:10px; }
.clipping-image { display:block; max-width:100%; text-decoration:none; cursor:zoom-in; }
.clipping-image img { display:block; max-width:100%; width:auto; height:auto; max-height:168px; border:1px solid #d0c4b0; object-fit:contain; }
.clipping-image.anderson img,.clipping-image.patrons img,.clipping-image.emerge-line img { max-height:100px; }
.clipping-image.bet img { max-height:210px; }
.source-card blockquote { margin:15px 0 9px; color:#362a21; font:italic 400 clamp(23px,2.1vw,32px)/1.15 var(--serif); }
.source-links { display:flex; flex-wrap:wrap; gap:0 14px; margin-top:9px; }
.source-links a,.related a,.sources-footer a { color:#693f23; font-size:14px; text-underline-offset:4px; display:inline-flex; align-items:center; gap:5px; min-height:38px; }
.related { max-width:750px; margin-top:30px; border-left:3px solid #956740; padding:6px 18px; }
.related h2 { font-size:33px; }
.related p { margin-top:9px; }
.sources-footer { display:flex; justify-content:space-between; padding:8px 0 24px; border-top:1px solid #bcaf99; }
@media (max-width:720px) { .source-main { padding-block:22px; } .source-grid { grid-template-columns:1fr; gap:16px; } .connection { grid-template-columns:1fr; gap:12px; } .source-nav { gap:2px 12px; margin:14px 0; } .source-nav a { min-height:36px; } .source-card { padding:21px; } }
