*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--cream: #F2E4C0;--cream-dk: #EAD9AE;--red: #E8312A;--red-dk: #C41F18;--black: #111111;--ink: #222222;--gray: #6B6050;--border: #D4C49A}body{background:var(--cream);color:var(--ink);font-family:Barlow,sans-serif;font-weight:400;min-height:100vh}.top-banner{background:var(--red);color:#fff;text-align:center;padding:.45rem 1rem;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase}.top-banner a{color:#fff;text-decoration:underline}header{background:var(--black);color:#fff;padding:1.25rem 3rem;display:flex;align-items:center;justify-content:space-between;border-bottom:5px solid var(--red)}.header-left{display:flex;flex-direction:column;gap:0}.site-title{font-family:Barlow Condensed,sans-serif;font-weight:900;font-size:clamp(1.6rem,3.5vw,2.8rem);text-transform:uppercase;letter-spacing:.02em;line-height:1}.site-title span{color:var(--red)}.site-sub{font-family:Barlow Condensed,sans-serif;font-size:.78rem;letter-spacing:.18em;text-transform:uppercase;color:#888;margin-top:.2rem}.header-badge{background:var(--red);color:#fff;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.75rem;letter-spacing:.12em;text-transform:uppercase;padding:.4rem .9rem;border:2px solid var(--red);cursor:pointer;transition:background .15s;text-decoration:none;display:inline-block}.header-badge:hover{background:var(--red-dk);border-color:var(--red-dk)}.filter-bar{background:var(--black);padding:.7rem 3rem;position:sticky;top:0;z-index:20;display:flex;flex-direction:column;gap:.5rem;border-bottom:3px solid var(--red)}.filter-row{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}.filter-label{font-family:Barlow Condensed,sans-serif;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#888;min-width:72px}.filter-btn{background:transparent;border:1.5px solid #444;color:#bbb;padding:.25rem .75rem;font-family:Barlow Condensed,sans-serif;font-weight:600;font-size:.75rem;letter-spacing:.06em;text-transform:uppercase;cursor:pointer;transition:all .15s;white-space:nowrap}.filter-btn:hover{background:#333;color:#fff;border-color:#666}.filter-btn.active{background:var(--red);border-color:var(--red);color:#fff}.section-signup-btn{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.72rem;letter-spacing:.12em;text-transform:uppercase;text-decoration:none;color:#fff;background:var(--red);border:2px solid var(--red);padding:.2rem .7rem;transition:background .15s;white-space:nowrap;vertical-align:middle;margin-left:.5rem;cursor:pointer}.section-signup-btn:hover{background:var(--red-dk);border-color:var(--red-dk)}.page-body{max-width:1400px;margin:0 auto;padding:2rem 3rem;display:flex;flex-direction:column;gap:3rem}.section-header{display:flex;align-items:baseline;gap:1rem;margin-bottom:1.25rem;border-bottom:3px solid var(--black);padding-bottom:.6rem}.section-header h2{font-family:Barlow Condensed,sans-serif;font-weight:900;font-size:1.6rem;text-transform:uppercase;letter-spacing:.03em}.section-header .count{font-family:Barlow Condensed,sans-serif;font-size:.8rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray)}.clubs-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:1px;border:1px solid var(--border);background:var(--border)}.club-card{background:#fff;padding:1.5rem;display:flex;flex-direction:column;gap:.5rem;transition:background .15s;border-top:4px solid var(--tc, var(--red))}.club-card:hover{background:#f7f7f7}.club-card.hidden{display:none}.card-top{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem;margin-bottom:.25rem;flex-wrap:wrap}.tag-pill{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:#fff;background:var(--tc, var(--red));padding:2px 8px;white-space:nowrap}.mode-badge{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.62rem;text-transform:uppercase;letter-spacing:.1em;padding:2px 8px;white-space:nowrap;border:1.5px solid;flex-shrink:0}.mode-badge.in-person,.mode-badge.hybrid,.mode-badge.remote{border-color:var(--black);color:var(--black)}.club-card h2{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:1.1rem;text-transform:uppercase;letter-spacing:.02em;line-height:1.25}.club-card h2 a{color:inherit;text-decoration:none;transition:color .15s}.club-card h2 a:hover{color:var(--tc, var(--red));text-decoration:underline}.club-card .primary-text{font-size:.8rem;color:#6b6050;font-style:italic;line-height:1.4}.club-card .meta{display:flex;flex-wrap:wrap;gap:.3rem 1rem;font-size:.72rem;color:var(--gray);margin-top:.25rem}.club-card .next-meeting{margin-top:auto;padding-top:.7rem;border-top:2px solid var(--border);font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;color:var(--tc, var(--red))}.no-results,.loading{grid-column:1 / -1;background:#fff;text-align:center;padding:3rem;color:var(--gray);font-family:Barlow Condensed,sans-serif;font-size:1.2rem;text-transform:uppercase;letter-spacing:.1em}.loading{font-size:1rem}.cal-section{border-top:3px solid var(--black);padding-top:2rem}.cal-section-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.5rem;padding-bottom:.6rem;border-bottom:3px solid var(--black)}.cal-section-header h2{font-family:Barlow Condensed,sans-serif;font-weight:900;font-size:1.6rem;text-transform:uppercase;letter-spacing:.03em}.range-label{font-family:Barlow Condensed,sans-serif;font-size:.82rem;letter-spacing:.12em;text-transform:uppercase;color:var(--gray);margin-left:1rem}.week-nav{display:flex;gap:.4rem}.week-nav-btn{background:var(--black);color:#fff;border:2px solid var(--black);width:32px;height:32px;cursor:pointer;font-size:1.1rem;display:flex;align-items:center;justify-content:center;transition:background .15s;font-weight:700}.week-nav-btn:hover{background:var(--red);border-color:var(--red)}.two-week-wrapper{display:flex;flex-direction:column;gap:12px}.week-block{display:flex;flex-direction:column;gap:0}.week-block-label{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;color:#fff;background:var(--black);padding:5px 10px;display:inline-block;margin-bottom:4px}.day-headers{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--black);border:1px solid var(--black);margin-bottom:1px}.day-header-cell{background:var(--black);color:#fff;text-align:center;font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.12em;padding:6px 4px}.day-cells-row{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;background:var(--black);border:1px solid var(--black);border-top:none}.day-cell{background:var(--cream);min-height:115px;padding:.5rem;display:flex;flex-direction:column;gap:4px}.day-cell.weekend{background:var(--cream-dk)}.day-cell.is-today{background:#fae0dc}.day-num-label{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);line-height:1;margin-bottom:2px}.day-cell.is-today .day-num-label{color:var(--red)}.cal-event{font-size:.61rem;line-height:1.3;padding:4px 5px;border-left:3px solid var(--tc, var(--red));background:#fff;transition:opacity .15s;overflow:hidden}.cal-event.dimmed{opacity:.18}a.cal-event{text-decoration:none;cursor:pointer}a.cal-event:hover{box-shadow:0 1px 6px #00000026}.ev-name{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--black);display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ev-time{color:var(--gray);font-size:.58rem;display:block}.ev-mode{font-family:Barlow Condensed,sans-serif;font-size:.55rem;text-transform:uppercase;letter-spacing:.06em;color:var(--gray);float:right;margin-left:4px}.facilitator-section{border-top:3px solid var(--black);padding-top:2rem}.facilitator-links{list-style:none;display:flex;flex-direction:column;gap:.5rem}.facilitator-links li a{font-family:Barlow Condensed,sans-serif;font-weight:700;font-size:.95rem;text-transform:uppercase;letter-spacing:.06em;color:var(--red);text-decoration:none;transition:color .15s}.facilitator-links li a:hover{color:var(--red-dk);text-decoration:underline}footer{background:var(--black);color:#999;text-align:center;padding:1.5rem 3rem;font-family:Barlow Condensed,sans-serif;font-size:.75rem;letter-spacing:.1em;text-transform:uppercase;border-top:4px solid var(--red)}footer a{color:var(--red);text-decoration:none}footer a:hover{text-decoration:underline}@media(max-width:900px){.page-body{padding:1rem;gap:2rem}.day-headers{display:none}.day-cells-row{display:flex;flex-direction:column;border:none;gap:0;background:transparent}.day-cell:not(:has(.cal-event)){display:none}.day-cell{min-height:unset;flex-direction:column;flex-wrap:nowrap;align-items:stretch;gap:4px;padding:0;border-bottom:none;background:transparent!important}.day-num-label{font-size:.72rem;font-weight:700;letter-spacing:.12em;color:var(--black);background:var(--cream-dk);padding:.35rem .75rem;border-left:3px solid var(--black);margin-bottom:0;display:block;width:100%}.day-cell.is-today .day-num-label{background:var(--red);color:#fff;border-left-color:var(--red-dk)}.cal-event{flex:none;min-width:unset;width:100%;padding:.5rem .75rem;font-size:.68rem;border-left-width:4px;border-radius:0}.ev-name{font-size:.75rem;white-space:normal}.ev-time{font-size:.63rem}.week-block-label{display:block;width:100%;margin-bottom:6px;margin-top:4px}.two-week-wrapper{gap:1rem}}@media(max-width:480px){.site-title{font-size:1.4rem}.filter-row{gap:.3rem}.filter-btn{font-size:.62rem;padding:.18rem .4rem}}
