/* Upcoming Session page */
.us-title{font-size:clamp(2.5rem,5.4vw,4.6rem)}
.part{display:grid;grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:1.5rem clamp(2rem,4vw,3.5rem);padding:2rem 0;border-top:1px solid var(--line)}
.part:last-child{border-bottom:1px solid var(--line)}
.part-h{display:flex;align-items:center;gap:.8rem;align-self:start;position:sticky;top:calc(var(--nav-h) + 20px)}
.part-n{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:var(--purple);color:#fff;font-weight:700}
.part-h h3{font-size:1.5rem}
.mods{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px}
.mod{padding:1.2rem 1.25rem;border-radius:var(--r-surface);background:var(--surface);border:1px solid var(--line);display:flex;flex-direction:column;gap:.5rem}
.mod h4{display:flex;align-items:center;gap:.55rem;font-size:1.05rem;font-weight:680;letter-spacing:-.01em}
.mod h4 img,.mod h4 .i{width:22px;height:22px;flex:none}
.mod h4 .i{color:var(--hl)}
.mod h4 em{margin-left:auto;font-style:normal;font-size:.75rem;font-weight:650;color:var(--link);background:var(--accent-soft);padding:.15rem .5rem;border-radius:99px;white-space:nowrap}
.mod p{color:var(--muted);font-size:.93rem}
.mod .tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:auto;padding-top:.4rem}
.mod .tags span{font-size:.78rem;font-weight:560;color:var(--muted);border:1px solid var(--line);border-radius:99px;padding:.15rem .55rem}
.mod-bonus{grid-column:1/-1;border-style:dashed;border-color:color-mix(in srgb,var(--purple) 45%,transparent);background:var(--accent-soft)}
@media (max-width:900px){.part{grid-template-columns:1fr}.part-h{position:static}}

.outcomes{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:2rem clamp(2rem,5vw,4.5rem);align-items:start}
.checks{list-style:none;display:grid;grid-template-columns:1fr 1fr;gap:0 1.75rem;border-top:1px solid var(--line)}
.checks li{display:flex;gap:.7rem;align-items:flex-start;padding:.9rem 0;border-bottom:1px solid var(--line)}
.checks .i{width:20px;height:20px;flex:none;margin-top:.15rem;color:var(--done)}
@media (max-width:900px){.outcomes{grid-template-columns:1fr}}
@media (max-width:560px){.checks{grid-template-columns:1fr}}

.yt-band{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1.5rem 3rem;align-items:end}
.yt-band .lede{margin-top:1rem}
.yt-band .page-cta{margin-top:0}
@media (max-width:900px){.yt-band{grid-template-columns:1fr}}

/* Workshop (past session) */
.ws-past{margin-bottom:1.25rem;color:var(--ink-muted);background:var(--ink-2);border-color:var(--ink-line)}
.ws-past .i{width:16px;height:16px;color:var(--hl)}
.ws-title{font-size:clamp(2.4rem,5vw,4.4rem)}
.ws-agenda{list-style:none;display:grid;border-top:1px solid var(--line)}
.ws-agenda li{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:.15rem 1rem;padding:1rem 0;border-bottom:1px solid var(--line)}
.ws-agenda .mono{grid-row:span 2;font-size:.85rem;color:var(--link);padding-top:.15rem}
.ws-agenda b{font-weight:680}
.ws-agenda li>span:last-child{color:var(--muted);font-size:.95rem}
.mod h3.mod-h{display:flex;align-items:center;gap:.55rem;font-size:1.05rem;font-weight:680;letter-spacing:-.01em}.mod h3.mod-h img,.mod h3.mod-h .i{width:22px;height:22px;flex:none}.mod h3.mod-h .i{color:var(--hl)}.mod h3.mod-h em{margin-left:auto;font-style:normal;font-size:.75rem;font-weight:650;color:var(--link);background:var(--accent-soft);padding:.15rem .5rem;border-radius:99px;white-space:nowrap}
