@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Fraunces:opsz,wght@9..144,400;9..144,600&display=swap');
:root{--ink:#0b0d14;--navy:#121722;--purple:#3b096a;--violet:#6a28a4;--gold:#f6b800;--sun:#ffd653;--paper:#f6f3ec;--white:#fff;--muted:#6e6c71;--line:#0b0d1424}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:'DM Sans',sans-serif}a{color:inherit;text-decoration:none}button{font:inherit}.site-header{color:#fff;z-index:20;background:#0b0d14f2;border-bottom:1px solid #ffffff17;align-items:center;gap:24px;width:100%;height:82px;padding:0 clamp(22px,5vw,78px);display:flex;position:absolute;top:0}.brand{flex:none;align-items:center;gap:10px;display:flex}.brand img{object-fit:contain;width:52px;height:52px}.brand span{flex-direction:column;display:flex}.brand b{letter-spacing:.08em;font-family:'Fraunces',serif;font-size:15px;line-height:1}.brand small{letter-spacing:.31em;margin-top:5px;font-size:7px}.site-header nav{gap:26px;margin-left:auto;display:flex}.site-header nav a{color:#ffffffad;letter-spacing:.02em;font-size:12px}.site-header nav a:hover,.site-header nav .active{color:var(--sun)}.nav-cta{border:1px solid #ffd65352;border-radius:999px;gap:10px;margin-left:10px;padding:10px 15px;font-size:12px;font-weight:700;display:flex}.mobile-menu{display:none;margin-left:auto}.mobile-menu summary{cursor:pointer;list-style:none;padding:9px}.mobile-menu summary span{background:#fff;width:22px;height:1px;margin:5px;display:block}.mobile-menu>div{background:var(--ink);border:1px solid #ffffff26;right:16px;top:52px;width:230px;padding:12px;position:absolute}.mobile-menu a{padding:12px;display:block}.calendar-hero{background:var(--ink);color:#fff;grid-template-columns:1fr minmax(350px,.48fr);align-items:end;gap:7vw;min-height:670px;padding:165px clamp(28px,7vw,112px) 76px;display:grid;position:relative;overflow:hidden}.grid-lines{opacity:.45;background-image:linear-gradient(#ffffff0b 1px,transparent 1px),linear-gradient(90deg,#ffffff0b 1px,transparent 1px);background-size:58px 58px;position:absolute;inset:0}.sun{background:var(--gold);filter:blur(1px);opacity:.1;border-radius:50%;width:520px;height:520px;position:absolute;top:50px;right:-160px}.hero-copy,.next-up{z-index:1;position:relative}.eyebrow{color:var(--sun);align-items:center;gap:10px;margin:0 0 28px;font-size:13px;font-weight:600;display:flex}.eyebrow i{background:var(--gold);border-radius:50%;width:7px;height:7px;box-shadow:0 0 18px var(--gold)}.hero-copy h1{letter-spacing:-.055em;margin:0;font-family:'Fraunces',serif;font-size:clamp(64px,7.4vw,112px);font-weight:400;line-height:.88}.hero-copy h1 em{color:var(--gold);font-weight:400}.hero-copy>p:last-child{color:#ffffffb5;max-width:650px;margin:35px 0 0;font-size:18px;line-height:1.7}.next-up{background:var(--paper);color:var(--ink);border-top:6px solid var(--gold);grid-template-columns:100px 1fr;gap:24px;padding:27px;display:grid;box-shadow:14px 14px 0 #6a28a45c}.next-up>span{color:var(--violet);text-transform:uppercase;grid-column:1/-1;font-size:11px;font-weight:700;letter-spacing:.14em}.next-up time{border-right:1px solid var(--line);font-size:12px;font-weight:700}.next-up time b{font-family:'Fraunces',serif;font-size:62px;font-weight:400;line-height:1;display:block}.next-up small{color:var(--violet);font-size:11px;font-weight:700}.next-up h2{margin:7px 0;font-family:'Fraunces',serif;font-size:25px;font-weight:400;line-height:1.08}.next-up p{color:var(--muted);margin:0;font-size:12px}.next-up>a{border-top:1px solid var(--line);grid-column:1/-1;justify-content:space-between;padding-top:18px;font-size:12px;font-weight:700;display:flex}.calendar-section{padding:100px clamp(28px,7vw,112px)}.calendar-toolbar{align-items:end;justify-content:space-between;display:flex}.section-label{color:var(--violet);text-transform:uppercase;letter-spacing:.14em;margin:0 0 14px;font-size:11px;font-weight:700}.calendar-toolbar h2,.agenda-intro h2,.host-cta h2{letter-spacing:-.04em;margin:0;font-family:'Fraunces',serif;font-size:clamp(45px,5vw,70px);font-weight:400;line-height:1}.calendar-toolbar h2 span{color:var(--muted);font-size:.48em}.month-nav{align-items:center;gap:8px;display:flex}.month-nav button{background:transparent;border:1px solid var(--line);border-radius:999px;height:42px;padding:0 15px;font-size:12px}.month-nav button:not(:disabled){cursor:pointer}.month-nav button:disabled{opacity:.35}.filters{border-top:1px solid var(--line);border-bottom:1px solid var(--line);align-items:center;gap:10px;margin-top:48px;padding:16px 0;display:flex}.filters>span{text-transform:uppercase;letter-spacing:.12em;margin-right:10px;font-size:10px;font-weight:700}.filter{background:transparent;border:1px solid transparent;border-radius:999px;cursor:pointer;align-items:center;gap:7px;padding:9px 13px;font-size:12px;display:flex}.filter:hover,.filter.active{background:#fff;border-color:var(--line)}.dot{border-radius:50%;width:7px;height:7px}.gold{background:var(--gold)}.purple{background:var(--violet)}.ink{background:var(--ink)}.calendar{background:#fff;border-top:1px solid var(--ink);border-left:1px solid var(--line);grid-template-columns:repeat(7,1fr);margin-top:28px;display:grid}.weekday{border-right:1px solid var(--line);border-bottom:1px solid var(--ink);padding:14px 12px;font-size:10px;font-weight:700}.day{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:132px;padding:11px;position:relative}.day>span{color:#555;font-size:11px;font-weight:600}.day.muted{background:#f4f1ea}.day.muted>span{color:#aaa}.day.has-event{background:#fffdf4}.event-pill{color:#fff;text-align:left;border:0;border-radius:5px;cursor:pointer;width:100%;margin-top:20px;padding:9px;font-size:11px;font-weight:600;line-height:1.25;transition:transform .2s}.event-pill:hover{transform:translateY(-3px)}.event-pill small{opacity:.7;margin-bottom:3px;font-size:9px;display:block}.event-pill.workshop,.tag.workshop{background:var(--gold);color:var(--ink)}.event-pill.broadcast,.tag.broadcast{background:var(--violet)}.event-pill.community,.tag.community{background:var(--ink)}.empty-message{text-align:center;color:var(--muted);padding:34px}.agenda{background:#fff;border-top:1px solid var(--line);grid-template-columns:.55fr 1fr;gap:8vw;padding:105px clamp(28px,7vw,112px);display:grid}.agenda-intro{align-self:start;position:sticky;top:30px}.agenda-intro>p:last-child{color:var(--muted);max-width:380px;margin-top:28px;line-height:1.7}.event-list{border-top:1px solid var(--ink)}.event-card{grid-template-columns:85px 1fr auto;gap:30px;padding:36px 0;border-bottom:1px solid var(--line);display:grid;scroll-margin-top:30px}.event-card time{display:flex;gap:9px}.event-card time b{font-family:'Fraunces',serif;font-size:50px;font-weight:400;line-height:.9}.event-card time span{color:var(--muted);font-size:9px;font-weight:700;line-height:1.4}.tag{color:#fff;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:700;letter-spacing:.08em;display:inline-block}.event-card h3{margin:14px 0 12px;font-family:'Fraunces',serif;font-size:31px;font-weight:400;line-height:1.08}.event-card p{color:#555;max-width:580px;margin:0;font-size:14px;line-height:1.65}.event-card ul{color:var(--muted);list-style:none;gap:22px;margin:18px 0 0;padding:0;font-size:11px;display:flex}.event-card li:before{content:'—';margin-right:7px}.event-card>a{align-self:center;border-bottom:1px solid var(--ink);padding:10px 0;font-size:11px;font-weight:700;white-space:nowrap}.event-card>a span{color:var(--violet);margin-left:14px}.host-cta{background:var(--gold);padding:85px clamp(28px,7vw,112px);position:relative;overflow:hidden}.host-cta:after{content:'';border:1px solid #0b0d1433;border-radius:50%;width:450px;height:450px;position:absolute;right:-120px;top:-210px}.host-cta p{font-size:13px;font-weight:700}.host-cta h2{max-width:850px;margin:20px 0 35px}.host-cta a{background:var(--ink);color:#fff;border-radius:999px;padding:16px 22px;font-size:12px;font-weight:700;display:inline-flex;gap:28px}.host-cta a span{color:var(--sun)}footer{background:var(--ink);color:#fff;grid-template-columns:1fr 1fr 1fr;align-items:center;gap:30px;padding:46px clamp(28px,7vw,112px);display:grid}footer>p{color:#ffffff80;text-align:center;font-size:12px}footer>div{text-align:right;flex-direction:column;gap:5px;font-size:11px;display:flex}footer>div span{color:#ffffff70}@media(max-width:1050px){.site-header nav{display:none}.mobile-menu{display:block}.calendar-hero{grid-template-columns:1fr}.next-up{max-width:520px}.agenda{grid-template-columns:1fr}.agenda-intro{position:static}.event-card{grid-template-columns:85px 1fr}}@media(max-width:700px){.site-header{height:70px;padding:0 18px}.brand img{width:43px;height:43px}.nav-cta{display:none}.calendar-hero{min-height:auto;padding:125px 20px 64px}.hero-copy h1{font-size:clamp(53px,15vw,72px)}.hero-copy>p:last-child{font-size:16px}.next-up{grid-template-columns:72px 1fr;padding:22px;gap:18px}.next-up time b{font-size:48px}.calendar-section,.agenda{padding:72px 20px}.calendar-toolbar{align-items:start;gap:25px;flex-direction:column}.filters{align-items:flex-start;flex-wrap:wrap}.filters>span{width:100%}.calendar{grid-template-columns:1fr;margin-top:26px}.weekday,.day:not(.has-event){display:none}.day.has-event{border-left:1px solid var(--line);min-height:auto;padding:15px;display:grid;grid-template-columns:35px 1fr;align-items:start}.event-pill{margin:0}.agenda{gap:48px}.event-card{grid-template-columns:64px 1fr;gap:18px;padding:30px 0}.event-card time{display:block}.event-card time b{font-size:43px}.event-card time span{margin-top:6px;display:block}.event-card>a{grid-column:2;justify-self:start}.event-card h3{font-size:27px}.event-card ul{align-items:flex-start;flex-direction:column;gap:5px}.host-cta{padding:70px 20px}footer{grid-template-columns:1fr;padding:44px 20px}footer>p,footer>div{text-align:left}footer>div{align-items:flex-start}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.event-pill{transition:none}}
[hidden]{display:none!important}.admin-link{padding:0 7vw;text-align:right}.admin-link a{text-decoration:underline}.manager{max-width:820px;margin:40px auto;padding:24px}.manager h1{font-family:Fraunces,serif;font-size:42px}.manager label{display:block;margin:18px 0}.manager input,.manager textarea,.manager select{display:block;width:100%;padding:12px;border:1px solid #aaa;border-radius:5px;font:inherit;margin-top:6px}.manager button{padding:10px 16px;background:var(--purple);color:white;border:0;border-radius:5px;cursor:pointer;margin:4px}.manager article{padding:16px 0;border-bottom:1px solid #ccc}.manager #status{padding:12px;background:#fff}.manager button:disabled{opacity:.5}button:focus-visible,a:focus-visible{outline:3px solid #b45fe8;outline-offset:3px}
