/* One FAQ row system. Existing page headings and copy remain in place. */
.dfaq { --dfaq-line:var(--line-2,#d8d8df); --dfaq-ink:var(--ink,#17171a); --dfaq-text:var(--ink-2,#4a4a52); --dfaq-accent:var(--accent-ink,#3933f2); min-width:0; background:var(--bg,#fff); position:relative; }
.motion-questions.dfaq,.cp-faq-list.dfaq { border-top:0; }
.dfaq .dfaq-item { border:0; border-top:1px solid var(--dfaq-line); border-radius:0; margin:0; padding:0; position:relative; background:none; overflow-anchor:none; box-shadow:none; }
.dfaq .dfaq-item:last-child { border-bottom:1px solid var(--dfaq-line); }
.dfaq .dfaq-item::before { content:""; position:absolute; inset:-1px 0 auto; height:1px; background:var(--dfaq-accent); transform:scaleX(0); transform-origin:0; transition:transform .5s var(--ease-out,cubic-bezier(.16,1,.3,1)); pointer-events:none; }
.dfaq .dfaq-item[open]::before { transform:scaleX(1); }
.dfaq .dfaq-item > .dfaq-summary { display:grid; grid-template-columns:30px minmax(0,1fr) 40px; align-items:center; gap:18px; min-height:94px; width:100%; margin:0; padding:25px 0; color:var(--dfaq-ink); font:inherit; font-size:clamp(18px,1.45vw,23px); font-weight:450; letter-spacing:-.035em; line-height:1.35; list-style:none; cursor:pointer; border:0; background:none; }
.dfaq .dfaq-item > .dfaq-summary::-webkit-details-marker { display:none; }
.dfaq .dfaq-item > .dfaq-summary::before,.dfaq .dfaq-item > .dfaq-summary::after { content:none; display:none; }
.dfaq .dfaq-summary > .dfaq-index { display:block; width:auto; height:auto; margin:0; padding:0; color:var(--muted,#696973); font-family:var(--mono,ui-monospace,monospace); font-size:10px; font-weight:400; letter-spacing:.02em; line-height:1.5; position:static; }
.dfaq .dfaq-summary > .dfaq-question { display:block; width:auto; height:auto; margin:0; padding:0; color:inherit; font:inherit; position:static; transition:color .2s; }
.dfaq .dfaq-summary > :is(.dfaq-index,.dfaq-question)::before,.dfaq .dfaq-summary > :is(.dfaq-index,.dfaq-question)::after { content:none; display:none; }
.dfaq .dfaq-summary > .dfaq-icon { display:grid; place-items:center; width:40px; height:40px; border:1px solid var(--dfaq-line); border-radius:50%; background:none; color:var(--dfaq-accent); margin:0; padding:0; position:relative; flex:none; transition:border-color .25s,transform .4s var(--ease-out,cubic-bezier(.16,1,.3,1)); }
.dfaq .dfaq-icon::before,.dfaq .dfaq-icon::after { content:none; display:none; }
.dfaq .dfaq-icon i { position:absolute; display:block; width:12px; height:1px; margin:0; padding:0; background:currentColor; transform:none; transition:transform .35s var(--ease-out,cubic-bezier(.16,1,.3,1)),opacity .2s; }
.dfaq .dfaq-icon i:last-child { transform:rotate(90deg); }
.dfaq .dfaq-item[data-expanded="true"] > .dfaq-summary { color:var(--dfaq-accent); }
.dfaq .dfaq-item[data-expanded="true"] .dfaq-index { color:var(--dfaq-accent); }
.dfaq .dfaq-item[data-expanded="true"] .dfaq-icon { transform:rotate(180deg); border-color:var(--dfaq-accent); }
.dfaq .dfaq-item[data-expanded="true"] .dfaq-icon i:last-child { opacity:0; transform:rotate(0); }
.dfaq .dfaq-item[open]:not([data-expanded]) > .dfaq-summary { color:var(--dfaq-accent); }
.dfaq .dfaq-item[open]:not([data-expanded]) .dfaq-icon { transform:rotate(180deg); border-color:var(--dfaq-accent); }
.dfaq .dfaq-item[open]:not([data-expanded]) .dfaq-icon i:last-child { opacity:0; transform:rotate(0); }
.dfaq .dfaq-item > .dfaq-answer { display:flow-root; width:auto; height:auto; margin:0; padding:0; color:var(--dfaq-text); background:none; border:0; }
.dfaq .dfaq-answer > .dfaq-inner { display:flow-root; padding:0 58px 30px 48px; margin:0; }
.dfaq .dfaq-inner p,.dfaq .dfaq-inner dd { max-width:62ch; margin:0; padding:0; color:var(--dfaq-text); font-size:16px; font-weight:400; letter-spacing:-.005em; line-height:1.7; text-wrap:pretty; }
.dfaq .dfaq-inner p+p { margin-top:12px; }
.dfaq .dfaq-inner .faq-fragment { display:block; }
.dfaq .dfaq-inner .faq-fragment+.faq-fragment { margin-top:10px; }
.dfaq .dfaq-inner a { color:var(--dfaq-accent); text-decoration:underline; text-underline-offset:4px; white-space:normal; }
.dfaq .dfaq-inner dl { display:grid; gap:20px; margin:0; }
.dfaq .dfaq-inner dt { margin-bottom:6px; }
.dfaq .dfaq-inner .sw-dr-meta { margin-bottom:20px; font-size:10px; }
.dfaq .dfaq-item:not([open]) > .dfaq-answer { display:none; }
.dfaq .dfaq-summary:focus-visible { outline:2px solid var(--dfaq-accent); outline-offset:3px; }
@media(hover:hover) and (pointer:fine) { .dfaq .dfaq-summary:hover { color:var(--dfaq-accent); } .dfaq .dfaq-summary:hover .dfaq-icon { border-color:var(--dfaq-accent); } }
@media(max-width:760px) {
 .dfaq .dfaq-item > .dfaq-summary { grid-template-columns:24px minmax(0,1fr) 36px; gap:12px; min-height:84px; padding:22px 0; font-size:19px; }
 .dfaq .dfaq-summary > .dfaq-icon { width:36px; height:36px; }
 .dfaq .dfaq-answer > .dfaq-inner { padding:0 0 26px 36px; }
 .dfaq .dfaq-inner p,.dfaq .dfaq-inner dd { font-size:15px; }
}
@media(prefers-reduced-motion:reduce) { .dfaq *,.dfaq *::before,.dfaq *::after { transition:none!important; animation:none!important; } }
.reduced-motion .dfaq *,.reduced-motion .dfaq *::before,.reduced-motion .dfaq *::after { transition:none!important; animation:none!important; }
