/* Conferences & events: upcoming, session menu, where we've taught */
.cf-evs { list-style: none; margin: 0; padding: 0; border-top: 1px solid var(--border-paper); }
.cf-ev { display: grid; grid-template-columns: 220px 1fr; gap: 28px; padding: 24px 0; border-bottom: 1px solid var(--border-paper); }
.cf-date b { display: block; font: 500 20px/1.2 var(--font-display); color: var(--ink); }
.cf-date span { display: block; margin-top: 6px; font: 500 10.5px/1 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--text-ink-muted); }
.cf-ev h3 { margin: 0 0 6px; font: 500 22px/1.25 var(--font-display); color: var(--ink); }
.cf-ev p { margin: 0; max-width: 62ch; color: var(--text-ink-soft); font-size: 16px; line-height: 1.55; }
.cf-cols { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.cf-col { padding: 26px; border: 1px solid var(--border-paper); border-radius: 14px; background: var(--paper-hi, #FCF3ED); }
.cf-col h3 { margin: 0 0 6px; font: 500 21px/1.2 var(--font-display); color: var(--ink); }
.cf-col > p { margin: 0 0 16px; font-size: 14px; color: var(--text-ink-muted); }
.cf-col ul { list-style: none; margin: 0; padding: 0; }
.cf-col li { padding: 14px 0; border-top: 1px solid var(--border-paper); }
.cf-col li b { display: block; font-size: 15.5px; font-weight: 500; color: var(--ink); line-height: 1.35; }
.cf-col li span { display: block; margin-top: 4px; font-size: 14px; line-height: 1.5; color: var(--text-ink-soft); }
.cf-pastl { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.cf-pastl li { padding: 22px 24px; border: 1px solid var(--border-paper); border-radius: 14px; }
.cf-pastl b { display: block; font: 500 19px/1.3 var(--font-display); color: var(--ink); }
.cf-pastl span { display: block; margin: 6px 0 10px; color: var(--text-ink-soft); font-size: 15px; }
.cf-note { margin-top: 18px; font-size: 14px; color: var(--text-ink-muted); }
@media (max-width: 900px) { .cf-cols, .cf-pastl { grid-template-columns: 1fr; } .cf-ev { grid-template-columns: 1fr; gap: 8px; } }
.hp-next { border-top: 1px solid var(--border-paper); } .hp-next .cf-ev p .tlink { margin-left: 6px; white-space: nowrap; }
@media (min-width: 901px) { .cf-ev { grid-template-columns: 260px 1fr; } }
