@import"https://fonts.googleapis.com/css2?family=Archivo+Black&family=Space+Mono:wght@400;700&family=Work+Sans:wght@400;600&display=swap";:root{--rb-black: #000000;--rb-white: #ffffff;--rb-blue: #0000ff;--rb-success: #008000;--rb-warning: #ffa500;--rb-border: 4px;--rb-space: 8px;--font-display: "Archivo Black", sans-serif;--font-body: "Work Sans", sans-serif;--font-mono: "Space Mono", monospace}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0;background:var(--rb-white);color:var(--rb-black);font-family:var(--font-body);font-size:16px;line-height:1.45}a{color:var(--rb-blue);text-decoration:underline}a:hover{background:var(--rb-blue);color:var(--rb-white)}h1,h2,h3{font-family:var(--font-display);font-weight:400;margin:0;line-height:1.05}h1{font-size:clamp(2rem,6vw,4rem)}h2{font-size:clamp(1.5rem,3vw,2.5rem)}h3{font-size:1.5rem}.mono{font-family:var(--font-mono)}.page{min-height:100vh;display:flex;flex-direction:column}.site-header{border-bottom:var(--rb-border) solid var(--rb-black);padding:calc(var(--rb-space) * 3) calc(var(--rb-space) * 3) calc(var(--rb-space) * 2)}.site-header .kicker{font-family:var(--font-mono);font-size:13px;margin:0 0 calc(var(--rb-space) * 2)}.site-header p{margin:calc(var(--rb-space) * 1.5) 0 0;max-width:36rem}.site-main{flex:1;padding:calc(var(--rb-space) * 3);display:grid;gap:calc(var(--rb-space) * 3);grid-template-columns:1fr;grid-template-areas:"nav" "filter" "calendar" "panel";align-items:stretch}.site-main .cal-nav{grid-area:nav;margin-bottom:0}.site-main .tag-filter{grid-area:filter;margin-bottom:0;display:flex}.site-main .tag-filter-toggle{flex:1}.site-main .calendar,.site-main .panel{align-self:start;min-width:0}.site-main .calendar{grid-area:calendar}.site-main .panel{grid-area:panel}@media(min-width:900px){.site-main{grid-template-columns:1.4fr 1fr;grid-template-areas:"nav filter" "calendar panel"}}.site-footer{margin-top:auto;border-top:var(--rb-border) solid var(--rb-black);padding:calc(var(--rb-space) * 2) calc(var(--rb-space) * 3);font-size:14px;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:calc(var(--rb-space) * 2)}.site-footer p{margin:0}.bmc-link{display:inline-block;line-height:0;flex:0 0 auto}.bmc-link:hover{background:transparent}.bmc-link img{display:block;height:36px;width:130px}.cal-nav{display:flex;align-items:stretch;gap:0;border:var(--rb-border) solid var(--rb-black)}.cal-nav button,.cal-nav a,.cal-nav .cal-nav-label{display:flex;align-items:center;justify-content:center;padding:calc(var(--rb-space) * 1.5) calc(var(--rb-space) * 2);border:none;text-decoration:none;color:var(--rb-black);background:var(--rb-white);font-family:var(--font-mono);font-size:14px}.cal-nav button,.cal-nav a{border-right:var(--rb-border) solid var(--rb-black);min-width:3.5rem;cursor:pointer}.cal-nav button:last-child,.cal-nav a:last-child{border-right:none;border-left:var(--rb-border) solid var(--rb-black)}.cal-nav button:hover,.cal-nav a:hover{background:var(--rb-black);color:var(--rb-white)}.tag-filter{position:relative;z-index:2}.tag-filter-toggle{width:100%;display:flex;align-items:center;gap:calc(var(--rb-space) * 1.5);border:var(--rb-border) solid var(--rb-black);background:var(--rb-white);color:var(--rb-black);font-family:var(--font-mono);font-size:14px;padding:calc(var(--rb-space) * 1.5) calc(var(--rb-space) * 2);cursor:pointer;text-align:left}.tag-filter-toggle:hover,.tag-filter-toggle[aria-expanded=true]{background:var(--rb-black);color:var(--rb-white)}.tag-filter-toggle:disabled{cursor:not-allowed;background:#f0f0f0;color:#333}.tag-filter-toggle:focus-visible,.tag-filter-clear:focus-visible,.tag-filter-reset:focus-visible,.tag-filter-option:focus-within{outline:3px solid var(--rb-blue);outline-offset:-3px}.tag-filter-label{font-weight:700}.tag-filter-value{flex:1;text-align:right}.tag-filter-toggle[data-active=true] .tag-filter-value{color:var(--rb-blue)}.tag-filter-toggle:hover .tag-filter-value,.tag-filter-toggle[aria-expanded=true] .tag-filter-value{color:inherit}.tag-filter-caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor}.tag-filter-toggle[aria-expanded=true] .tag-filter-caret{border-top:none;border-bottom:6px solid currentColor}.tag-filter-menu{position:absolute;z-index:3;left:0;right:0;top:100%;margin-top:calc(var(--rb-border) * -1);display:flex;flex-direction:column;max-height:min(24rem,70vh);border:var(--rb-border) solid var(--rb-black);background:var(--rb-white);color:var(--rb-black)}.tag-filter-menu[hidden]{display:none}.tag-filter-hint{margin:0;padding:var(--rb-space) calc(var(--rb-space) * 1.5);border-bottom:var(--rb-border) solid var(--rb-black);font-family:var(--font-mono);font-size:12px;line-height:1.4}.tag-filter-options{overflow:auto}.tag-filter-group{margin:0}.tag-filter-cat{margin:0;padding:4px calc(var(--rb-space) * 1.5);background:var(--rb-black);color:var(--rb-white);font-family:var(--font-mono);font-size:12px;font-weight:700}.tag-filter-option{display:flex;align-items:center;gap:10px;margin:0;padding:var(--rb-space) calc(var(--rb-space) * 1.5);border-bottom:2px solid var(--rb-black);font-family:var(--font-mono);font-size:13px;cursor:pointer}.tag-filter-group:last-child .tag-filter-option:last-child{border-bottom:none}.tag-filter-option:hover{background:var(--rb-black);color:var(--rb-white)}.tag-filter-option input{flex:none;width:1rem;height:1rem;margin:0;accent-color:var(--rb-black)}.tag-filter-option:hover input{accent-color:var(--rb-white)}.tag-filter-clear{flex:none;width:100%;border:none;border-top:var(--rb-border) solid var(--rb-black);background:var(--rb-white);color:var(--rb-black);font-family:var(--font-mono);font-size:13px;padding:var(--rb-space) calc(var(--rb-space) * 1.5);cursor:pointer;text-align:left}.tag-filter-clear:hover:not(:disabled){background:var(--rb-black);color:var(--rb-white)}.tag-filter-clear:disabled{cursor:not-allowed;background:#f0f0f0;color:#666}.tag-filter-reset{border:none;background:none;padding:0;font-family:var(--font-mono);font-size:inherit;color:var(--rb-blue);text-decoration:underline;cursor:pointer}.cal-nav-label{flex:1;font-family:var(--font-display);font-size:clamp(1.25rem,3vw,2rem)}.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);border-top:var(--rb-border) solid var(--rb-black);border-left:var(--rb-border) solid var(--rb-black)}.cal-dow{font-family:var(--font-mono);font-size:12px;text-align:center;padding:var(--rb-space);border-right:var(--rb-border) solid var(--rb-black);border-bottom:var(--rb-border) solid var(--rb-black);background:var(--rb-black);color:var(--rb-white)}.cal-cell{min-height:4.5rem;border-right:var(--rb-border) solid var(--rb-black);border-bottom:var(--rb-border) solid var(--rb-black);padding:var(--rb-space);display:flex;flex-direction:column;gap:4px;text-decoration:none;color:inherit;background:var(--rb-white)}.cal-cell.empty{background:#f0f0f0;pointer-events:none}.cal-cell:hover:not(.empty){background:var(--rb-black);color:var(--rb-white)}.cal-cell.selected{background:var(--rb-black);color:var(--rb-white)}.cal-cell .day-num{font-family:var(--font-mono);font-size:12px}.cal-cell .dots{display:flex;flex-wrap:wrap;gap:3px;margin-top:auto}.cal-cell .dot{width:8px;height:8px;background:var(--rb-black);border:1px solid var(--rb-black)}.cal-cell:hover .dot,.cal-cell.selected .dot{background:var(--rb-white);border-color:var(--rb-white)}.panel{border:var(--rb-border) solid var(--rb-black)}.panel-head{border-bottom:var(--rb-border) solid var(--rb-black);padding:calc(var(--rb-space) * 2);background:var(--rb-black);color:var(--rb-white)}.panel-head h2{font-size:1.25rem;color:inherit}.panel-body{padding:0}.event-row{display:block;padding:calc(var(--rb-space) * 2);border-bottom:var(--rb-border) solid var(--rb-black);text-decoration:none;color:inherit}.event-row:last-child{border-bottom:none}.event-row:hover{background:var(--rb-black);color:var(--rb-white)}.event-row .when{font-family:var(--font-mono);font-size:13px;margin-bottom:4px}.event-row .title{font-family:var(--font-display);font-size:1.25rem}.event-row .loc{font-size:14px;margin-top:4px}.row-tags{display:flex;flex-direction:column;align-items:flex-start;gap:4px;margin-top:8px}.row-tag-group{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.row-tag-cat{font-family:var(--font-mono);font-size:11px;font-weight:700;min-width:6.5rem}.row-tag{font-family:var(--font-mono);font-size:11px;line-height:1.4;border:2px solid currentColor;padding:0 6px}.empty-state{padding:calc(var(--rb-space) * 3);font-size:15px}.detail{max-width:42rem;margin:0 auto;padding:calc(var(--rb-space) * 3)}.detail-toolbar{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--rb-space);margin-bottom:calc(var(--rb-space) * 3)}.detail-back{display:inline-block;margin-bottom:calc(var(--rb-space) * 3);font-family:var(--font-mono);font-size:14px;text-decoration:none;color:var(--rb-black);border:var(--rb-border) solid var(--rb-black);padding:var(--rb-space) calc(var(--rb-space) * 2)}.detail-toolbar .detail-back{margin-bottom:0;flex:0 0 auto}.detail-back:hover{background:var(--rb-black);color:var(--rb-white)}.detail h1{margin-bottom:calc(var(--rb-space) * 2)}.detail-meta{font-family:var(--font-mono);font-size:14px;border:var(--rb-border) solid var(--rb-black);padding:calc(var(--rb-space) * 2);margin-bottom:calc(var(--rb-space) * 3)}.detail-meta p{margin:0 0 var(--rb-space)}.detail-meta p:last-child{margin-bottom:0}.add-cal{position:relative;z-index:2;margin-left:auto}.add-cal-toggle{display:inline-flex;align-items:center;gap:calc(var(--rb-space) * 1.5);cursor:pointer;font-family:var(--font-mono);font-size:14px;color:var(--rb-black);background:var(--rb-white);border:var(--rb-border) solid var(--rb-black);padding:var(--rb-space) calc(var(--rb-space) * 2)}.add-cal-toggle:hover,.add-cal-toggle[aria-expanded=true]{background:var(--rb-black);color:var(--rb-white)}.add-cal-toggle:focus-visible,.add-cal-menu a:focus-visible{outline:3px solid var(--rb-blue);outline-offset:-3px}.add-cal-caret{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid currentColor}.add-cal-toggle[aria-expanded=true] .add-cal-caret{border-top:none;border-bottom:6px solid currentColor}.add-cal-menu{position:absolute;z-index:3;right:0;top:100%;margin-top:calc(var(--rb-border) * -1);display:flex;flex-direction:column;width:max-content;min-width:100%;border:var(--rb-border) solid var(--rb-black);background:var(--rb-white);color:var(--rb-black)}.add-cal-menu[hidden]{display:none}.add-cal-menu a{font-family:var(--font-mono);font-size:13px;color:var(--rb-black);text-decoration:none;padding:var(--rb-space) calc(var(--rb-space) * 1.5);border-bottom:2px solid var(--rb-black);white-space:nowrap}.add-cal-menu a:last-child{border-bottom:none}.add-cal-menu a:hover,.add-cal-menu a:focus-visible{background:var(--rb-black);color:var(--rb-white)}.detail-desc{margin-bottom:calc(var(--rb-space) * 3)}.detail-flyer{border:var(--rb-border) solid var(--rb-black);max-width:100%;height:auto;display:block}.tag-groups{border:var(--rb-border) solid var(--rb-black)}.tag-group{display:grid;grid-template-columns:7.75rem 1fr;border-top:var(--rb-border) solid var(--rb-black)}.tag-group:first-child{border-top:none}.tag-group-label{margin:0;display:flex;align-items:center;padding:var(--rb-space);background:var(--rb-black);color:var(--rb-white);font-family:var(--font-mono);font-size:12px;font-weight:700;line-height:1.3}.tags{display:flex;flex-wrap:wrap;align-items:center;gap:var(--rb-space);list-style:none;margin:0;padding:var(--rb-space)}.tag{font-family:var(--font-mono);font-size:12px;border:3px solid var(--rb-black);padding:4px 8px}@media(max-width:560px){.tag-group{grid-template-columns:1fr}}.landing{flex:1;padding:calc(var(--rb-space) * 3);display:grid;gap:calc(var(--rb-space) * 3);align-items:start}@media(min-width:900px){.landing{grid-template-columns:1.2fr 1fr}}.landing-copy{border:var(--rb-border) solid var(--rb-black);padding:calc(var(--rb-space) * 3)}.landing-copy h2{margin-bottom:calc(var(--rb-space) * 2)}.landing-copy p{margin:0 0 calc(var(--rb-space) * 2);max-width:38rem}.landing-copy p:last-child{margin-bottom:0}.landing-side{display:grid;gap:calc(var(--rb-space) * 3)}.steps{list-style:none;margin:0;padding:0}.steps li{padding:calc(var(--rb-space) * 2);border-bottom:var(--rb-border) solid var(--rb-black)}.steps li:last-child{border-bottom:none}.step-num{font-family:var(--font-mono);font-size:13px;margin-bottom:4px}.steps h3{font-size:1.25rem;margin-bottom:4px}.steps p{margin:0;font-size:15px}.contact{flex:1;padding:calc(var(--rb-space) * 3);display:grid;gap:calc(var(--rb-space) * 3);align-items:start}@media(min-width:900px){.contact{grid-template-columns:1fr 1fr}}.contact-fields{display:grid;gap:calc(var(--rb-space) * 2);padding:calc(var(--rb-space) * 2)}.field{display:grid;gap:4px}.field span{font-family:var(--font-mono);font-size:13px}.field input,.field textarea{width:100%;margin:0;border:var(--rb-border) solid var(--rb-black);padding:var(--rb-space) calc(var(--rb-space) * 1.5);background:var(--rb-white);color:var(--rb-black);font-family:var(--font-body);font-size:16px;line-height:1.45}.field textarea{resize:vertical;min-height:8rem}.recaptcha{min-height:78px;line-height:0}@media(max-width:420px){.recaptcha{transform:scale(.77);transform-origin:0 0;margin-bottom:-18px}}.contact-form button,.calendar-gate button{justify-self:start;border:var(--rb-border) solid var(--rb-black);background:var(--rb-black);color:var(--rb-white);font-family:var(--font-mono);font-size:14px;padding:var(--rb-space) calc(var(--rb-space) * 2);cursor:pointer}.contact-form button:hover:not(:disabled),.calendar-gate button:hover:not(:disabled){background:var(--rb-blue)}.contact-form button:disabled,.calendar-gate button:disabled{cursor:not-allowed;background:#666}.contact-status,.calendar-gate-status{margin:0;min-height:1.45em;font-family:var(--font-mono);font-size:13px}.contact-status[data-kind=ok]{color:var(--rb-success)}.contact-status[data-kind=err],.calendar-gate-status[data-kind=err]{color:#b00000}#calendar-lock:not(.detail){margin:calc(var(--rb-space) * 3);max-width:40rem}#calendar-lock[hidden],#calendar-root[hidden],#event-root[hidden],html[data-calendar-open] #calendar-lock{display:none!important}html[data-calendar-open] #calendar-root[hidden],html[data-calendar-open] #event-root[hidden]{display:block!important}.calendar-gate-body{display:grid;gap:calc(var(--rb-space) * 2);padding:calc(var(--rb-space) * 2)}.calendar-gate-body p{margin:0}.calendar-gate-note{font-family:var(--font-mono);font-size:13px}
