/* Page-owned FAQ composition; the accepted shell retains its shared rules. */
.faq-page { width:100%; color:#444; font-size:18px; line-height:1.65; }
.faq-page * { box-sizing:border-box; }
.faq-container { width:min(1100px,calc(100% - 40px)); margin-inline:auto; min-width:0; }
.faq-intro { background:#f5c800; padding:clamp(44px,6vw,88px) 0 40px; border-bottom:1px solid #111; }
.faq-eyebrow { margin:0 0 16px; font-size:14px; line-height:1.5; font-weight:600; letter-spacing:.09em; text-transform:uppercase; color:#111; }
.faq-page h1 { color:#111; font-size:clamp(38px,5.2vw,72px); line-height:1.08; max-width:900px; margin:0 0 28px; letter-spacing:-.025em; overflow-wrap:break-word; }
.faq-lead { max-width:780px; margin:0; color:#222; font-size:clamp(18px,2vw,22px); line-height:1.55; }
.faq-topics { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr)); gap:12px; margin-top:40px; }
.faq-topics a { min-width:0; display:flex; align-items:center; gap:14px; padding:18px; min-height:60px; color:#111; background:#fff; border:1px solid #111; font-weight:600; font-size:17px; line-height:1.4; text-decoration:none; }
.faq-topics span { font-size:13px; font-weight:700; flex:none; }
.faq-topics a:hover { background:#111; color:#fff; }
.faq-page a:focus-visible { outline:3px solid #111; outline-offset:4px; }
.faq-content { padding-block:56px 80px; }
.faq-group { margin-bottom:60px; scroll-margin-top:24px; min-width:0; }
.faq-group-heading { padding-bottom:28px; border-bottom:3px solid #111; }
.faq-group-heading .faq-eyebrow { margin-bottom:10px; }
.faq-page h2 { color:#111; font-size:clamp(28px,3vw,40px); line-height:1.2; margin:0 0 14px; }
.faq-group-heading p:last-child { margin:0; max-width:800px; }
.faq-answer { padding:28px 0 32px; border-bottom:1px solid #ccc; min-width:0; }
.faq-page h3 { margin:0 0 14px; color:#111; font-size:clamp(21px,2vw,26px); line-height:1.35; }
.faq-answer p { margin:0; max-width:900px; }
.faq-note { padding:32px; background:#f3f3f3; border-left:6px solid #f5c800; min-width:0; }
.faq-note h2 { font-size:28px; }
.faq-note p { margin:0 0 16px; max-width:850px; }
.faq-note a { display:inline-flex; align-items:center; min-height:44px; color:#111; font-weight:600; text-underline-offset:4px; }
@media (max-width:600px) {
  .faq-container { width:calc(100% - 32px); }
  .faq-intro { padding-block:40px 28px; }
  .faq-topics { margin-top:28px; }
  .faq-content { padding-block:36px 48px; }
  .faq-group { margin-bottom:40px; }
  .faq-group-heading { padding-bottom:22px; }
  .faq-answer { padding-block:24px; }
  .faq-note { padding:24px 18px; }
}
