/* ── Event Header (full-width above the grid) ── */
.io-ev-header{padding:0 0 24px;text-align:left}
.io-ev-header h1{font-size:clamp(1.6rem,3.5vw,2.4rem);margin:8px 0 14px}
.io-ev-meta{display:flex;align-items:center;justify-content:flex-start;gap:10px;color:var(--ink-muted);font-family:'IBM Plex Mono',monospace;font-size:.82rem}
.io-ev-dot{width:4px;height:4px;border-radius:50%;background:var(--ink-muted);flex-shrink:0}

/* ── Sticky sidebar ── */
.io-sidebar-sticky{position:sticky;top:24px}

/* ── Event at a Glance (fits in left column) ── */
.io-glance-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--border);border-radius:10px;overflow:hidden;margin-bottom:28px}
.io-glance-item{background:var(--bg-card,#181a20);padding:18px 14px;display:flex;align-items:center;gap:10px}
.io-glance-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;background:rgba(255,255,255,.04);color:var(--accent);flex-shrink:0}
.io-glance-icon svg{width:18px;height:18px}
.io-glance-item div{display:flex;flex-direction:column}
.io-glance-item strong{font-size:1.15rem;line-height:1.2;color:var(--ink)}
.io-glance-item span{font-size:.7rem;color:var(--ink-muted);font-family:'IBM Plex Mono',monospace;text-transform:uppercase;letter-spacing:.04em}

/* ── Photo Gallery ── */
.io-ev-photos{margin-bottom:28px}
.io-photos-hero{display:grid;grid-template-columns:1fr 1fr;gap:6px;border-radius:12px;overflow:hidden}
.io-ph{position:relative;display:block;overflow:hidden;aspect-ratio:4/3;background:#111}
.io-ph img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}
.io-ph:hover img{transform:scale(1.04)}
.io-ph-featured{grid-column:1/-1;aspect-ratio:21/9}
.io-ph-cap{position:absolute;bottom:0;left:0;right:0;padding:10px 14px;background:linear-gradient(transparent,rgba(0,0,0,.7));color:#fff;font-size:.78rem;font-family:'IBM Plex Mono',monospace}

/* ── Media Cards (Recordings + Slides) ── */
.io-ev-media{margin-bottom:28px}
.io-media-cards{display:flex;flex-direction:column;gap:12px}
.io-media-card{display:flex;align-items:flex-start;gap:16px;background:var(--bg-card,#181a20);border:1px solid var(--border);border-radius:10px;padding:18px;text-decoration:none;color:var(--ink);transition:border-color .2s,box-shadow .2s}
.io-media-card:hover{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.io-mc-icon{width:42px;height:42px;border-radius:10px;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.io-mc-icon svg{width:22px;height:22px}
.io-mc-video{background:rgba(239,68,68,.12);color:#ef4444}
.io-mc-slides{background:rgba(59,130,246,.12);color:#3b82f6}
.io-mc-body{flex:1;min-width:0}
.io-mc-label{font-family:'IBM Plex Mono',monospace;font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-muted);margin:0 0 4px}
.io-mc-body h3{font-size:.92rem;margin:0 0 4px;line-height:1.35}
.io-mc-meta{font-size:.8rem;color:var(--ink-muted);margin:0}
.io-mc-desc{font-size:.82rem;color:var(--ink-muted);margin:4px 0 0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.io-mc-action{white-space:nowrap;font-size:.8rem;font-weight:600;color:var(--accent);display:flex;align-items:center;gap:5px;margin-top:2px;flex-shrink:0}
.io-mc-action svg{width:14px;height:14px}

/* ── About This Event ── */
.io-ev-about{margin-bottom:28px}
.io-ev-about .eyebrow{margin-bottom:12px}

/* ── Extra Resources ── */
.io-ev-extra-resources{margin-bottom:28px;padding-top:24px;border-top:1px solid var(--border)}
.io-section-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid rgba(255,255,255,.06)}
.io-section-icon{width:28px;height:28px;color:var(--accent)}
.io-section-icon svg{width:100%;height:100%}
.io-section-head h3{font-size:.95rem;margin:0}
.io-resource-links{display:flex;flex-direction:column;gap:8px}
.io-resource-link{display:flex;align-items:flex-start;gap:12px;padding:12px 14px;background:rgba(255,255,255,.02);border:1px solid var(--border);border-radius:8px;text-decoration:none;color:var(--ink);transition:border-color .2s}
.io-resource-link:hover{border-color:var(--accent)}
.io-rl-icon{width:20px;height:20px;color:var(--ink-muted);flex-shrink:0;margin-top:2px}
.io-rl-icon svg{width:100%;height:100%}
.io-rl-body{display:flex;flex-direction:column;gap:2px}
.io-rl-body strong{font-size:.88rem}
.io-rl-body span{font-size:.78rem;color:var(--ink-muted)}

/* ── Archive Badge (sidebar) ── */
.io-archive-badge{display:inline-flex;align-items:center;gap:6px;margin-top:14px;font-size:.78rem;font-family:'IBM Plex Mono',monospace;color:#22c55e;background:rgba(34,197,94,.08);padding:6px 12px;border-radius:6px}
.io-archive-badge svg{width:14px;height:14px}

/* ── Responsive ── */
@media(max-width:720px){
  .io-glance-grid{grid-template-columns:1fr 1fr}
  .io-photos-hero{grid-template-columns:1fr}
  .io-ph-featured{aspect-ratio:16/9}
  .io-ph{aspect-ratio:16/9}
  .io-media-card{flex-direction:column;align-items:stretch}
  .io-mc-action{margin-top:10px}
  .io-ev-header{padding:32px 0 16px}
  .io-ev-meta{flex-wrap:wrap;justify-content:flex-start}
}
