.faq-page { padding:44px 24px 56px;background:linear-gradient(130deg,#f3f8fc,#f8f6fb);color:#29445d; }
.faq-layout { display:grid;grid-template-columns:minmax(0,300px) minmax(0,1fr);gap:56px;align-items:start; }
.faq-intro-icon { display:flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:16px;background:linear-gradient(135deg,#e4f2fb,#eee5f6);color:#86529e;margin-bottom:22px; }
.faq-intro-icon svg { width:29px;height:29px; }
.faq-eyebrow { text-transform:uppercase;letter-spacing:.12em;color:#8a639e;font-size:10px;font-weight:700;margin-bottom:10px; }
.faq-intro h2 { font-size:28px;line-height:1.3;font-weight:700;margin:0 0 14px; }
.faq-intro > p:not(.faq-eyebrow) { font-size:14px;line-height:1.9;color:#728299;margin:0; }
.faq-contact { margin-top:30px;padding:22px;background:white;border:1px solid #e0e7f1;border-radius:14px; }
.faq-contact h3 { font-size:15px;font-weight:600;margin:0 0 8px; }
.faq-contact p { font-size:13px;line-height:1.8;color:#728299;margin:0 0 16px; }
.faq-contact a { display:inline-flex;align-items:center;gap:24px;font-size:13px;font-weight:600;color:#86529e; }
.faq-contact a:hover { color:#2c98d4; }
.faq-list-heading { display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px; }
.faq-list-heading h2 { font-size:17px;font-weight:600; }
.faq-list-heading > span { font-size:12px;color:#79899d; }
.faq-item { background:white;border:1px solid #e0e7f1;border-radius:14px;box-shadow:0 4px 18px #29445d04;margin-bottom:12px;overflow:hidden; }
.faq-item:last-child { margin-bottom:0; }
.faq-item[open] { border-color:#d1c2e0;box-shadow:0 8px 24px #62447908; }
.faq-item summary { display:flex;align-items:center;gap:16px;list-style:none;padding:22px 24px;cursor:pointer; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary:hover { background:#fcfaff; }
.faq-item summary h3 { flex:1;min-width:0;font-size:16px;line-height:1.6;font-weight:600;margin:0;overflow-wrap:anywhere; }
.faq-number { color:#9aa8ba;font-size:12px;font-weight:600;font-variant-numeric:tabular-nums; }
.faq-item[open] .faq-number { color:#9065a5; }
.faq-toggle { display:flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:8px;background:#f3f5f9;color:#7c8da3; }
.faq-toggle svg { width:18px;height:18px;transition:transform .2s; }
.faq-item[open] .faq-toggle { background:#f1eaf7;color:#86529e; }
.faq-item[open] .faq-toggle svg { transform:rotate(180deg); }
.faq-answer { margin:0 24px 24px 56px;padding-top:16px;border-top:1px solid #edf0f6;font-size:14px;line-height:1.9;color:#61758d;overflow-wrap:anywhere; }
.faq-answer p + p { margin-top:12px; }
.faq-answer a { color:#86529e;text-decoration:underline;text-underline-offset:3px; }
.faq-answer ul,.faq-answer ol { padding-inline-start:22px;margin:12px 0; }
.faq-answer ul { list-style:disc; }.faq-answer ol { list-style:decimal; }
.faq-answer img { max-width:100%;height:auto; }.faq-answer table { display:block;max-width:100%;overflow:auto; }
.faq-empty { padding:32px;background:white;border:1px dashed #d8e1ed;border-radius:14px; }
.faq-empty h3 { font-weight:600;margin-bottom:10px; }.faq-empty p { color:#728299;font-size:14px;line-height:1.8; }
.faq-page :focus-visible { outline:3px solid #aa92c8;outline-offset:-3px; }
@media(max-width:1023px) { .faq-layout { grid-template-columns:minmax(0,240px) minmax(0,1fr);gap:28px; }.faq-intro h2 { font-size:25px; } }
@media(max-width:767px) { .faq-page { padding:28px 16px 36px; }.faq-layout { grid-template-columns:minmax(0,1fr);gap:28px; }.faq-intro-icon { width:44px;height:44px;margin-bottom:16px;border-radius:12px; }.faq-intro-icon svg { width:25px;height:25px; }.faq-contact { margin-top:20px;padding:18px; }.faq-item summary { padding:18px 16px;gap:10px; }.faq-item summary h3 { font-size:15px; }.faq-answer { margin:0 16px 20px;padding-top:14px; }.faq-intro h2 { font-size:24px; } }
@media(prefers-reduced-motion:reduce) { .faq-toggle svg { transition:none; } }
