.stage4 { padding-block: clamp(3.5rem, 6vw, 5.5rem); background: var(--color-surface-subtle); border-top: 0.0625rem solid var(--color-border); }
.faq-layout { display: block; }
.faq-title { margin-bottom: clamp(2rem,4vw,3rem); letter-spacing: -.035em; }
.faq-list { width: 100%; border-top: 0.0625rem solid var(--color-border); }
.faq-item { border-bottom: 0.0625rem solid var(--color-border); }
.faq-item summary { display: flex; align-items: center; justify-content: space-between; gap: 2rem; padding: 1.35rem 0; color: var(--color-white); font-size: var(--font-size-body); font-weight: var(--font-weight-semibold); cursor: pointer; list-style: none; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary i { position: relative; width: 1rem; height: 1rem; flex: 0 0 1rem; }
.faq-item summary i::before,.faq-item summary i::after { position: absolute; top: 50%; left: 0; width: 100%; height: .0625rem; content: ""; background: var(--color-white); transition: transform var(--transition); }
.faq-item summary i::after { transform: rotate(90deg); }
.faq-item[open] summary i::after { transform: rotate(0); }
.faq-answer { padding: 0 3rem 1.35rem 0; }
.faq-answer p { max-width: 50rem; color: var(--color-text-secondary); font-size: var(--font-size-small); }
.faq-answer a { color: inherit; text-decoration: underline; text-underline-offset: .18em; }
@media (max-width: 480px) { .faq-answer { padding-right: 0; } }
