.site-faq { margin-block: clamp(2.5rem,6vw,5rem); }
.site-faq > h2 { margin-bottom: 1rem; color: #0b2d4d; font-size: clamp(1.7rem,1.4rem + .8vw,2.25rem); }
.site-faq > details { margin: 0; border: 1px solid #bfd1dd; border-bottom: 0; background: #edf4f8; }
.site-faq > details:first-of-type { border-radius: 14px 14px 0 0; }
.site-faq > details:last-of-type { border-bottom: 1px solid #bfd1dd; border-radius: 0 0 14px 14px; }
.site-faq summary { position: relative; padding: 1rem 3.25rem 1rem 1.15rem; color: #164f7d; font-weight: 800; line-height: 1.45; cursor: pointer; list-style: none; }
.site-faq summary::-webkit-details-marker { display: none; }
.site-faq summary::before { margin-right: .55rem; color: #c2410c; content: "▸"; }
.site-faq summary::after { position: absolute; top: 50%; right: 1.15rem; color: #0b2d4d; content: "+"; font-size: 1.3rem; transform: translateY(-50%); }
.site-faq details[open] summary::before { content: "▾"; }
.site-faq details[open] summary::after { content: "−"; }
.site-faq details p { position: relative; margin: 0 1rem 1rem; padding: 1.15rem 1.3rem; border-radius: 12px; background: #fff; box-shadow: 0 10px 28px rgba(11,45,77,.09); color: #17324a; }
.site-faq details p::before { position:absolute; top:-.5rem; left:1.5rem; width:1rem; height:1rem; background:#fff; content:""; transform:rotate(45deg); }
