
.faq-hero { padding:8rem 0 4.5rem; background:#202020; color:#fff; }
.faq-breadcrumb { display:flex; flex-wrap:wrap; gap:.55rem; align-items:center; margin-bottom:1.8rem; color:rgba(255,255,255,.65); font-size:1.35rem; }
.faq-breadcrumb a { color:inherit; text-decoration:none; }
.faq-kicker { display:block; color:var(--color-accent); font-size:1.25rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.faq-hero h1 { margin:.55rem 0 .8rem; color:#fff; font-size:clamp(3.6rem,6vw,5rem); line-height:1; letter-spacing:-.04em; }
.faq-hero p { max-width:760px; color:rgba(255,255,255,.75); font-size:1.6rem; line-height:1.6; }
.faq-search { display:block; max-width:760px; margin-top:2rem; }
.faq-search input { width:100%; min-height:54px; padding:0 1.1rem; border:1px solid rgba(255,255,255,.28); background:rgba(255,255,255,.08); color:#fff; font:inherit; font-size:1.4rem; }
.faq-search input::placeholder { color:rgba(255,255,255,.55); }
.faq-main { padding:4rem 0 6rem; background:#fff; }
.faq-tabs { position:sticky; top:86px; z-index:30; display:flex; flex-wrap:wrap; gap:.5rem; margin-bottom:3.5rem; padding:.75rem; background:rgba(255,255,255,.96); border:1px solid #e6e2dd; backdrop-filter:blur(8px); }
.faq-tabs a { padding:.65rem .9rem; color:#555; text-decoration:none; font-size:1.3rem; font-weight:750; }
.faq-tabs a:hover { color:var(--color-accent); }
.faq-group { max-width:980px; margin:0 auto 4.5rem; scroll-margin-top:150px; }
.faq-group-head { margin-bottom:1.2rem; }
.faq-group-head h2 { margin:.4rem 0 0; font-size:clamp(2.4rem,4vw,3.6rem); line-height:1.08; }
.faq-item { border-top:1px solid #e5e1dc; }
.faq-item:last-of-type { border-bottom:1px solid #e5e1dc; }
.faq-item summary { position:relative; padding:1.25rem 3rem 1.25rem 0; cursor:pointer; list-style:none; color:#242424; font-weight:750; font-size:1.6rem; line-height:1.45; }
.faq-item summary::-webkit-details-marker { display:none; }
.faq-item summary::after { content:'+'; position:absolute; right:.4rem; top:1.12rem; color:var(--color-accent); font-size:1.8rem; font-weight:400; }
.faq-item[open] summary::after { content:'–'; }
.faq-answer { padding:0 3.5rem 1.4rem 0; color:#5d5d5d; font-size:1.6rem; line-height:1.75; }
.faq-answer p,.faq-answer ol { margin:.2rem 0 1rem; }
.faq-answer a { color:var(--color-accent); }
.faq-source-note { margin-top:1.25rem; padding:1rem 1.2rem; background:#f7f5f2; border-left:4px solid #bbb; color:#606060; font-size:1.4rem; line-height:1.65; }
.faq-empty { max-width:980px; margin:0 auto; padding:1rem; background:#fff5eb; border-left:4px solid var(--color-accent); }
.faq-cta { padding:4.5rem 0; background:#1e1e1e; color:#fff; }
.faq-cta-inner { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:2rem; align-items:center; }
.faq-cta h2 { margin:.5rem 0 .7rem; color:#fff; font-size:clamp(2.4rem,4vw,3.6rem); line-height:1.08; }
.faq-cta p { max-width:720px; margin:0; color:rgba(255,255,255,.7); font-size:1.5rem; line-height:1.65; }
.faq-cta-actions { display:flex; flex-wrap:wrap; gap:.75rem; }
.faq-btn { display:inline-flex; align-items:center; min-height:46px; padding:.8rem 1.05rem; border:1px solid transparent; text-decoration:none; font-weight:800; font-size:1.3rem; }
.faq-btn-primary { background:var(--color-accent); color:#fff !important; }
.faq-btn-light { border-color:rgba(255,255,255,.42); color:#fff !important; }
.resource-inquiry-float {
    position:fixed; z-index:900; right:0; top:48%; transform:translateY(-50%);
    writing-mode:vertical-rl; text-orientation:mixed; padding:1rem .7rem;
    background:var(--color-accent); color:#fff !important; text-decoration:none;
    font-size:1.2rem; font-weight:800; letter-spacing:.08em; box-shadow:0 8px 24px rgba(0,0,0,.18);
}
@media (max-width:768px) {
    .faq-hero { padding:7rem 0 3.8rem; }
    .faq-tabs { top:70px; }
    .faq-answer { padding-right:1rem; }
    .faq-cta-inner { grid-template-columns:1fr; }
    .resource-inquiry-float { top:auto; bottom:0; left:0; right:0; transform:none; writing-mode:horizontal-tb; text-align:center; padding:.9rem 1rem; }
}
