.faq-hero{padding:160px 0 80px;text-align:center;position:relative;overflow:hidden}.faq-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse 60% 50% at 50% 20%,var(--plum-wash),transparent 70%);pointer-events:none;z-index:0}.faq-hero-inner{max-width:760px;margin:0 auto;padding:0 28px;position:relative;z-index:2}.faq-hero h1{font-size:clamp(44px,7vw,104px);line-height:.98;letter-spacing:-.04em;margin-bottom:24px}.faq-hero .lede{max-width:50ch;margin:0 auto;font-size:20px}.faq-search{max-width:560px;margin:40px auto 0;position:relative}.faq-search input{width:100%;padding:14px 16px 14px 44px;background:var(--bg-spotlight);border:1px solid var(--rule-strong);border-radius:var(--r-pill);color:var(--ink);font-family:var(--font-body);font-size:15px;outline:none;transition:border-color .2s var(--ease),background .2s var(--ease)}.faq-search input::placeholder{color:var(--ink-quiet)}.faq-search input:focus{border-color:var(--plum);background:var(--surface)}.faq-search svg{position:absolute;inset-inline-start:16px;top:50%;transform:translateY(-50%);color:var(--ink-quiet)}.faq-filters{max-width:1100px;margin:56px auto 0;padding:0 28px;display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.faq-filter{padding:8px 16px;background:transparent;border:1px solid var(--rule-strong);border-radius:var(--r-pill);color:var(--ink-soft);font-family:var(--font-body);font-size:13.5px;font-weight:500;cursor:pointer;transition:all .2s var(--ease)}.faq-filter:hover{color:var(--ink);border-color:var(--rule-strong);background:var(--surface)}.faq-filter.is-active{background:var(--plum);color:#fff;border-color:var(--plum)}.faq-section{padding:56px 0 120px}.faq-list{max-width:900px;margin:0 auto;padding:0 28px}.faq-group{margin-bottom:56px}.faq-group-label{font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.14em;color:var(--ink-quiet);padding-bottom:18px;border-bottom:1px solid var(--rule);margin-bottom:8px;display:flex;align-items:center;justify-content:space-between}.faq-group-count{font-family:var(--font-mono);color:var(--plum-ink)}.faq-item{border-bottom:1px solid var(--rule);transition:background .2s var(--ease)}.faq-item:hover{background:var(--plum-wash)}.faq-question{width:100%;text-align:start;padding:22px 24px;background:transparent;border:none;font-family:var(--font-display);font-size:19px;font-weight:700;letter-spacing:-.02em;color:var(--ink);display:flex;align-items:center;justify-content:space-between;gap:20px;cursor:pointer;line-height:1.3}.faq-question:hover{color:var(--plum-ink)}.faq-toggle{flex-shrink:0;width:28px;height:28px;background:var(--surface);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;color:var(--ink-2);transition:transform .35s var(--ease),background .2s var(--ease)}.faq-item.is-open .faq-toggle{transform:rotate(45deg);background:var(--plum);color:#fff}.faq-answer{max-height:0;overflow:hidden;transition:max-height .5s var(--ease)}.faq-item.is-open .faq-answer{max-height:720px}.faq-answer-inner{padding:0 24px 28px;font-size:16px;line-height:1.7;color:var(--ink-2);max-width:64ch}.faq-answer-inner p+p{margin-top:1em}.faq-answer-inner .accent{color:var(--plum);font-weight:700;font-style:italic}.faq-answer-inner code{background:var(--surface);padding:2px 6px;border-radius:5px;font-size:.9em}.faq-escape{max-width:900px;margin:0 auto;padding:80px 28px 0;border-top:1px solid var(--rule);text-align:center}.faq-escape h3{font-size:clamp(28px,3.2vw,40px);margin-bottom:12px;letter-spacing:-.025em}.faq-escape p{color:var(--ink-soft);margin-bottom:24px}.faq-empty{text-align:center;padding:80px 20px;color:var(--ink-soft)}@media (max-width:720px){.faq-hero{padding:96px 0 48px}.faq-filters{margin-top:36px;padding:0 16px}.faq-section{padding:36px 0 80px}.faq-list{padding:0 16px}.faq-group{margin-bottom:40px}.faq-question{padding:18px 14px 18px 18px;font-size:16px;gap:12px}.faq-toggle{width:24px;height:24px}.faq-answer-inner{padding:0 18px 22px;font-size:15px}.faq-item.is-open .faq-answer{max-height:1800px}.faq-escape{padding:56px 16px 0}}