.social-journal { background:var(--paper,#f5f1e7); border-top:1px solid var(--line,#c9c5bb); }
.journal-heading { max-width:48rem; margin-bottom:2.5rem; }
.journal-heading h2 { margin-bottom:1rem; font-size:clamp(28px,3.2vw,46px); line-height:1.45; overflow-wrap:anywhere; text-wrap:balance; }
.journal-heading p,.journal-status,.journal-original { color:#585b53; font-size:16px; line-height:1.85; overflow-wrap:anywhere; }
.journal-source { margin-top:2.5rem; }
.journal-source h3 { color:#26332d; font-size:22px; line-height:1.5; }
.journal-status { margin:.5rem 0 1.25rem; max-width:66ch; }
.journal-grid { display:grid; grid-template-columns:repeat(3, minmax(0, 1fr)); gap:1.25rem; }
.journal-card { display:flex; flex-direction:column; padding:1.5rem; background:#fffdf7; border:1px solid #cdc9bd; min-width:0; }
.journal-card__image { display:block; width:100%; height:auto; aspect-ratio:16/9; object-fit:contain; background:#eee9dd; margin-bottom:1.25rem; }
.journal-card__image[data-image-source="voicy"] { background:#ece7dc; padding:.75rem; }
.journal-card__image[hidden] { display:none; }
.journal-card time { color:#64675f; font-size:14px; font-variant-numeric:tabular-nums; }
.journal-card h4 { color:#26332d; font-size:clamp(18px,1.6vw,22px); font-weight:600; line-height:1.75; margin:.75rem 0 1rem; overflow-wrap:anywhere; text-wrap:balance; }
.journal-card a { display:flex; gap:1rem; justify-content:space-between; align-items:center; margin-top:auto; min-height:44px; color:#9c3f2c; font-size:16px; text-decoration:underline; text-underline-offset:.25em; }
.journal-card a:focus-visible,.journal-channel:focus-visible { outline:3px solid #9c3f2c; outline-offset:5px; }
.journal-original { margin-top:1rem; }
.journal-channels { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; margin-top:2rem; }
.journal-channel { display:grid; grid-template-columns:24px 1fr; column-gap:.75rem; align-items:center; padding:1rem; min-height:44px; border-top:1px solid #aaa79d; color:#26332d; font-size:18px; overflow-wrap:anywhere; }
.journal-channel__hint { grid-column:2; font-size:14px; line-height:1.7; color:#585b53; margin-top:.25rem; }
@media(max-width:900px) { .journal-grid { gap:.75rem; } .journal-card { padding:1rem; } .journal-channels { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:620px) { .journal-grid { grid-template-columns:1fr; } .journal-channels { grid-template-columns:1fr; } .journal-card { padding:1.25rem; } .journal-heading { margin-bottom:1.5rem; } }
