.community-page {
  display: block;
  flex: 1 1 auto;
  width: 100%;
  min-width: 0;
  min-height: 0;
  margin: 0;
  padding: clamp(2rem, 6vh, 5rem) var(--page-gutter) 3rem;
  overflow-y: auto;
}

.community-hero { max-width: 48rem; margin-bottom: 2rem; }
.community-eyebrow {
  color: var(--gold);
  font-size: .76rem;
  font-weight: 800;
  letter-spacing: .18em;
  text-transform: uppercase;
}
.community-hero h1 { margin: .45rem 0 .7rem; font-size: clamp(2rem, 5vw, 4rem); }
.community-hero p { margin: 0; color: var(--silver-dim); font-size: 1.05rem; line-height: 1.7; }
.community-hero .community-access { margin-top: 1rem; color: var(--gold); font-size: .88rem; }

.community-cards { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }
.community-card {
  display: flex;
  min-height: 12rem;
  flex-direction: column;
  padding: 1.4rem;
  border: 1px solid var(--maroon-edge);
  border-radius: .8rem;
  background: linear-gradient(145deg, rgba(255,255,255,.055), rgba(0,0,0,.18));
  color: inherit;
  text-decoration: none;
  box-shadow: 0 1rem 2.5rem rgba(0,0,0,.18);
}
.community-card:hover, .community-card:focus-visible { border-color: var(--gold); transform: translateY(-2px); }
.community-card h2 { margin: 0 0 .6rem; color: var(--gold-bright); font-size: 1.25rem; }
.community-card p { margin: 0; color: var(--silver-dim); line-height: 1.55; }
.community-card span { margin-top: auto; padding-top: 1.2rem; color: var(--gold); font-size: .75rem; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }

.contributor-list { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 1rem; }
.contributor-card { display: flex; align-items: center; gap: 1rem; padding: 1.1rem; border: 1px solid var(--maroon-edge); border-radius: .8rem; background: linear-gradient(145deg,rgba(255,255,255,.055),rgba(0,0,0,.18)); }
.contributor-mark { display: grid; place-items: center; width: 2.6rem; height: 2.6rem; flex: 0 0 auto; border: 1px solid var(--gold-deep); border-radius: 50%; color: var(--gold-bright); box-shadow: 0 0 18px var(--gold-glow); }
.contributor-card h2 { margin: 0; color: var(--gold-bright); font-size: 1rem; overflow-wrap: anywhere; }
.contributor-card p { margin: .25rem 0 0; color: var(--gold); font-size: .7rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.contributor-empty { grid-column: 1/-1; padding: 2rem; border: 1px dashed var(--gold-deep); border-radius: .8rem; color: var(--silver-dim); text-align: center; }
.contributor-thanks { margin-top: 2rem; padding: 1.4rem; border: 1px solid var(--gold-deep); border-radius: .8rem; background: rgba(var(--theme-deep-rgb),.74); }
.contributor-thanks h2 { margin: 0 0 .45rem; color: var(--gold-bright); }
.contributor-thanks p { color: var(--silver-dim); }
.contributor-thanks a { display: inline-flex; padding: .65rem 1rem; border: 1px solid var(--gold); border-radius: var(--radius-sm); color: var(--gold-bright); text-decoration: none; box-shadow: 0 0 16px var(--gold-glow); }

@media (max-width: 760px) {
  .community-page { overflow-y: auto; }
  .community-cards { grid-template-columns: 1fr; }
  .contributor-list { grid-template-columns: 1fr; }
  .community-card { min-height: 9rem; }
}
