/* Shared ControlStack FAQ only; no global selectors or navigation changes. */
.controlstack-faq-list details { border-bottom:1px solid #3c5a71; }
.controlstack-faq-list details:first-child { border-top:1px solid #3c5a71; }
.controlstack-faq-list summary { position:relative; display:block; padding:22px 29px 22px 0; list-style:none; color:#eef6fc; font-size:15px; font-weight:600; line-height:1.6; cursor:pointer; }
.controlstack-faq-list summary::-webkit-details-marker { display:none; }
.controlstack-faq-list summary::after { content:"+"; position:absolute; right:0; top:20px; color:#89cfff; font-size:22px; font-weight:400; }
.controlstack-faq-list details[open] summary::after { content:"−"; }
.controlstack-faq-list details > p { margin:0; max-width:680px; padding:0 29px 17px 0; color:#bfd1e1; font-size:14px; line-height:1.75; }
.controlstack-faq-list details > p:last-child { padding-bottom:23px; }
.controlstack-faq-list details > p > strong { color:#eef6fc; }
.controlstack-faq-list summary:focus-visible { outline:2px solid #b4e475; outline-offset:5px; }
.cs-faq { padding:64px 0; background:#041524; border-top:1px solid #1d4a73; }
.cs-faq-grid { display:grid; grid-template-columns:.8fr 1.4fr; gap:12%; }
.cs-faq-grid > * { min-width:0; }
.cs-faq h2 { margin:12px 0 0; color:#eef6fc; font:700 32px/1.22 Exo,Arial,sans-serif; letter-spacing:-.6px; }
.cs-faq header > p:not(.eyebrow) { max-width:320px; margin-top:20px; color:#c2d2df; font-size:14px; line-height:1.75; }
.cs-faq .eyebrow { margin:0; color:#8fc6f2; font-size:11px; font-weight:600; letter-spacing:1.7px; }
@media (max-width:900px) { .cs-faq-grid { gap:6%; grid-template-columns:.8fr 1.3fr; } }
@media (max-width:640px) {
  .cs-faq { padding-block:44px; }
  .cs-faq-grid { grid-template-columns:1fr; gap:31px; }
  .cs-faq h2 { font-size:28px; }
}
