.page-hero{padding-block:var(--space-6) var(--space-4);text-align:center}.page-title{font-family:var(--font-display);margin:var(--space-2) 0 var(--space-3);line-height:.95}.page-title-line{display:block}.page-title-line--accent{color:var(--gold-bright);letter-spacing:.02em;margin-top:.5rem;font-size:.7em;font-style:italic}.hero-lede{max-width:60ch;margin:var(--space-3) auto 0;color:var(--parchment);opacity:.9}.schedule-notice{border:1px solid var(--rule);background:var(--ink-soft);padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);font-size:.95rem}.schedule-notice p{max-width:none;margin:0}.schedule-notice--error{background:#9c3a3a14;border-color:#9c3a3a}.schedule-notice code{background:#0000000f;border-radius:2px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.9em}.schedule-controls{justify-content:space-between;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3);padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);flex-wrap:wrap;display:flex}.schedule-controls-left{align-items:center;gap:var(--space-2);display:flex}.current-month{font-family:var(--font-display);color:var(--parchment-bright);text-align:center;letter-spacing:.01em;min-width:11ch;margin:0;font-size:clamp(1.5rem,3vw,2rem);font-weight:500}.schedule-arrow{border:1px solid var(--rule);width:2.5rem;height:2.5rem;color:var(--gold);cursor:pointer;font-size:1.5rem;line-height:1;font-family:var(--font-display);background:0 0;justify-content:center;align-items:center;transition:all .2s;display:flex}.schedule-arrow:hover{background:var(--gold);color:var(--ink);border-color:var(--gold)}.schedule-today{font-family:var(--font-caps);letter-spacing:.2em;text-transform:uppercase;border:1px solid var(--gold);color:var(--parchment-bright);cursor:pointer;background:0 0;padding:.65rem 1.25rem;font-size:.75rem;transition:all .2s}.schedule-today:hover{background:var(--gold);color:var(--ink)}.calendar-legend{margin:0 0 var(--space-3);gap:var(--space-2) var(--space-3);padding:0;padding-bottom:var(--space-2);border-bottom:1px solid var(--rule);flex-wrap:wrap;justify-content:center;align-items:center;list-style:none;display:flex}.calendar-legend-item{align-items:center;gap:.5rem;display:inline-flex}.calendar-legend-swatch{border:1px solid var(--rule);flex-shrink:0;width:.85rem;height:.85rem;display:inline-block}.calendar-legend-name{font-family:var(--font-caps);letter-spacing:.25em;text-transform:uppercase;color:var(--parchment-bright);font-size:.7rem}.calendar-legend-item--primary .calendar-legend-name{font-weight:700}.modal-calendar-swatch{border:1px solid var(--rule);vertical-align:middle;flex-shrink:0;width:.75rem;height:.75rem;margin-right:.4rem;display:inline-block}.calendar-wrap{border:1px solid var(--rule);background:var(--ink-soft)}.weekday-row{border-bottom:1px solid var(--rule);grid-template-columns:repeat(7,1fr);display:grid}.weekday-row span{font-family:var(--font-caps);letter-spacing:.25em;text-transform:uppercase;color:var(--gold);text-align:center;border-right:1px solid var(--rule);padding:.75rem 0;font-size:.7rem}.weekday-row span:last-child{border-right:0}.calendar-grid{flex-direction:column;display:flex}.cal-week{border-bottom:1px solid var(--rule);--span-offset:0px;grid-template-columns:repeat(7,1fr);display:grid;position:relative}.cal-week:last-child{border-bottom:0}.cal-cell{border-right:1px solid var(--rule);background:var(--ink);flex-direction:column;gap:.3rem;min-height:130px;padding:.4rem .4rem .5rem;display:flex;overflow:hidden}.cal-cell:last-child{border-right:0}.cal-cell--muted{background:var(--ink-soft)}.cal-cell--muted .cal-day-num{color:var(--muted);opacity:.6}.cal-cell--today{background:#8a6a1f0f}.cal-cell--today .cal-day-num{background:var(--gold);color:var(--ink);border-radius:50%;justify-content:center;align-items:center;width:1.75rem;height:1.75rem;margin:-.15rem 0 0 -.15rem;display:inline-flex}.cal-day-num{font-family:var(--font-display);color:var(--parchment-bright);align-self:flex-start;font-size:.95rem;font-weight:600;line-height:1}.cal-events{flex-direction:column;gap:2px;margin:0;padding:0;list-style:none;display:flex;overflow:hidden}.cal-week--has-spans .cal-events{margin-top:var(--span-offset)}.cal-event{text-align:left;border:0;border-left:2px solid var(--event-color,var(--gold));cursor:pointer;width:100%;font-family:var(--font-body);color:var(--parchment-bright);background:0 0;align-items:baseline;gap:.4rem;padding:.2rem .3rem .2rem .4rem;font-size:.78rem;line-height:1.2;transition:background .15s,border-color .15s;display:flex;overflow:hidden}.cal-event:hover,.cal-event:focus-visible{border-left-color:var(--event-color,var(--gold-bright));background:#8a6a1f1f;outline:none}.cal-event-time{font-family:var(--font-caps);letter-spacing:.05em;color:var(--gold);flex-shrink:0;font-size:.65rem}.cal-event--primary .cal-event-title,.cal-span--primary .cal-span-title,.agenda-item--primary .agenda-title{font-weight:700}.cal-event-title{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.cal-overflow{font-family:var(--font-caps);letter-spacing:.1em;text-transform:uppercase;color:var(--gold);padding-left:.4rem;font-size:.65rem}.cal-week-spans{pointer-events:none;grid-template-columns:repeat(7,1fr);grid-auto-rows:auto;row-gap:.25rem;padding:0 2px;display:grid;position:absolute;top:1.85rem;left:0;right:0}.cal-span{pointer-events:auto;background:#8a6a1f2e;background:color-mix(in srgb, var(--event-color,#8a6a1f) 18%, transparent);border:1px solid var(--event-color,var(--gold));color:var(--parchment-bright);font-family:var(--font-body);cursor:pointer;white-space:nowrap;border-left-width:3px;align-items:center;gap:.5rem;height:1.6rem;margin:0 1px;padding:.25rem .5rem;font-size:.78rem;line-height:1.2;transition:background .15s,border-color .15s;display:flex;overflow:hidden}.cal-span:hover,.cal-span:focus-visible{background:#8a6a1f47;background:color-mix(in srgb, var(--event-color,#8a6a1f) 28%, transparent);border-color:var(--event-color,var(--gold-bright));outline:none}.cal-span--continues-left{border-left-style:dashed;border-left-width:1px}.cal-span--continues-right{border-right-style:dashed}.cal-span-range{font-family:var(--font-caps);letter-spacing:.05em;color:var(--gold);flex-shrink:0;font-size:.65rem}.cal-span-title{text-overflow:ellipsis;font-weight:600;overflow:hidden}.agenda{display:none}.agenda-empty{color:var(--muted);padding:var(--space-3) 0;text-align:center;margin:0;font-style:italic}.agenda-day{font-family:var(--font-caps);letter-spacing:.25em;text-transform:uppercase;color:var(--gold);margin:var(--space-3) 0 var(--space-1);border-bottom:1px solid var(--rule);padding-bottom:.5rem;font-size:.75rem}.agenda-day:first-child{margin-top:0}.agenda-item{text-align:left;background:var(--ink-soft);border:1px solid var(--rule);border-left:3px solid var(--event-color,var(--gold));width:100%;padding:var(--space-2);cursor:pointer;flex-direction:column;gap:.2rem;margin-bottom:.5rem;transition:background .15s,border-color .15s;display:flex}.agenda-item:hover,.agenda-item:focus-visible{border-left-color:var(--event-color,var(--gold-bright));background:#8a6a1f14;outline:none}.agenda-time{font-family:var(--font-caps);letter-spacing:.2em;text-transform:uppercase;color:var(--gold);font-size:.7rem}.agenda-title{font-family:var(--font-display);color:var(--parchment-bright);font-size:1.05rem;font-weight:600}.schedule-meta{margin-top:var(--space-3);font-family:var(--font-caps);letter-spacing:.25em;text-transform:uppercase;color:var(--muted);text-align:center;max-width:none;font-size:.7rem}@media (width<=720px){.calendar-wrap{display:none}.agenda{display:block}.schedule-controls{justify-content:center}}.schedule-cta{text-align:center;max-width:640px}.schedule-cta h2{margin-bottom:var(--space-3)}.schedule-cta-blurb{margin:0 auto var(--space-4);color:var(--parchment)}.schedule-cta-actions{justify-content:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.event-modal{z-index:100;padding:var(--space-3);justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.event-modal[hidden]{display:none}.event-modal-backdrop{backdrop-filter:blur(3px);background:#0b0b0b8c;position:absolute;inset:0}.event-modal-panel{background:var(--ink);border:1px solid var(--rule);padding:var(--space-4);width:100%;max-width:520px;max-height:85vh;position:relative;overflow-y:auto;box-shadow:0 20px 60px #00000040}.event-modal-close{width:2.25rem;height:2.25rem;color:var(--muted);cursor:pointer;background:0 0;border:0;font-size:1.5rem;line-height:1;transition:color .15s;position:absolute;top:.5rem;right:.5rem}.event-modal-close:hover,.event-modal-close:focus-visible{color:var(--gold-bright);outline:none}.modal-eyebrow{font-family:var(--font-caps);letter-spacing:.3em;text-transform:uppercase;color:var(--gold);max-width:none;margin:0 0 .5rem;font-size:.7rem}.modal-title{font-family:var(--font-display);color:var(--parchment-bright);margin:0 0 var(--space-3);font-size:1.6rem;line-height:1.2}.modal-meta{margin:0 0 var(--space-3);grid-template-columns:auto 1fr;gap:.4rem 1rem;display:grid}.modal-meta dt{font-family:var(--font-caps);letter-spacing:.25em;text-transform:uppercase;color:var(--gold);align-self:baseline;font-size:.7rem}.modal-meta dd{color:var(--parchment);margin:0;font-size:.95rem}.modal-description{color:var(--parchment);margin:0 0 var(--space-3);white-space:pre-wrap;max-width:none;font-size:.95rem}.modal-description--rich{white-space:normal}.modal-description--rich p{color:var(--parchment);max-width:none;margin:0 0 .75rem}.modal-description--rich p:last-child{margin-bottom:0}.modal-description--rich strong,.modal-description--rich b{color:var(--parchment-bright);font-weight:600}.modal-description--rich em,.modal-description--rich i{font-style:italic}.modal-description--rich ul,.modal-description--rich ol{color:var(--parchment);margin:0 0 .75rem;padding-left:1.5rem}.modal-description--rich li{margin-bottom:.25rem}.modal-description--rich li::marker{color:var(--gold)}.modal-description--rich a{color:var(--gold-bright);border-bottom:1px solid var(--rule);transition:color .15s,border-color .15s}.modal-description--rich a:hover{color:var(--parchment-bright);border-bottom-color:var(--gold)}.modal-description--rich h1,.modal-description--rich h2,.modal-description--rich h3,.modal-description--rich h4,.modal-description--rich h5,.modal-description--rich h6{font-family:var(--font-display);color:var(--parchment-bright);margin:1rem 0 .5rem;line-height:1.3}.modal-description--rich h1{font-size:1.3rem}.modal-description--rich h2{font-size:1.2rem}.modal-description--rich h3{font-size:1.1rem}.modal-description--rich h4,.modal-description--rich h5,.modal-description--rich h6{font-size:1rem}.modal-description--rich blockquote{border-left:2px solid var(--gold);color:var(--parchment);margin:0 0 .75rem;padding:.25rem 0 .25rem 1rem;font-style:italic}.modal-description--rich code,.modal-description--rich pre{background:var(--ink-soft);border-radius:2px;padding:.1em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.85rem}.modal-description--rich pre{margin:0 0 .75rem;padding:.75rem;overflow-x:auto}.modal-description--rich hr{border:0;border-top:1px solid var(--rule);margin:1rem 0}.modal-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}@media (width<=1024px) and (width>=721px){.cal-cell{min-height:110px}.cal-event{font-size:.72rem}.cal-event-time{display:none}.cal-span{height:1.4rem;font-size:.72rem}.cal-span-range{display:none}}
