.process { counter-reset: pstep; }
.process .step { display: grid; grid-template-columns: 56px 1fr; gap: 1rem; padding: 1.25rem 0; border-bottom: 1px solid var(--neutral-200); }
.process .step .num { counter-increment: pstep; font-family: var(--font-serif); font-size: 1.8rem; color: var(--plum); }
.process .step .num::before { content: counter(pstep); }
.process .step h2 { font-size: 1.15rem; margin: 0 0 .25rem; }
.faq { max-width: 800px; }
.faq-item { border-bottom: 1px solid var(--neutral-200); }
.faq-q { width: 100%; text-align: left; background: none; border: 0; font: inherit; font-weight: 600; padding: 1rem 0; cursor: pointer; display: flex; justify-content: space-between; }
.faq-q::after { content: "+"; color: var(--plum); }
.faq-q[aria-expanded="true"]::after { content: "−"; }
.faq-a { padding: 0 0 1rem; color: var(--neutral-500); }
