.requests-page { max-width: 860px; margin: 0 auto; padding: 140px 24px 80px; }
.requests-page .blog-eyebrow, .requests-page > h1 { text-align: center; }
.requests-intro { max-width: 620px; margin: 16px auto 36px; text-align: center; color: #62626b; font-size: 18px; line-height: 1.6; }
.requests-voting { background: var(--public-panel-bg); border-radius: 24px; padding: 28px; margin-bottom: 36px; }
.requests-voting h2 { font-size: 22px; font-weight: 600; margin-bottom: 10px; }
.requests-voting p { line-height: 1.6; margin-bottom: 20px; }
.requests-count, .requests-note { color: #62626b; font-size: 14px; margin: 20px 0; line-height: 1.6; }
.requests-list { display: grid; gap: 16px; }
.request-card { display: flex; gap: 24px; padding: 28px; border: 1px solid #e4e4e7; border-radius: 24px; }
.request-votes { flex: 0 0 64px; align-self: flex-start; background: var(--public-panel-bg); border-radius: 14px; text-align: center; padding: 12px 4px; }
.request-votes strong { display: block; font-size: 24px; font-weight: 600; }
.request-votes span { font-size: 13px; color: #62626b; }
.request-copy { min-width: 0; overflow-wrap: anywhere; }
.request-copy h2 { font-size: 21px; line-height: 1.3; font-weight: 600; margin: 12px 0; }
.request-copy p { color: #62626b; line-height: 1.6; }
.request-status { display: inline-block; padding: 5px 10px; border-radius: 999px; background: #f4f5f8; color: #52525b; font-size: 12px; font-weight: 600; }
.request-status--planned { background: #edf2ff; color: #344d89; }
.request-status--shipped { background: #eaf5ee; color: #276342; }
@media (max-width: 600px) { .requests-page { padding: 116px 20px 48px; } .request-card { padding: 20px; gap: 16px; } .request-votes { flex-basis: 48px; } .request-copy h2 { font-size: 18px; } }
