.week-grid{display:grid;gap:1rem;grid-template-columns:repeat(5,1fr);margin-inline:auto}.day-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.day-card h3{margin:0;padding:.75rem 1.1rem;background:var(--brand);color:#fff;font-size:1.05rem}.day-card ul{list-style:none;margin:0;padding:.4rem 1.1rem .8rem}.day-card li{border-bottom:1px solid var(--line)}.day-card li:last-child{border-bottom:0}.sess{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 1.1rem;margin:0 -1.1rem;text-decoration:none;transition:background .12s}.sess:hover{background:var(--accent-soft)}.sess:hover .arrow{opacity:1;transform:translate(2px)}.arrow{color:var(--accent);opacity:0;transition:opacity .12s,transform .12s;font-weight:700}.day-card .t{font-variant-numeric:tabular-nums;color:var(--accent);font-weight:700;font-size:.8rem;letter-spacing:.01em;white-space:nowrap}.day-card .s{font-family:var(--serif);font-size:1.05rem;line-height:1.3;color:var(--ink)}.tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.15rem}.tag{font-family:var(--sans);font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;font-weight:600;background:var(--line);color:var(--ink-soft);padding:.12rem .45rem;border-radius:6px;white-space:nowrap}.tag-online{background:var(--accent-soft);color:var(--brand-dark)}.sess.is-upcoming{position:relative;background:var(--accent-soft);outline:2px solid var(--accent);outline-offset:-2px;border-radius:10px}.sess.is-upcoming .arrow{opacity:1}.sess.is-upcoming:before{content:attr(data-flag);position:absolute;top:-8px;right:10px;background:var(--accent);color:#2a1d05;font-family:var(--sans);font-size:.58rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase;padding:.16rem .5rem;border-radius:6px;box-shadow:0 1px 3px #1c243033}@media (max-width: 980px){.week-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width: 640px){.week-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 440px){.week-grid{grid-template-columns:1fr}}.online-wrap{display:grid;gap:1.5rem;grid-template-columns:minmax(0,360px) 1fr;align-items:start;max-width:880px;margin-inline:auto}.online-join{background:linear-gradient(160deg,#f4f8fc,#fff);border:1px solid #cfe0f0;border-radius:var(--radius);padding:1.5rem}.online-join h3{margin:0 0 1rem;font-size:1.15rem}.online-creds{margin:1.1rem 0 0;display:grid;gap:.55rem}.online-creds div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.55rem;font-size:.95rem}.online-creds dt{color:var(--ink-soft)}.online-creds dd{margin:0;font-weight:600;font-variant-numeric:tabular-nums}.online-tips h3{margin:0 0 .8rem;font-size:1.15rem}.online-tips ul{margin:0;padding-left:1.1rem;color:var(--ink-soft)}.online-tips li{margin-bottom:.6rem}@media (max-width: 640px){.online-wrap{grid-template-columns:1fr}}.session-modal{border:0;border-radius:16px;padding:0;max-width:460px;width:calc(100% - 2rem);box-shadow:0 20px 60px #141e2d4d;background:var(--surface);color:var(--ink)}.session-modal::backdrop{background:#161e2d8c;backdrop-filter:blur(2px)}.m-card{position:relative;padding:1.8rem}.m-close{position:absolute;top:.8rem;right:.9rem;width:32px;height:32px;border:0;border-radius:8px;background:var(--bg);color:var(--ink-soft);font-size:1.3rem;line-height:1;cursor:pointer}.m-close:hover{background:var(--line);color:var(--ink)}.m-eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.76rem;font-weight:700;color:var(--accent);margin:0 2rem .2rem 0}.m-title{font-size:1.6rem;margin:0 1.5rem .6rem 0}.m-aud{color:var(--ink-soft);font-size:.92rem;margin:0 0 1.1rem;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.m-badge{font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:.2rem .55rem;border-radius:20px}.m-badge.online,.m-badge.hybrid{background:var(--accent-soft);color:var(--brand-dark)}.m-badge.in-person{background:var(--line);color:var(--ink-soft)}.m-join{background:linear-gradient(160deg,#f4f8fc,#fff);border:1px solid #cfe0f0;border-radius:12px;padding:1rem;margin-bottom:1rem}.m-join .btn{width:100%;justify-content:center}.m-creds{display:grid;gap:.5rem;margin-top:.9rem}.cred{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:.5rem .4rem .5rem .8rem;background:var(--bg);border:1px solid var(--line);border-radius:10px}.cred-info{display:grid;gap:.05rem;min-width:0}.cred-k{font-size:.64rem;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-soft);font-weight:700}.cred-v{font-weight:600;font-variant-numeric:tabular-nums;font-size:1.02rem;overflow-wrap:anywhere}.cred-copy{flex:none;border:1px solid var(--line);background:var(--surface);color:var(--brand);font-weight:600;font-size:.8rem;padding:.4rem .8rem;border-radius:8px;cursor:pointer}.cred-copy:hover{border-color:var(--brand)}.cred-copy.copied{background:var(--accent-soft);color:var(--brand-dark);border-color:var(--accent-soft)}.m-place{font-size:.95rem;margin:0 0 1rem;color:var(--ink-soft)}.m-details{display:grid;gap:.7rem;margin:0 0 1rem}.m-details div{display:grid;gap:.1rem}.m-details dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--accent)}.m-details dd{margin:0;font-size:.95rem}.m-notes{margin:0;padding-left:1.1rem;color:var(--ink-soft);font-size:.88rem}.m-notes li{margin-bottom:.35rem}.act-card .badge{display:inline-block;font-size:.74rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--brand-dark);background:var(--accent-soft);padding:.2rem .6rem;border-radius:20px;margin-bottom:.6rem}
