/* Bauhaus direction: warm ground, open composition, purposeful geometry. */
:root{--paper:#f5f0e5;--ink:#252320;--ink-2:#5f5950;--ink-3:#6e665b;--rule:#d7cebd;--rule-2:#e4dccd;--wash:#ece4d5;--c-blue:#214ed3;--c-red:#d83d30;--c-yellow:#f1c62b}
:root[data-theme="dark"]{--paper:#201f1d;--ink:#f6f0e4;--ink-2:#c9bfae;--ink-3:#b9af9f;--rule:#4b453c;--rule-2:#39352f;--wash:#2c2924}
@media(prefers-color-scheme:dark){:root:not([data-theme="light"]){--paper:#201f1d;--ink:#f6f0e4;--ink-2:#c9bfae;--ink-3:#b9af9f;--rule:#4b453c;--rule-2:#39352f;--wash:#2c2924}}
.top{border-bottom:0;padding-top:30px}.top .org{font:400 13px 'Jost',sans-serif;letter-spacing:.03em;text-transform:none}.community-nav{gap:26px}.community-nav .join-link{border:0;border-bottom:2px solid var(--c-blue);border-radius:0;padding:8px 4px}
.hero .heroin{grid-template-columns:minmax(0,1fr) 32%;padding:70px 0 78px;gap:30px 40px}.wordmark{font:500 clamp(64px,9vw,124px)/.96 'Jost',sans-serif;letter-spacing:-.055em;text-transform:none;font-stretch:normal}.wordmark .thin{font-weight:400;letter-spacing:-.035em;margin-top:0}.bigwrap{min-height:240px;padding:42px}.bigshape{width:200px}.hero-join{border-radius:0 30px 30px 0;box-shadow:none;min-width:185px;padding:14px 25px;font-weight:500}.hero-join:hover{box-shadow:none}.lede{margin-top:20px}
.mods{gap:28px;border:0}.mod,.mod:first-child{padding:20px 0!important;border:0;border-top:1px solid var(--rule);grid-template-columns:32px 1fr;background:transparent}.mod:hover{background:transparent}.mod.on .ml{color:var(--ink)}.mod:not(.on) .ml{color:var(--ink-2)}.ml{font:500 clamp(22px,3vw,32px)/1.15 'Jost',sans-serif;text-transform:none;letter-spacing:-.025em}.mc{font:400 13px/1.5 'Jost',sans-serif;letter-spacing:0;text-transform:none;color:var(--ink-2)}.mrule{height:2px}.glyph{grid-row:1 / 3}.panel{padding-top:44px}
.next{border:0;background:var(--wash);grid-template-columns:150px minmax(0,1fr);box-shadow:none;margin-bottom:40px}.next:hover{box-shadow:none}.next-f{background:transparent!important;color:var(--ink);position:relative;justify-content:center;align-items:center;z-index:0}.next-f:before{content:'';position:absolute;width:112px;height:112px;background:var(--c-yellow);border-radius:50%;z-index:-1;top:20px;left:19px}.next-d{color:#252320;font:500 64px/1 'Jost',sans-serif}.next-m{color:#252320;font:500 11px 'Jost',sans-serif;letter-spacing:0}.next-w{font:400 13px 'Jost',sans-serif;letter-spacing:0;color:var(--ink-2);margin-top:18px;text-transform:none}.next-t{font:500 clamp(25px,3vw,36px)/1.16 'Jost',sans-serif;letter-spacing:-.025em}.section-heading,.next-x,.next-b .eyebrow{font-family:'Jost',sans-serif;letter-spacing:.02em;text-transform:none}.schedule-filters{border:0;padding:0;gap:12px}.schedule-filters button{border-radius:24px;padding:9px 20px;background:var(--wash);min-height:44px}.schedule-filters button[aria-pressed="true"]{background:var(--c-blue);color:white}.event-row{border-radius:0;padding-top:16px;padding-bottom:16px}.row .title,.row .t{font-family:'Jost',sans-serif;font-weight:500}.day{padding:24px 0}.dd .n{font-family:'Jost',sans-serif;font-weight:400}.row .time,.tag,#schedule-count{font-family:'Jost',sans-serif;letter-spacing:0;text-transform:none}.f{border:0!important;background:var(--wash);padding:24px}.f label{font-family:'Jost',sans-serif;font-size:14px;letter-spacing:0;text-transform:none}.pform{gap:14px}.btn{border-radius:0 24px 24px 0;box-shadow:none}.btn:hover{box-shadow:none}.foot{padding-top:48px}.explore-links{border-radius:0 0 16px 0;box-shadow:0 10px 24px #00000014}
@media(max-width:900px){.hero .heroin{gap:24px}.wordmark{font-size:clamp(55px,9vw,86px)}.bigshape{width:135px}.bigwrap{min-height:180px;padding:20px}}
@media(max-width:600px){.top{padding-top:20px}.community-nav{gap:16px}.hero .heroin{grid-template-columns:minmax(0,1fr) 112px;padding:40px 0 52px;gap:24px 10px}.wordmark{font-size:clamp(48px,12.4vw,72px);grid-column:1 / -1}.bigwrap{grid-column:2;grid-row:2;min-height:112px;padding:18px}.bigshape{width:75px}.lede{margin:0;align-self:center}.hero-join{min-width:0;width:auto;padding:12px 18px;font-size:18px;gap:20px}.mods{gap:15px}.mod,.mod:first-child{grid-template-columns:1fr;padding:18px 0!important;gap:12px}.glyph{grid-row:auto;width:24px;height:24px}.ml{font-size:23px}.mc{grid-column:1;font-size:12px}.next{grid-template-columns:94px minmax(0,1fr)}.next-f{padding:20px 8px;gap:6px;align-items:center}.next-f:before{width:78px;height:78px;top:18px;left:8px}.next-d{font-size:44px}.next-m{font-size:10px}.next-w{font-size:11px;margin-top:18px}.next-b{padding:24px 15px}.next-t{font-size:26px}.schedule-filters{gap:6px}.schedule-filters button{padding:9px 12px}.panel{padding-top:32px}}

.footer-legal{grid-column:1/-1;border-top:1px solid var(--rule);padding-top:16px;display:flex;justify-content:flex-end}.footer-legal a{display:inline-flex;align-items:center;min-height:44px;font-size:14px;text-underline-offset:4px}

/* Quiet but unmistakable interactive states. */
.community-nav a,.community-nav summary{min-height:44px;display:inline-flex;align-items:center}
.event-row:focus-visible,.mod:focus-visible,.schedule-filters button:focus-visible{outline:2px solid var(--c-blue);outline-offset:4px}
.schedule-filters button{border-radius:0;transition:background .16s ease,color .16s ease}
@media(hover:hover){.event-row:hover{background:var(--wash)}.mod:hover .ml{color:var(--c-blue)}}
@media(prefers-reduced-motion:reduce){.schedule-filters button{transition:none}}

#next-block[hidden]{display:none}
/* Give only the next-event date circle a quiet, continuous pulse. */
#next-block .next-f::before{transform-origin:center;animation:next-date-breathe 5.6s ease-in-out infinite,next-date-blink 3.8s ease-in-out infinite}
@keyframes next-date-breathe{0%,100%{transform:translate(0,0) scale(1)}45%{transform:translate(2px,-4px) scale(1.06)}75%{transform:translate(-1px,1px) scale(.98)}}
@keyframes next-date-blink{0%,60%,100%{opacity:1}78%{opacity:.76}}
@media(prefers-reduced-motion:reduce){#next-block .next-f::before{animation:none;transform:none;opacity:1}}

.footer-legal{gap:24px;flex-wrap:wrap}
