.community-hero {
    position: relative;
    overflow: hidden;
}

.community-hero::after {
    position: absolute;
    right: max(20px, calc((100vw - 1160px) / 2));
    bottom: -58px;
    width: 210px;
    height: 210px;
    border: 1px solid #a9d8da;
    content: "";
    transform: rotate(18deg);
}

.community-hero-grid {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(280px, .65fr);
    gap: 48px;
    align-items: end;
}

.community-release {
    padding: 24px;
    color: var(--palo-white);
    background: var(--palo-ink);
    border-top: 5px solid var(--palo-gold);
}

.community-release .palo-card-kicker { color: #a9d8da; }
.community-release strong { display: block; margin: 2px 0 12px; font-size: clamp(2.1rem, 6vw, 3.8rem); line-height: 1; }
.community-release p { margin: 0; color: #d9e2ec; font-size: .94rem; }
.community-release a { display: inline-flex; align-items: center; min-height: 44px; margin-top: 12px; color: #fff2c7 !important; font-weight: 800; }

.community-proposal { display: grid; grid-template-columns: minmax(0, 1fr) minmax(340px, .82fr); gap: 46px; align-items: center; }
.proposal-boundary { margin-top: 24px; padding: 16px 18px; background: #fffaf0; border-left: 4px solid var(--palo-gold); }
.proposal-boundary p { margin: 4px 0 0; color: var(--palo-ink-soft); }
.proposal-figure { margin: 0; padding: 12px; background: var(--palo-surface); border: 1px solid var(--palo-line); }
.proposal-figure img { display: block; width: 100%; height: auto; }
.proposal-figure figcaption { padding: 11px 4px 2px; color: var(--palo-muted); font-size: .82rem; }

.community-roles { background: var(--palo-surface); }
.role-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; margin-top: 30px; background: var(--palo-line); border: 1px solid var(--palo-line); }
.role-card { display: grid; grid-template-columns: 42px minmax(0, 1fr); gap: 12px; min-height: 190px; padding: 24px; background: var(--palo-white); }
.role-card > .palo-svg-icon { width: 32px; height: 32px; padding: 6px; color: var(--palo-teal-dark); background: var(--palo-teal-light); border-radius: 4px; }
.role-card p { margin: 0; color: var(--palo-muted); }

.contribution-grid { display: grid; grid-template-columns: 1.2fr .8fr; gap: 22px; }
.contribution-panel { padding: 28px; border: 1px solid var(--palo-line); border-top: 4px solid var(--palo-teal); }
.contribution-panel-primary { background: var(--palo-surface); }
.contribution-panel p:not(.palo-eyebrow) { color: var(--palo-ink-soft); }
.partner-list { display: grid; gap: 0; margin: 20px 0 0; padding: 0; list-style: none; }
.partner-list li { display: grid; grid-template-columns: 90px minmax(0, 1fr); gap: 14px; padding: 12px 0; border-top: 1px solid var(--palo-line); }
.partner-list span { color: var(--palo-muted); }

@media (max-width: 860px) {
    .community-hero-grid,
    .community-proposal,
    .contribution-grid { grid-template-columns: 1fr; }
    .community-release { max-width: 560px; }
    .role-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 620px) {
    .community-hero::after { display: none; }
    .role-grid { grid-template-columns: 1fr; }
    .role-card { min-height: 0; padding: 20px; }
    .contribution-panel { padding: 22px; }
    .partner-list li { grid-template-columns: 1fr; gap: 2px; }
}

@media (prefers-reduced-motion: reduce) {
    .community-hero::after { transform: none; }
}
