/* Shared homepage / toolkit agenda rows + detail modal. */
.events-band{
  --blue:#C61CA0;
  --ink-mute:#6B6555;
  --ink-soft:#3C382E;
  --tb-accent:#C61CA0;
  --tb-accent-deep:#A01180;
}
.events-band .k-class{--kc:#C61CA0}
.events-band .k-workshop{--kc:#C7603A}
.events-band .k-hackathon{--kc:#2F7D5B}
.events-band .k-webinar{--kc:#3B5BA8}
.events-band .k-conference{--kc:#7A4BC4}
.events-band .k-panel{--kc:#A67C3D}
.events-band .ev{
  display:grid;
  grid-template-columns:92px 1fr auto;
  gap:20px;
  align-items:start;
  padding:20px 4px;
  border-bottom:1px solid var(--line);
  transition:background .14s ease;
  cursor:pointer;
}
.events-band .ev:hover{background:var(--paper-2)}
.events-band .ev-date{
  text-align:center;
  border-right:1px solid var(--line);
  padding-right:16px;
  padding-top:2px;
}
.events-band .ev-date .d{
  font-family:'Space Grotesk',sans-serif;
  font-weight:700;
  font-size:30px;
  line-height:1;
  color:var(--ink);
}
.events-band .ev-date .m{
  font-family:'Space Mono',monospace;
  font-size:11px;
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--kc,var(--blue));
  margin-top:5px;
}
.events-band .ev-date .wd{
  font-family:'Space Mono',monospace;
  font-size:10px;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--ink-mute);
  margin-top:3px;
}
.events-band .ev-main{min-width:0;overflow:visible}
.events-band .ev-tags{display:flex;gap:7px;align-items:center;margin-bottom:7px;flex-wrap:wrap}
.events-band .ev-kind{
  font-family:'Space Mono',monospace;
  font-size:9.5px;
  font-weight:700;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:#fff;
  background:var(--kc,var(--blue));
  border-radius:5px;
  padding:3px 8px;
}
.events-band .ev-meta-inline{
  font-family:'Space Mono',monospace;
  font-size:10.5px;
  letter-spacing:.04em;
  color:var(--ink-mute);
  text-transform:uppercase;
}
.events-band .ev-main h3{
  font-family:'Space Grotesk',sans-serif;
  font-weight:600;
  font-size:20px;
  letter-spacing:-.01em;
  line-height:1.15;
  margin:0 0 5px;
  color:var(--ink);
}
.events-band .ev-main .ev-desc{
  font-size:14px;
  color:var(--ink-soft);
  line-height:1.55;
  margin:8px 0 0;
  max-width:62ch;
}
.events-band .ev-instructor-chip{
  display:inline-flex;align-items:center;gap:7px;margin-top:0;
  font-family:Inter,sans-serif;font-size:13px;font-weight:500;
  color:var(--ink);letter-spacing:0;text-transform:none;
}
.events-band .ev-instructor-chip img,
.events-band .ev-instructor-chip .av-fallback{
  width:22px;height:22px;border-radius:50%;object-fit:cover;flex:none;
  background:var(--paper-2);display:inline-flex;align-items:center;justify-content:center;
  font-family:'Space Mono',monospace;font-size:9px;font-weight:700;color:var(--ink-mute);
}
.events-band .ev-instructor-chip strong{font-weight:600;color:var(--ink)}
.events-band .ev-instructor-chip .ev-instructor-k{
  font-family:'Space Mono',monospace;font-size:10px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);
}
.events-band .ev-sponsors{display:flex;align-items:center;gap:10px;margin-top:12px;flex-wrap:wrap}
.events-band .ev-sponsors-label{
  font-family:'Space Mono',monospace;font-size:10px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:var(--ink-mute);
}
.events-band .ev-sponsors-logos{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.events-band .ev-sponsors-logos img{
  height:28px;width:auto;max-width:148px;object-fit:contain;display:block;
  filter:grayscale(.15);opacity:.92;
}
.events-band .ev-sponsor-link{display:inline-flex;align-items:center;line-height:0}
.events-band .ev-cta{display:flex;flex-direction:column;align-items:flex-end;gap:6px;white-space:nowrap;padding-top:28px}
.events-band .ev-cta .ev-deck{
  font-family:'Space Mono',monospace;font-size:12px;font-weight:700;
  color:var(--kc,var(--tb-accent,#C61CA0));text-decoration:none
}
.events-band .ev-cta .ev-deck:hover{text-decoration:underline;text-underline-offset:2px}
.events-band .ev.past .ev-cta .recap{
  font-family:'Space Mono',monospace;font-size:12px;font-weight:700;color:var(--muted,#6B6555);text-decoration:none
}
.events-band .ev-cta .btn{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  font-size:13px;font-weight:600;padding:10px 16px;border-radius:8px;
  border:1.5px solid transparent;text-decoration:none;cursor:pointer;
  transition:background .14s ease,color .14s ease,border-color .14s ease;
}
.events-band .ev-cta .btn-primary{background:var(--tb-accent);color:#fff;border-color:var(--tb-accent)}
.events-band .ev-cta .btn-primary:hover{background:var(--tb-accent-deep);border-color:var(--tb-accent-deep);color:#fff;box-shadow:none}
.events-band .up-empty{padding:28px 0;color:var(--muted)}
.events-band .up-empty a{color:var(--magenta,#C61CA0)}
@media(max-width:720px){
  .events-band .ev{grid-template-columns:64px 1fr;gap:12px}
  .events-band .ev-date{padding-right:10px}
  .events-band .ev-date .d{font-size:24px}
  .events-band .ev-cta{grid-column:2;justify-self:start;margin-top:4px;padding-top:0;align-items:flex-start}
  .events-band .ev-main h3{font-size:17px}
}

.home-ev-scrim{
  position:fixed;inset:0;background:rgba(22,20,15,.55);backdrop-filter:blur(3px);
  z-index:1100;display:none;align-items:center;justify-content:center;padding:24px;
}
.home-ev-scrim.on{display:flex}
.home-ev-modal{
  background:#F5F1E8;border-radius:16px;max-width:560px;width:100%;
  max-height:min(92vh,900px);padding:0;overflow-x:hidden;overflow-y:auto;
  -webkit-overflow-scrolling:touch;overscroll-behavior:contain;
  box-shadow:0 30px 80px -20px rgba(22,20,15,.5);--kc:#C61CA0;
}
.home-ev-modal.k-class{--kc:#C61CA0}
.home-ev-modal.k-workshop{--kc:#C7603A}
.home-ev-modal.k-hackathon{--kc:#2F7D5B}
.home-ev-modal.k-webinar{--kc:#3B5BA8}
.home-ev-modal.k-conference{--kc:#7A4BC4}
.home-ev-modal.k-panel{--kc:#A67C3D}
.home-ev-modal .top{background:var(--kc);color:#fff;padding:20px 24px;position:relative}
.home-ev-modal .top .k{
  font-family:'Space Mono',monospace;font-size:10px;font-weight:700;
  letter-spacing:.1em;text-transform:uppercase;opacity:.85;
}
.home-ev-modal .top h3{
  font-family:'Space Grotesk',sans-serif;font-size:23px;margin-top:8px;line-height:1.1;color:#fff;
}
.home-ev-modal .close{
  position:absolute;top:14px;right:16px;background:rgba(255,255,255,.2);
  border:none;color:#fff;width:28px;height:28px;border-radius:50%;cursor:pointer;font-size:16px;z-index:2;
}
.home-ev-modal .cover-wrap{position:relative;background:#1a1814}
.home-ev-modal .cover{
  display:block;width:100%;height:auto;max-height:min(28vh,240px);
  object-fit:contain;object-position:center;background:#1a1814;
}
.home-ev-modal .cover-wrap .close{background:rgba(22,20,15,.45)}
.home-ev-modal .body{padding:22px 24px 18px;color:#16140F}
.home-ev-modal .row{
  display:flex;gap:10px;font-size:14px;color:#3C382E;margin-bottom:10px;align-items:baseline;
}
.home-ev-modal .row .lb{
  font-family:'Space Mono',monospace;font-size:10px;font-weight:700;
  letter-spacing:.06em;text-transform:uppercase;color:#6B6555;min-width:64px;
}
.home-ev-modal .desc{font-size:14px;color:#3C382E;line-height:1.55;margin:14px 0 0}
.home-ev-modal .desc p{margin:0 0 .85em;display:block;max-width:none;overflow:visible;-webkit-line-clamp:unset}
.home-ev-modal .desc p:last-child{margin-bottom:0}
.home-ev-modal .desc a{color:#C61CA0;font-weight:500;text-decoration:underline;text-underline-offset:2px}
.home-ev-modal .desc strong{color:#16140F;font-weight:600}
.home-ev-modal .ev-instructor{display:inline-flex;align-items:center;gap:10px;font-size:14px;color:#16140F}
.home-ev-modal .ev-instructor img,
.home-ev-modal .ev-instructor .av-fallback{
  width:32px;height:32px;border-radius:50%;object-fit:cover;
  border:1.5px solid #F5F1E8;background:#EDE8DC;
  display:inline-flex;align-items:center;justify-content:center;
  font-family:'Space Mono',monospace;font-size:11px;font-weight:700;color:#6B6555;
}
.home-ev-modal .ev-instructor a{color:#16140F;font-weight:600;text-decoration:none}
.home-ev-modal .ev-instructor a:hover{color:#C61CA0}
.home-ev-modal .row.ev-instructor-row{align-items:center}
.home-ev-modal .ev-sponsors{margin-top:18px;padding-top:16px;border-top:1px solid #D9D2C0}
.home-ev-modal .ev-sponsors-label{
  font-family:'Space Mono',monospace;font-size:10px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase;color:#6B6555;
}
.home-ev-modal .ev-sponsors-logos{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:8px}
.home-ev-modal .ev-sponsors-logos img{height:32px;width:auto;max-width:160px;object-fit:contain;display:block}
.home-ev-modal .ev-sponsor-link{display:inline-flex;align-items:center;line-height:0}
.home-ev-modal .foot{
  position:sticky;bottom:0;z-index:3;padding:14px 24px 20px;border-top:1px solid #D9D2C0;
  background:#F5F1E8;box-shadow:0 -10px 24px -18px rgba(22,20,15,.35);
}
.home-ev-modal .foot .btn{
  display:inline-flex;width:100%;justify-content:center;align-items:center;
  padding:14px 18px;border-radius:8px;font-size:14px;font-weight:600;text-decoration:none;
  background:#C61CA0;color:#fff;border:1.5px solid #C61CA0;
}
.home-ev-modal .foot .btn:hover{background:#A01180;border-color:#A01180;color:#fff}
.home-ev-modal .foot .ev-deck{
  display:block;text-align:center;margin:0 0 10px;
  font-family:'Space Mono',monospace;font-size:12px;font-weight:700;
  color:#C61CA0;text-decoration:none
}
.home-ev-modal .foot .ev-deck:hover{text-decoration:underline;text-underline-offset:2px}
.home-ev-modal .ev-cant{
  display:block;width:100%;margin-top:12px;padding:0;border:none;background:none;cursor:pointer;
  font-family:Inter,sans-serif;font-size:14px;font-weight:500;color:#6B6555;text-align:center;
  text-decoration:underline;text-underline-offset:3px;
}
.home-ev-modal .ev-cant:hover{color:#C61CA0}
body.home-ev-open{overflow:hidden}
