/* Native details; existing dark palette, yellow cues and readable body copy. */
.csd-faq { color:#f8fdfb; }
.csd-faq .section-heading { margin-bottom:32px; }
.csd-faq .section-heading > p { color:#b6dbcb; }
.csd-faq-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 32px; align-items:start; }
.csd-faq-item { min-width:0; border-top:1px solid #2c624b; }
.csd-faq-item:nth-last-child(-n+2) { border-bottom:1px solid #2c624b; }
.csd-faq-item summary { display:flex; align-items:center; gap:16px; min-height:88px; padding:22px 0; list-style:none; cursor:pointer; color:#f8fdfb; font-size:18px; font-weight:650; line-height:1.5; }
.csd-faq-item summary::-webkit-details-marker { display:none; }
.csd-faq-item summary > span:nth-child(2) { flex:1; min-width:0; }
.csd-faq-number { color:#8dc7ae; font-size:12px; letter-spacing:.06em; font-weight:500; }
.csd-faq-toggle { display:flex; align-items:center; justify-content:center; width:32px; height:32px; flex:0 0 auto; border:1px solid #3b785e; border-radius:50%; color:#ffdc62; font-size:23px; font-weight:400; line-height:1; transition:transform .15s,background .15s; }
.csd-faq-item[open] .csd-faq-toggle { transform:rotate(45deg); background:#ffd442; color:#10442d; border-color:#ffd442; }
.csd-faq-item summary:hover > span:nth-child(2) { color:#ffdf65; }
.csd-faq-item summary:focus-visible { outline:3px solid #ffd442; outline-offset:4px; border-radius:3px; }
.csd-faq-answer { padding:0 0 25px 34px; }
.csd-faq-answer > p { margin:0; color:#b6dbcb; font-size:16px; line-height:1.8; }
.csd-faq-answer .csd-faq-source { display:flex; flex-wrap:wrap; gap:6px 20px; margin-top:14px; font-size:14px; }
.csd-faq-source a { display:inline-flex; align-items:center; gap:8px; min-height:44px; color:#ffdc62; text-decoration:underline; text-underline-offset:4px; }
.csd-faq-source a:focus-visible { outline:3px solid #ffd442; outline-offset:4px; }
@media (max-width:900px) { .csd-faq-grid { grid-template-columns:1fr; } .csd-faq-item:nth-last-child(-n+2) { border-bottom:0; } .csd-faq-item:last-child { border-bottom:1px solid #2c624b; } }
@media (max-width:700px) { .csd-faq .section-heading { margin-bottom:24px; } .csd-faq-item summary { gap:12px; padding:20px 0; min-height:84px; font-size:16px; } .csd-faq-answer { padding-left:0; } }
@media (prefers-reduced-motion:reduce) { .csd-faq-toggle { transition:none; } }
.motion-paused .csd-faq-toggle { transition:none; }
