/* Community directory: shared site header, footer and inner-page controls. */
.community-hero { max-width:850px; padding:3rem 0 2rem; }
.community-hero h1 { font-size:clamp(2.2rem,5vw,3.5rem); line-height:1.15; margin:1rem 0 1.5rem; }
.community-intro { max-width:680px; font-size:1.08rem; line-height:1.8; margin-bottom:1.5rem; }
.community-note { font-size:.95rem; color:var(--muted); line-height:1.7; margin-top:1.25rem; max-width:650px; }
#groups > h2 { margin:.75rem 0; font-size:clamp(1.65rem,3.5vw,2.25rem); }
.community-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.5rem; margin:2rem 0 3rem; }
.community-card { padding:1.75rem; background:var(--paper-2); border:var(--border); border-radius:var(--radius); display:flex; flex-direction:column; gap:1rem; scroll-margin-top:calc(var(--header-h) + 1rem); }
.community-card:target { outline:3px solid var(--blue); outline-offset:4px; }
.community-status { font:.75rem var(--font-mono); text-transform:uppercase; letter-spacing:.06em; color:var(--green-deep); }
.community-card h2 { font-size:1.6rem; line-height:1.3; }
.community-card p { line-height:1.75; }
.community-card .btn { margin-top:auto; white-space:normal; align-self:flex-start; }
.community-card .community-note { margin-top:0; }
.community-rules { padding:2rem; border:var(--border); border-radius:var(--radius); background:var(--paper-3); margin-bottom:3rem; }
.community-rules h2 { margin:.75rem 0 1.5rem; font-size:1.75rem; }
.community-rules ul { padding-left:1.4rem; list-style:disc; }
.community-rules li { margin-bottom:.9rem; line-height:1.75; }
.community-rules a { color:var(--blue); text-decoration:underline; text-underline-offset:3px; overflow-wrap:anywhere; }
.community-rules > p:last-child { margin-top:1.5rem; line-height:1.75; }
@media(max-width:600px) {
  .community-hero { padding:2rem 0; }
  .community-grid { grid-template-columns:minmax(0,1fr); }
  .community-card, .community-rules { padding:1.25rem; }
  .community-card .btn { align-self:stretch; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } }
