/* Stream grid */
.stream-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 0.5px solid var(--rule); margin-top: var(--sp-5); }
.stream-card { padding: var(--sp-5) var(--sp-4) var(--sp-5) 0; display: flex; flex-direction: column; gap: var(--sp-3); text-decoration: none; color: inherit; }
.stream-card + .stream-card { border-left: 0.5px solid var(--rule); padding-left: var(--sp-4); }
.stream-card .stream-label { font-family: var(--sans); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; color: var(--forest-deep); }
.stream-card h3 { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: clamp(24px, 2.6vw, 30px); margin: 0; color: var(--ink); }
.stream-card p { font-family: var(--serif); font-size: 18px; line-height: 1.55; color: var(--ink); margin: 0; font-weight: 500; }
.stream-card .stream-count { font-family: var(--sans); font-size: 12px; letter-spacing: 0.12em; text-transform: uppercase; color: var(--meta); margin-top: auto; }
.stream-card .stream-link { font-family: var(--sans); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--forest-deep); border-bottom: 0.5px solid var(--forest-deep); padding-bottom: 3px; width: fit-content; }
.stream-card:hover h3 { color: var(--forest-deep); }
@media (max-width: 820px) { .stream-grid { grid-template-columns: 1fr; } .stream-card + .stream-card { border-left: 0; border-top: 0.5px solid var(--rule); padding-left: 0; padding-top: var(--sp-5); } }

/* From the archive — a quiet record of past programmes */
.archive-intro { font-family: var(--serif); font-size: 18px; line-height: 1.6; color: var(--meta); margin: 0; max-width: 56ch; }
.prog-archive { list-style: none; margin: var(--sp-5) 0 0 0; padding: 0; border-top: 0.5px solid var(--rule); }
.prog-archive-item { border-bottom: 0.5px solid var(--rule); }
.prog-archive-item a { display: grid; grid-template-columns: 160px 1fr 160px; gap: var(--sp-4); align-items: baseline; padding: var(--sp-4) 0; text-decoration: none; color: inherit; }
.prog-archive-item .pa-dates { font-family: var(--sans); font-size: 12px; letter-spacing: 0.04em; color: var(--meta); }
.prog-archive-item .pa-name { font-family: var(--serif); font-style: italic; font-weight: 400; font-size: clamp(19px, 2vw, 24px); line-height: 1.2; color: var(--ink); }
.prog-archive-item .pa-stream { font-family: var(--sans); font-size: 11px; letter-spacing: 0.14em; text-transform: uppercase; color: var(--meta); text-align: right; }
.prog-archive-item a:hover .pa-name { color: var(--forest-deep); }
@media (max-width: 720px) { .prog-archive-item a { grid-template-columns: 1fr; gap: 4px; } .prog-archive-item .pa-stream { text-align: left; } }
.page-head .ph-dek + .ph-dek { margin-top: 1em; }

/* Newsletter sign-up in the page head */
.page-head .ov-news { display: grid; gap: 10px; max-width: 520px; }
.ov-news .pn-label { font-family: var(--sans); font-size: 12px; letter-spacing: 0.16em; text-transform: uppercase; color: var(--forest-deep); line-height: 1.5; }
.ov-news .pn-field { display: grid; grid-template-columns: 1fr auto; gap: 14px; border-bottom: 0.5px solid var(--ink); }
.ov-news input { background: transparent; border: 0; padding: 10px 0; color: var(--ink); font-family: var(--serif); font-size: 19px; font-weight: 500; outline: none; min-width: 0; }
.ov-news input::placeholder { color: var(--meta); }
.ov-news button { background: transparent; border: 0; color: var(--ink); font-family: var(--sans); font-size: 12px; letter-spacing: 0.2em; text-transform: uppercase; padding: 10px 0; cursor: pointer; white-space: nowrap; }
.ov-news button:hover { opacity: 0.7; }
.ov-news.is-sent input { color: var(--meta); }

/* Image under the three settings columns */
.settings-image { margin: var(--sp-5) 0 0; }
.settings-image img { display: block; width: 100%; height: auto; }
