/* Post an RFP: field layout, review summary, sign-in gate. Ink on warm white; the one rust button on this page is the form's main button
   (Continue, then Post an RFP), or Sign in on the gate. Spacing uses the step scale from tokens.css. */
.pf { margin: 0 0 var(--space-4, 16px); }
.pf__label { display: block; margin-bottom: var(--space-1, 4px); }
.pf__hint { margin: 0 0 var(--space-2, 8px); font-size: 14px; color: var(--color-text-muted, #5E5853); }
.pf__note { margin: 0 0 var(--space-4, 16px); color: var(--color-text-muted, #5E5853); }
.pf__group .pf__hint { margin-bottom: var(--space-1, 4px); }
.post-rfp .pf input:not([type="checkbox"]):not([type="radio"]), .post-rfp .pf select, .post-rfp .pf textarea { width: 100%; }
.pf__attach { margin-bottom: var(--space-6, 32px); }
.pf__review { padding-top: var(--space-5, 24px); border-top: 1px solid var(--color-border, #7A736C); }
.pf__review-title { margin: 0 0 var(--space-2, 8px); font-family: var(--font-display, "Rubik", system-ui, sans-serif); font-size: 20px; font-weight: 600; }
.pf__summary { margin: 0; }
.pf__summary dt { margin-top: var(--space-3, 12px); font-size: 14px; font-weight: 600; color: var(--color-text-muted, #5E5853); }
.pf__summary dd { margin: 2px 0 0; white-space: pre-wrap; overflow-wrap: anywhere; }

.post-page { background: var(--color-surface, #F7F4EF); color: var(--color-text, #2B2623); font-family: var(--font-body, "Source Sans 3", system-ui, sans-serif); }
.post-page__inner { max-width: 640px; margin: 0 auto; padding: var(--space-7, 48px) var(--space-5, 24px) 0; }
.post-page__title { margin: 0 0 var(--space-2, 8px); font-family: var(--font-display, "Rubik", system-ui, sans-serif); font-size: 36px; font-weight: 600; line-height: 1.2; }
.post-page__lede { margin: 0; max-width: 56ch; font-size: 18px; }
.post-who { max-width: 640px; margin: 0 auto; padding: var(--space-3, 12px) var(--space-5, 24px) 0; display: flex; flex-wrap: wrap; align-items: center; gap: var(--space-3, 12px); font-size: 14px; color: var(--color-text-muted, #5E5853); }
.post-who__out { min-height: 44px; min-width: 44px; padding: 0 var(--space-3, 12px); border: 1px solid var(--color-border, #7A736C); border-radius: 4px; background: transparent; color: var(--color-text, #2B2623); font: inherit; font-weight: 600; cursor: pointer; }
.post-who__out:hover { background: var(--color-surface-raised, #FFFFFF); }
.post-who__out:focus-visible, .post-gate__link:focus-visible { outline: 3px solid var(--focus-ring-color); outline-offset: 2px; }
.post-who__out[aria-disabled="true"] { opacity: .7; cursor: default; }
.post-gate { max-width: 640px; margin: 0 auto; padding: var(--space-6, 32px) var(--space-5, 24px); }
.post-gate__title { margin: 0 0 var(--space-3, 12px); font-family: var(--font-display, "Rubik", system-ui, sans-serif); font-size: 24px; font-weight: 600; }
.post-gate p { margin: 0 0 var(--space-4, 16px); }
.post-gate__link { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; min-width: 44px; padding: 0 var(--space-5, 24px); border: 1px solid var(--color-accent, #A7410E); border-radius: 4px; background: var(--color-accent, #A7410E); color: #FFFFFF; font-weight: 600; text-decoration: none; }
.post-gate__link:hover { background: #8F360A; border-color: #8F360A; }
@media (max-width: 760px) { .post-page__inner { padding: var(--space-6, 32px) var(--space-4, 16px) 0; } .post-who { padding-inline: var(--space-4, 16px); } .post-page__title { font-size: 30px; } }
