.faq-page { padding-block: clamp(3rem, 6vw, 5rem) 5rem; }
.faq-header { padding-bottom: clamp(3rem, 6vw, 5rem); }
.faq-header h1 { font-size: clamp(2.5rem, 5vw, 4.25rem); line-height: 1.08; margin-block: var(--space-6); text-wrap: balance; }
.faq-header .article-deck { max-width: 52ch; }
.faq-content { min-width: 0; }
.faq-group + .faq-group { margin-top: 3.5rem; }
.faq-group h2 { font-size: clamp(1.5rem, 3vw, 2rem); margin-bottom: var(--space-6); text-wrap: balance; }
.faq-list { border-top: var(--border-width) solid var(--line); }
.faq-item { border-bottom: var(--border-width) solid var(--line); }
.faq-item summary { display: flex; justify-content: space-between; align-items: center; gap: var(--space-6); padding: var(--space-5) 0; list-style: none; cursor: pointer; border-radius: var(--radius-control); }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::marker { content: ""; }
.faq-item summary h3 { font-size: 1.125rem; line-height: 1.5; letter-spacing: -.015em; font-weight: 500; }
.faq-item summary svg { width: 24px; height: 24px; flex-shrink: 0; color: var(--muted); }
.faq-item[open] summary svg { transform: rotate(180deg); }
.faq-item summary:hover { color: var(--accent); }
.faq-answer { padding-bottom: var(--space-6); color: var(--muted); font-size: 1rem; line-height: 1.8; }
.faq-answer a { color: var(--accent); text-decoration: underline; text-underline-offset: .2em; }
.faq-contact { display: grid; gap: var(--space-6); border-top: var(--border-width) solid var(--line); margin-top: clamp(3rem, 6vw, 5rem); padding-top: var(--space-8); }
.faq-contact h2 { font-size: 1.5rem; }
.faq-contact p { color: var(--muted); margin-top: var(--space-3); }
.faq-contact > a { justify-self: start; overflow-wrap: anywhere; }
@media (min-width: 64rem) {
  .faq-contact { grid-template-columns: 1fr auto; align-items: center; }
}
