/* Community pages share Sparrow's established palette and type. */
.community-hero{background:var(--teal);color:var(--cream);padding:54px 0 50px}
.community-hero .eyebrow{color:var(--yellow)}
.community-hero .eyebrow:before{background:var(--yellow)}
.community-hero h1{color:var(--cream);font-size:clamp(46px,6vw,76px);line-height:1.06;letter-spacing:-2px;margin-bottom:22px}
.community-hero h1 em{color:var(--yellow)}
.community-hero p:last-child{max-width:490px;margin:0;font-size:17px;line-height:1.7}
.events-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:60px;padding-top:56px;padding-bottom:48px;align-items:start}
.calendar-card{min-width:0;background:#f7f6e8;border:1px solid var(--line);border-radius:24px;padding:28px;box-shadow:none}
.calendar-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}
.calendar-heading .eyebrow{font-size:10px;margin-bottom:8px}
.calendar-heading h2{font-size:30px;letter-spacing:-.5px;margin:0;line-height:1.25}
.month-controls{display:flex;gap:6px}.month-controls button{width:44px;height:44px;border:1px solid var(--line);border-radius:50%;background:var(--cream);color:var(--teal);font:28px/1 Georgia,serif;cursor:pointer}
.calendar-tools{display:flex;justify-content:space-between;gap:12px;margin:22px 0 14px;align-items:center}
.calendar-tools button{min-height:44px;font:600 13px/1.3 'DM Sans',sans-serif;cursor:pointer;color:var(--teal)}
.today-button{background:none;border:0;padding:8px 4px;text-decoration:underline;text-underline-offset:4px}
.calendar-views{display:flex;background:var(--cream);padding:3px;border-radius:100px;border:1px solid var(--line)}
.calendar-views button{border:0;padding:8px 17px;border-radius:100px;background:transparent}
.calendar-views button[aria-pressed=true]{background:var(--teal);color:var(--cream)}
.event-calendar{table-layout:fixed;border-collapse:collapse;width:100%;font-size:14px;text-align:center}
.event-calendar th{font-size:11px;color:var(--teal);height:36px;font-weight:600}.event-calendar abbr{text-decoration:none}
.event-calendar td{height:58px;border-top:1px solid #f7f6e8;padding:4px;vertical-align:middle}
.event-calendar time{display:inline-flex;align-items:center;justify-content:center;min-width:36px;min-height:36px;border-radius:50%}
.event-calendar [aria-current=date]{background:var(--teal);color:var(--cream);font-weight:700}
.calendar-key{font-size:11px;color:var(--teal);display:flex;gap:7px;align-items:center;margin:18px 0}.calendar-key span{width:10px;height:10px;background:var(--teal);border-radius:50%}.calendar-key .event-dot{background:var(--red);margin-left:12px}
.calendar-note{font-size:13px;line-height:1.6;margin:0;padding-top:16px;border-top:1px solid var(--line);color:var(--ink)}
.events-aside{padding:16px 0}.events-aside h2{font-size:40px;line-height:1.15}.events-aside>p{font-size:15px;margin-bottom:24px;max-width:390px}
.open-play-note{border-top:1px solid var(--line);margin-top:32px;padding-top:24px}.open-play-note h3{font-size:27px;margin:0 0 10px}.open-play-note p{font-size:14px;margin:0 0 10px}.open-play-note .text-link{display:inline-flex;gap:12px;min-height:44px;align-items:center;font-size:14px}
.community-note{padding-bottom:50px;font-size:15px}.community-note p{margin:0 0 5px}.community-note a{display:inline-flex;min-height:44px;align-items:center;gap:12px;color:var(--red);font-weight:600}
.list-empty{min-height:260px;display:flex;flex-direction:column;justify-content:center;align-items:center;text-align:center;padding:30px 12px}.list-empty h3{font-size:28px;margin:0 0 12px}.list-empty p{font-size:14px;max-width:300px;margin:0}.event-entry{padding:18px 0;border-top:1px solid var(--line)}.event-entry h3{font-size:25px}.event-entry a{display:inline-flex;min-height:44px;align-items:center}.has-event{box-shadow:none}
.team-story{display:grid;grid-template-columns:1.1fr 1fr;gap:64px;align-items:center;padding-top:60px;padding-bottom:60px}.team-picture{margin:0;padding:12px;background:var(--yellow);border-radius:28px;min-width:0}.team-picture img{width:100%;height:auto;border-radius:18px}.team-picture figcaption{text-align:center;font-size:11px;padding:12px 8px 2px;color:var(--teal)}.team-copy{min-width:0}.team-copy h2{font-size:43px;line-height:1.13}.team-copy>p{font-size:16px;line-height:1.8}.team-pending{display:flex;gap:15px;margin:26px 0;padding:20px;background:#f7f6e8;border:1px solid var(--line);border-radius:16px}.team-pending>span{font:32px Georgia,serif;color:var(--red)}.team-pending strong{font-size:14px}.team-pending p{font-size:13px;line-height:1.6;margin:6px 0 0}.team-copy .text-link{display:inline-flex;min-height:44px;align-items:center;gap:12px}.team-contact{display:flex;align-items:center;justify-content:space-between;gap:30px;padding-top:32px;padding-bottom:48px;border-top:1px solid var(--line)}.team-contact h2{font-size:34px;margin:0 0 12px}.team-contact p:last-child{margin:0}.team-contact .button{flex-shrink:0}
[hidden]{display:none!important}
@media(max-width:900px){.events-layout{gap:28px}.team-story{gap:30px}.calendar-card{padding:20px}}
@media(max-width:760px){.community-hero{padding:34px 0}.community-hero h1{font-size:clamp(41px,11vw,58px);letter-spacing:-1px}.community-hero p:last-child{font-size:16px}.events-layout{grid-template-columns:1fr;padding-top:26px;padding-bottom:20px;gap:26px}.calendar-card{padding:18px;border-radius:20px}.calendar-heading h2{font-size:27px}.event-calendar td{height:47px}.events-aside{padding:4px 0 16px}.events-aside h2{font-size:36px}.events-aside>p{max-width:none}.community-note{padding-bottom:30px}.team-story{grid-template-columns:1fr;gap:30px;padding-top:30px;padding-bottom:34px}.team-copy h2{font-size:36px}.team-contact{display:block;padding-top:28px;padding-bottom:34px}.team-contact h2{font-size:30px}.team-contact .button{margin-top:20px}.calendar-heading .eyebrow{letter-spacing:.08em}.month-controls{gap:3px}.calendar-key{gap:5px}}

/* A real event gets a clear date marker and a direct booking action. */
.calendar-event-link{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;text-decoration:none;border-radius:50%;color:var(--red);font-weight:700}
.calendar-event-link:hover{background:var(--yellow)}
.event-facts{display:flex;flex-wrap:wrap;gap:10px;margin:0 0 22px}
.event-facts span{padding:7px 14px;border:1px solid var(--line);border-radius:100px;font-size:14px;font-weight:600;color:var(--teal)}
.events-aside .event-booking-hint{font-size:12px;line-height:1.6;margin:14px 0 0;max-width:350px}
#halloween-event{scroll-margin-top:24px}
