.faq-hero { padding: var(--space-9) 0 var(--space-7); text-align: center; background: var(--brand-cream); }
  .faq-hero h1 { font-family: var(--font-serif); font-weight: 500; font-size: clamp(2.6rem, 4.6vw, 4rem); line-height: 1.02; letter-spacing: -0.025em; margin: var(--space-3) auto var(--space-5); max-width: 800px; }
  .faq-search { max-width: 540px; margin: 0 auto; position: relative; }
  .faq-search input { width: 100%; padding: 16px 20px 16px 50px; border: 1px solid var(--border-strong); border-radius: var(--radius-pill); font: inherit; font-size: 1rem; background: var(--surface); }
  .faq-search input:focus { outline: none; border-color: var(--brand-trunk); box-shadow: var(--shadow-focus); }
  .faq-search::before { content: ""; position: absolute; left: 20px; top: 50%; transform: translateY(-50%); width: 18px; height: 18px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%236B7268' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E") no-repeat center; }

  .faq-cats { display: flex; gap: 8px; justify-content: center; padding: var(--space-6) 0; flex-wrap: wrap; }
  .faq-cat { padding: 8px 16px; border-radius: var(--radius-pill); font-size: 0.875rem; background: var(--bg-muted); color: var(--fg-2); border: 1px solid var(--border); cursor: pointer; transition: all var(--dur-fast) var(--ease-out); }
  .faq-cat:hover, .faq-cat.active { background: var(--brand-trunk); color: var(--brand-cream); border-color: var(--brand-trunk); }

  .faq-block { padding: var(--space-7) 0; }
  .faq-block h2 { font-family: var(--font-serif); font-size: 2.2rem; font-weight: 500; line-height: 1.05; letter-spacing: -0.02em; margin: 0 0 var(--space-5); }