.faq-page { max-width:1040px;margin:0 auto 56px;overflow-wrap:anywhere; }
.faq-head { padding:34px 0 22px;border-bottom:1px solid var(--line);margin-bottom:28px; }
.faq-head h1 { font-size:clamp(26px,4vw,36px);line-height:1.2;margin:0 0 10px;letter-spacing:-.02em; }
.faq-lead { color:var(--muted);max-width:640px;margin:0;line-height:1.6;font-size:16px; }
.faq-layout { display:grid;grid-template-columns:220px minmax(0,1fr);gap:40px;align-items:start; }
.faq-toc { position:sticky;top:20px;border-left:2px solid var(--teal);padding-left:16px;display:block; }
.faq-toc h2 { font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);margin:0 0 10px; }
.faq-toc ul { list-style:none;margin:0;padding:0;display:grid;gap:8px; }
.faq-toc a { color:var(--navy);font-weight:600;font-size:14px;line-height:1.4; }
.faq-toc a:hover { color:#0F7B6C;text-decoration:underline;text-underline-offset:3px; }
.faq-groups { min-width:0; }
.faq-group { margin-bottom:36px;scroll-margin-top:20px; }
.faq-group h2 { font-size:20px;margin:0 0 12px; }
.faq-item { background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:8px; }
.faq-item[open] { border-color:#9ED9CF; }
.faq-item summary { list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:flex-start;gap:16px;padding:15px 18px;font-weight:600;line-height:1.45;border-radius:10px; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-q { min-width:0;overflow-wrap:anywhere; }
.faq-item summary:focus-visible,.faq-toc a:focus-visible,.faq-cta a:focus-visible { outline:3px solid var(--teal);outline-offset:2px; }
.faq-icon { flex:none;width:12px;height:12px;margin-top:5px;position:relative; }
.faq-icon::before,.faq-icon::after { content:"";position:absolute;left:0;top:5px;width:12px;height:2px;background:#0F7B6C; }
.faq-icon::after { transform:rotate(90deg); }
.faq-item[open] .faq-icon::after { transform:rotate(0); }
.faq-a { padding:0 18px 16px;color:#33435C;line-height:1.65; }
.faq-a p { margin:0;white-space:pre-line; }
.faq-cta { background:var(--navy);color:#F5F7FB;border-radius:12px;padding:26px; }
.faq-cta h2 { margin:0 0 6px;font-size:20px; }
.faq-cta p { margin:0;color:#C9D3E3; }
.faq-cta .faq-actions { margin-top:16px;display:flex;flex-wrap:wrap;gap:10px; }
@media(max-width:800px) {
  .faq-layout { grid-template-columns:1fr;gap:24px; }
  .faq-toc { position:static; }
  .faq-item summary { padding:14px; }
  .faq-a { padding:0 14px 14px; }
}
