.archive-detail { padding-bottom: 120px; }
#talk.archive-detail .talk-container { width: min(var(--section-max-width), calc(100% - 48px)); }
#talk.archive-detail .header h1 { margin: 0; line-height: 1.1; }
#talk.archive-detail .archive-meta { display: flex; flex-wrap: wrap; gap: 6px 20px; margin-top: 16px; color: #fff8; font-size: 14px; line-height: 1.6; }
#talk.archive-detail .archive-meta span + span::before { content: '·'; margin-right: 20px; color: #fff4; }
#talk.archive-detail .archive-body { width: 100%; gap: 0; }
.archive-kicker { margin: 0 0 12px; color: #a74848; font-family: var(--font-poppins); font-size: 12px; letter-spacing: .15em; text-transform: uppercase; }
.archive-section { width: 100%; padding: 48px 0; }
.archive-section-heading { display: flex; align-items: baseline; gap: 18px; margin-bottom: 28px; }
.archive-section-heading .archive-kicker { margin: 0; color: #fff5; }
#talk.archive-detail .archive-section-heading h2 { margin: 0; font-family: var(--font-poppins); font-size: 2.2rem; font-weight: 300; }
.archive-section-heading span { color: #fff6; font-size: 12px; }
.archive-talk-grid, .archive-training-list { width: 100%; table-layout: auto; border-collapse: collapse; border: 1px solid #fff2; background: #120A0A; }
.archive-talk, .archive-training { background: #120A0A; transition: background-color .25s ease; }
.archive-talk:hover, .archive-training:hover { background: #1a0e0e; }
.archive-talk td, .archive-training td { padding: 18px 20px; vertical-align: middle; border-bottom: 1px solid #fff2; }
.archive-talk:last-child td, .archive-training:last-child td { border-bottom: 0; }
.archive-talk-title, .archive-training-title { width: 42%; }
.archive-talk-profiles { width: 1%; padding-left: 9px !important; text-align: right; white-space: nowrap; }
.archive-talk-person, .archive-training-person { width: 25%; }
.archive-attachments { width: 1%; max-width: 72px; padding-left: 8px !important; padding-right: 8px !important; white-space: nowrap; text-align: right; }
.archive-attachments a { display: inline-flex; align-items: center; justify-content: center; width: 26px; height: 26px; color: #fff8 !important; font-size: 16px; text-decoration: none; transition: color .2s ease, transform .2s ease; }
.archive-attachments a:hover { color: #fff !important; transform: translateY(-1px); }
.archive-talk h3, .archive-training h3 { margin: 0; color: #fff; font-size: 15px; font-weight: 400; line-height: 1.45; }
.archive-talk a, .archive-training a { color: inherit !important; text-decoration: none; }
.archive-talk-profiles img { width: 48px; height: 48px; margin-left: -9px; border-radius: 50%; object-fit: cover; box-shadow: 0 4px 12px rgba(0, 0, 0, .26); filter: grayscale(.15); }
.archive-talk-person p, .archive-training-person p { margin: 0; color: #fff9; font-size: 12px; line-height: 1.5; }
.archive-talk-person span, .archive-training-person span { display: block; margin-top: 2px; color: #fff6; }
.archive-training-title p { margin: 8px 0 0; color: #fff7; }
.archive-event-list { border-top: 1px solid #fff2; }
.archive-event { padding: 22px 20px; border-bottom: 1px solid #fff2; cursor: pointer; transition: background-color .25s ease, padding-left .25s ease; }
.archive-event:hover, .archive-event:focus-visible { background: #1a0e0e; padding-left: 24px; outline: none; }
.archive-event h3 { margin: 0; color: #fff; font-size: 16px; font-weight: 400; line-height: 1.45; }
.archive-event p { max-width: 760px; margin: 8px 0 0; color: #fff8; font-size: 13px; line-height: 1.7; }
.archive-event-markdown { max-width: 760px; margin-top: 10px; color: #fff8; font-size: 13px; line-height: 1.7; }
.archive-event-markdown p { margin: 0 0 10px; }
.archive-event-markdown p:last-child { margin-bottom: 0; }
.archive-event-markdown ul, .archive-event-markdown ol { margin: 8px 0 10px 20px; padding: 0; }
.archive-event-markdown li { margin: 3px 0; }
.archive-event-markdown strong { color: #fff; font-weight: 500; }
.archive-event-markdown a { color: #fff9; text-decoration: underline; text-underline-offset: 3px; }
.archive-event-meta { display: flex; flex-wrap: wrap; gap: 14px 24px; margin-top: 14px; color: #fff6; font-family: var(--font-poppins); font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.archive-event-meta a { color: #fff9 !important; text-decoration: underline; text-underline-offset: 3px; }
.archive-sponsor-table { width: 100%; table-layout: fixed; border-collapse: collapse; border-top: 1px solid #fff2; }
.archive-sponsor-table th, .archive-sponsor-table td { padding: 22px 20px; border-bottom: 1px solid #fff2; vertical-align: middle; }
.archive-sponsor-table th { width: 22%; color: #fff8; font-family: var(--font-poppins); font-size: 12px; font-weight: 400; letter-spacing: .12em; text-align: left; text-transform: uppercase; }
.archive-sponsor-logos { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 24px 32px; }
.archive-sponsor-item { display: flex; flex-direction: column; align-items: center; gap: 8px; }
.archive-sponsor-item small { color: #fff8; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.archive-sponsor-logos a { display: inline-flex; align-items: center; justify-content: center; width: 180px; height: 64px; box-sizing: border-box; padding: 8px; border: 1px solid transparent; background: transparent; color: inherit !important; transition: opacity .2s ease; }
.archive-sponsor-logos a:hover { opacity: .72; }
.archive-sponsor-logos img { max-width: 150px; max-height: 42px; object-fit: contain; }
.archive-sponsor-logos span { color: #fff9; font-size: 13px; }
@media (max-width: 800px) {
    #talk.archive-detail { padding-bottom: 72px; }
    #talk.archive-detail .talk-container { width: calc(100% - 40px); }
    #talk.archive-detail .archive-meta { font-size: .9rem; }
    .archive-section { padding: 36px 0; }
    #talk.archive-detail .archive-section-heading h2 { font-size: 1.8rem; }
    /* Tables become compact cards on phones; profile stacks are decorative
       here and crowd out the title, presenter and attachment information. */
    .archive-talk-grid, .archive-training-list,
    .archive-talk-grid tbody, .archive-training-list tbody { display: block; border: 0; background: transparent; }
    .archive-talk, .archive-training { display: block; margin-bottom: 12px; border: 1px solid #fff2; background: #120A0A; }
    .archive-talk:last-child, .archive-training:last-child { margin-bottom: 0; }
    .archive-talk td, .archive-training td { display: block; width: auto; padding: 10px 14px; border: 0; }
    .archive-talk-title, .archive-training-title { padding-top: 14px !important; padding-bottom: 4px !important; }
    .archive-talk-profiles { display: none !important; }
    .archive-talk-person, .archive-training-person { padding-top: 4px !important; padding-bottom: 14px !important; }
    .archive-attachments { width: auto; max-width: none; padding: 4px 10px 12px !important; text-align: left; }
    .archive-attachments a { margin-right: 3px; }
    .archive-talk h3, .archive-training h3 { font-size: 14px; line-height: 1.5; }
    .archive-sponsor-table, .archive-sponsor-table tbody, .archive-sponsor-table tr, .archive-sponsor-table th, .archive-sponsor-table td { display: block; width: auto; }
    .archive-sponsor-table th, .archive-sponsor-table td { padding: 14px 16px; }
    .archive-sponsor-table th { padding-bottom: 4px; }
    .archive-sponsor-table td { padding-top: 4px; }
    .archive-sponsor-logos a { width: 150px; height: 56px; }
    .archive-event { padding: 18px 16px; }
    .archive-event:hover, .archive-event:focus-visible { padding-left: 16px; }
}
