.hrcc-faq { --faq-accent:#296ab1; --faq-line:#d9e3ed; margin:24px 0 48px; }
.hrcc-faq details { border:1px solid var(--faq-line); border-radius:8px; margin:0 0 16px; background:#fff; overflow:hidden; transition:border-color .22s,box-shadow .22s; }
.hrcc-faq details[open] { border-color:var(--faq-accent); }
.hrcc-faq summary { display:flex; align-items:center; gap:16px; padding:24px; cursor:pointer; font-size:20px; font-weight:700; line-height:1.65; list-style:none; transition:background .22s; }
.hrcc-faq summary::-webkit-details-marker { display:none; }
.hrcc-faq summary::before { content:'Q'; color:var(--faq-accent); font-size:24px; flex:none; }
.hrcc-faq summary::after { content:'+'; margin-left:auto; font-size:26px; font-weight:400; flex:none; transition:transform .25s; }
.hrcc-faq details[open] summary::after { transform:rotate(45deg); }
.hrcc-faq summary:focus-visible { outline:3px solid var(--faq-accent); outline-offset:-4px; }
.hrcc-faq .faq-answer { padding:0 24px 24px 59px; }
.hrcc-faq .faq-answer p { margin:0; padding-top:20px; border-top:1px solid var(--faq-line); font-size:17px; line-height:1.9; }
@media(hover:hover) { .hrcc-faq details:hover { border-color:var(--faq-accent); box-shadow:0 3px 12px #296ab112; } .hrcc-faq summary:hover { background:#f2f7fb; } }
@media(max-width:600px) { .hrcc-faq summary { padding:18px 16px; gap:12px; font-size:18px; } .hrcc-faq .faq-answer { padding:0 16px 20px; } }
@media(prefers-reduced-motion:reduce) { .hrcc-faq details,.hrcc-faq summary,.hrcc-faq summary::after { transition:none; } }
