/* One native accordion and a compact source note complete the homepage. */
.dsf-faq { padding-block: var(--dsf-space-7); background: var(--dsf-color-surface); scroll-margin-block-start: calc(var(--dsf-header-height, 5rem) + 1rem); }
.dsf-faq__accordion { margin-block-start: var(--dsf-space-5); border: 1px solid var(--dsf-color-border); border-radius: var(--dsf-radius-large); overflow: hidden; }
.dsf-faq__item + .dsf-faq__item { border-block-start: 1px solid var(--dsf-color-border); }
.dsf-faq__item summary { display: flex; align-items: center; justify-content: space-between; gap: var(--dsf-space-5); min-block-size: 3.75rem; padding: var(--dsf-space-4) var(--dsf-space-5); list-style: none; cursor: pointer; transition: background-color var(--dsf-duration-fast) var(--dsf-ease); }
.dsf-faq__item summary::-webkit-details-marker { display: none; }
.dsf-faq__item summary h3 { color: var(--dsf-color-primary); font-size: var(--dsf-text-body); font-weight: 700; line-height: 1.5; letter-spacing: normal; text-wrap: initial; }
.dsf-faq__item summary > svg { flex-shrink: 0; color: var(--dsf-color-accent); }
.dsf-faq__item summary:focus-visible { outline-offset: -3px; box-shadow: none; }
.dsf-faq__item[open] summary { background: var(--dsf-color-tint); }
.dsf-faq__plus { transform-origin: 12px 12px; transition: opacity var(--dsf-duration-fast) var(--dsf-ease), transform var(--dsf-duration-fast) var(--dsf-ease); }
.dsf-faq__item[open] .dsf-faq__plus { opacity: 0; transform: rotate(90deg); }
.dsf-faq__answer { overflow: hidden; }
.dsf-faq__answer > p { max-inline-size: none; padding: var(--dsf-space-4) var(--dsf-space-5) var(--dsf-space-5); color: var(--dsf-color-muted); }
.dsf-sources { padding-block: var(--dsf-space-7); background: var(--dsf-color-tint); border-block-start: 1px solid var(--dsf-color-border); scroll-margin-block-start: calc(var(--dsf-header-height, 5rem) + 1rem); }
.dsf-faq__sources { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); align-items: center; gap: var(--dsf-space-7); }
.dsf-faq__source-copy, .dsf-faq__source-meta { min-inline-size: 0; }
.dsf-faq__source-copy > p { max-inline-size: var(--dsf-measure); margin-block-start: var(--dsf-space-4); color: var(--dsf-color-muted); }
.dsf-faq__source-copy > .dsf-faq__source-disclaimer { font-size: var(--dsf-text-small); }
.dsf-faq__source-meta { padding: var(--dsf-space-5); border: 1px solid var(--dsf-color-border); border-radius: var(--dsf-radius-large); background: var(--dsf-color-surface); }
.dsf-faq__source-heading { display: flex; align-items: center; gap: var(--dsf-space-3); margin-block-end: var(--dsf-space-4); }
.dsf-faq__source-heading svg { flex-shrink: 0; color: var(--dsf-color-accent); }
.dsf-faq__source-heading h3 { font-size: var(--dsf-text-lead); line-height: 1.4; }
.dsf-faq__source-meta > p { color: var(--dsf-color-muted); font-size: var(--dsf-text-small); }
.dsf-faq__verified { margin-block-start: var(--dsf-space-4); }
.dsf-faq__verified > span { color: var(--dsf-color-primary); font-weight: 600; font-variant-numeric: tabular-nums; }
.dsf-faq__source-link { display: flex; align-items: center; justify-content: center; gap: var(--dsf-space-2); min-block-size: 2.75rem; background: var(--dsf-color-accent); color: var(--dsf-color-surface); font-size: var(--dsf-text-small); font-weight: 600; text-align: center; text-decoration: none; }
.dsf-faq__source-link:hover, .dsf-faq__source-link:focus-visible { background: var(--dsf-color-accent-hover); color: var(--dsf-color-surface); }
.dsf-faq__source-link svg { flex-shrink: 0; }
.dsf-faq__source-meta .dsf-faq__independent { margin-block-start: var(--dsf-space-4); padding-block-start: var(--dsf-space-3); border-block-start: 1px solid var(--dsf-color-border); color: var(--dsf-color-primary); font-weight: 600; }
@media (hover: hover) { .dsf-faq__item summary:hover { background: var(--dsf-color-tint); } }
@media (max-width: 56rem) { .dsf-faq__sources { grid-template-columns: minmax(0, 1fr); gap: var(--dsf-space-4); } }
@media (max-width: 38rem) { .dsf-faq { padding-block: var(--dsf-space-6); } .dsf-faq__item summary { padding-inline: var(--dsf-space-4); gap: var(--dsf-space-3); } .dsf-faq__answer > p { padding-inline: var(--dsf-space-4); } .dsf-sources { padding-block: var(--dsf-space-6); } .dsf-faq__source-meta { padding: var(--dsf-space-4); } }
