.cv-cal{--cv-ink:#2e2038;--cv-plum:#7533a2;--cv-peach:#f7c7a8;--cv-paper:#f8f5ef;--cv-muted:#6d6373;--cv-line:#d9cfdc;color:var(--cv-ink);background:var(--cv-paper);max-width:1180px;margin:0 auto;padding:clamp(20px,4vw,58px);font:17px/1.6 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;box-sizing:border-box;overflow-wrap:anywhere}
.cv-cal *,.cv-cal *:before,.cv-cal *:after{box-sizing:border-box}.cv-cal h1,.cv-cal h2,.cv-cal h3,.cv-cal p{margin:0}.cv-cal a{color:var(--cv-plum);text-decoration-thickness:1px;text-underline-offset:4px}.cv-cal a:hover{color:var(--cv-ink)}.cv-cal :focus-visible{outline:3px solid var(--cv-plum);outline-offset:4px}.cv-cal h1,.cv-cal h2,.cv-cal h3{font-family:Georgia,"Times New Roman",serif;font-weight:500;letter-spacing:-.035em;line-height:1.08;text-wrap:pretty}.cv-cal h1{font-size:clamp(2.8rem,7.5vw,6rem);max-width:10em}.cv-cal h2{font-size:clamp(2rem,4vw,3.4rem)}.cv-cal h3{font-size:clamp(1.6rem,2.4vw,2.2rem);line-height:1.15}.cv-cal-eyebrow{font-size:.75rem;line-height:1.5;letter-spacing:.15em;font-weight:750;color:var(--cv-plum)}.cv-cal-masthead{padding:8px 0 32px;border-bottom:2px solid var(--cv-ink)}.cv-cal-masthead .cv-cal-eyebrow{margin-bottom:22px}.cv-cal-deck{max-width:36em;font-size:clamp(1.1rem,2vw,1.35rem);color:var(--cv-muted);margin-top:20px!important}
.cv-cal-windows{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 20px}.cv-cal-windows a{min-height:44px;display:inline-flex;align-items:center;padding:10px 19px;border:1px solid var(--cv-line);border-radius:30px;text-decoration:none;font-size:.9rem;font-weight:650}.cv-cal-windows a[aria-current]{background:var(--cv-ink);border-color:var(--cv-ink);color:white}.cv-cal-filters{display:grid;grid-template-columns:minmax(0,2fr) repeat(2,minmax(0,1.2fr));gap:16px;align-items:end;padding:24px;background:#fff;border:1px solid var(--cv-line);border-radius:5px}.cv-cal-filters>div{min-width:0}.cv-cal-filters label{display:block;font-size:.78rem;font-weight:700;letter-spacing:.02em;margin-bottom:7px}.cv-cal-filters input,.cv-cal-filters select{display:block;width:100%;min-width:0;min-height:48px;border:1px solid #b5a4bf;border-radius:3px;color:var(--cv-ink);background:#fff;padding:10px 12px;font:inherit;font-size:1rem}.cv-cal-filters button{background:var(--cv-plum);border:0;color:#fff;border-radius:3px;min-height:48px;padding:11px 24px;font:inherit;font-weight:700;cursor:pointer}.cv-cal-clear{display:inline-flex;align-items:center;justify-content:center;min-height:44px;font-size:.9rem}.cv-cal-summary{display:flex;flex-wrap:wrap;gap:8px 22px;justify-content:space-between;padding:20px 0 38px;color:var(--cv-muted);font-size:.82rem}.cv-cal-summary>p:first-child{color:var(--cv-ink);font-weight:650}.cv-cal-section-head{padding:22px 0 28px}.cv-cal-section-head .cv-cal-eyebrow{margin-bottom:12px}.cv-cal-section-head>p:last-child:not(.cv-cal-eyebrow){color:var(--cv-muted);margin-top:12px}.cv-cal-day{display:grid;grid-template-columns:72px minmax(0,1fr);gap:24px;margin-bottom:28px;align-items:start}.cv-cal-date{display:flex;flex-direction:column;align-items:center;background:var(--cv-peach);border-radius:3px;padding:12px 6px;line-height:1.2;position:sticky;top:16px}.cv-cal-date span{font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.12em}.cv-cal-date strong{font:500 2.5rem/1.2 Georgia,serif;margin:4px 0}.cv-cal-day-cards{display:grid;gap:16px;min-width:0}.cv-cal-card{min-width:0;padding:clamp(20px,3vw,34px);background:#fff;border:1px solid var(--cv-line);border-radius:5px;box-shadow:0 6px 20px #2e203805}.cv-cal-card-top{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:baseline;margin-bottom:14px}.cv-cal-venue{color:var(--cv-muted);font-size:.8rem;font-weight:650;letter-spacing:.02em}.cv-cal-tags{display:flex;gap:5px;flex-wrap:wrap}.cv-cal-tags span{font-size:.68rem;font-weight:750;letter-spacing:.04em;text-transform:uppercase;color:var(--cv-plum);background:#f2eaf7;padding:4px 8px;border-radius:3px}.cv-cal-card h3{margin-bottom:16px}.cv-cal-times{list-style:none;margin:0 0 10px;padding:0;font-size:.9rem}.cv-cal-times li+li{margin-top:6px}.cv-cal-timing{font-size:.95rem;font-weight:650}.cv-cal-note{color:var(--cv-muted);font-size:.86rem;margin-top:9px!important}.cv-cal-location{margin-top:12px!important;font-size:.87rem}.cv-cal-observation{font-size:.72rem;color:var(--cv-muted);margin-top:5px!important}.cv-cal-price{font-size:.95rem;margin-top:16px!important}.cv-cal-restriction{margin-top:10px!important;padding:10px 12px;background:#fcf0e6;border-left:3px solid #a75029;font-size:.87rem}.cv-cal-availability{font-size:.84rem;font-weight:650;margin-top:12px!important}.cv-cal-status{padding:10px 12px;margin-bottom:16px!important;background:#fbece7;border-left:3px solid #a53d31;font-size:.84rem}.cv-cal-postponed .cv-cal-status{background:#fff3db;border-color:#956b20}.cv-cal-card-foot{display:flex;gap:16px;flex-wrap:wrap;justify-content:space-between;align-items:end;border-top:1px solid var(--cv-line);margin-top:22px;padding-top:16px}.cv-cal-disclosure{flex:1 1 160px;max-width:36em}.cv-cal-disclosure>span{font-size:.68rem;font-weight:750;letter-spacing:.09em;text-transform:uppercase;color:var(--cv-muted)}.cv-cal-disclosure p{font-size:.85rem;margin-top:6px}.cv-cal-story{display:inline-flex;align-items:center;gap:16px;min-height:44px;font-size:.87rem;font-weight:750}.cv-cal-runs{border-top:2px solid var(--cv-ink);margin-top:46px}.cv-cal-run-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.cv-cal-pagination{display:flex;flex-wrap:wrap;gap:8px;margin:28px 0}.cv-cal-pagination a{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;border:1px solid var(--cv-line);border-radius:50%;padding:6px 12px;text-decoration:none;font-weight:700}.cv-cal-pagination a[aria-current]{background:var(--cv-plum);color:#fff;border-color:var(--cv-plum)}.cv-cal-empty{padding:30px 24px;border:1px dashed #b9a7c4;background:#ffffff75;border-radius:4px}.cv-cal-empty p{color:var(--cv-muted);font-size:.93rem;margin-top:12px}.cv-cal-empty a{display:inline-flex;align-items:center;min-height:44px;margin-top:15px}.cv-cal-pulse{display:flex;gap:32px;justify-content:space-between;align-items:center;background:var(--cv-ink);color:#fff;padding:clamp(24px,4vw,42px);margin-top:54px;border-top:5px solid var(--cv-peach);border-radius:4px}.cv-cal-pulse .cv-cal-eyebrow{color:var(--cv-peach);margin-bottom:15px}.cv-cal-pulse p:not(.cv-cal-eyebrow){font-size:.95rem;line-height:1.65;max-width:40em;margin-top:16px;color:#ded3e4}.cv-cal-pulse a{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 22px;border-radius:28px;background:var(--cv-peach);color:var(--cv-ink);font-size:.88rem;font-weight:750;text-decoration:none}.cv-cal-footnote{font-size:.76rem;line-height:1.7;color:var(--cv-muted);margin-top:20px!important;max-width:70em}.cv-cal-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:767px){.cv-cal{font-size:16px;padding:24px 16px}.cv-cal-filters{grid-template-columns:repeat(2,minmax(0,1fr));padding:18px;gap:14px}.cv-cal-search{grid-column:1/-1}.cv-cal-summary{display:block;padding-bottom:24px}.cv-cal-summary>*+*{margin-top:5px}.cv-cal-day{grid-template-columns:54px minmax(0,1fr);gap:12px}.cv-cal-date{padding:10px 4px}.cv-cal-date strong{font-size:2rem}.cv-cal-card{padding:20px 17px}.cv-cal-run-grid{grid-template-columns:minmax(0,1fr)}.cv-cal-pulse{display:block;margin-top:38px}.cv-cal-pulse a{margin-top:24px;max-width:100%}.cv-cal-runs{margin-top:34px}.cv-cal-card-foot{display:block}.cv-cal-story{margin-top:10px}.cv-cal-section-head{padding-top:18px}.cv-cal-windows a{padding:10px 14px}}
@media(max-width:359px){.cv-cal-filters{grid-template-columns:minmax(0,1fr)}.cv-cal-search{grid-column:auto}.cv-cal-day{grid-template-columns:minmax(0,1fr)}.cv-cal-date{position:static;flex-direction:row;justify-content:start;gap:9px;padding:8px 12px;width:max-content;max-width:100%}.cv-cal-date strong{font-size:1.6rem;margin:0}.cv-cal-windows{gap:6px}.cv-cal-windows a{padding:10px 12px;font-size:.82rem}}
