.faq-page .c005-faq { padding-block: 0; background: var(--color-surface-base, #fff); }
.faq-page #company-numbers { padding-top: 10px; }
.faq-search, .faq-directory, .faq-empty { max-width: 60rem; margin-inline: auto; padding: var(--space-lg); }
#company-numbers .company-numbers-panel__shell { padding-block: var(--space-xl) var(--space-lg); }
.faq-search { position: relative; z-index: 1; width: 100%; max-width: 60rem; margin: 0 auto; padding: 0; background: transparent; border: 0; border-radius: 0; box-shadow: none; }
#company-numbers .faq-results { margin-block-end: 0; }
.faq-search label { display: block; margin-block-end: var(--space-xs); text-align: center; }
.faq-search p { margin: var(--space-xs) 0 var(--space-md); color: var(--color-text-secondary); text-align: center; }
.faq-search__controls { display: grid; grid-template-columns: minmax(0, 1fr) 9rem; gap: var(--space-sm); }
.faq-search__controls .button { white-space: nowrap; }
.faq-search input { min-height: 3rem; padding: .75rem var(--space-md); border: 1px solid var(--color-border-default); border-radius: var(--radius-small); font: inherit; }
.faq-search input:focus-visible { outline: 3px solid var(--color-brand-green-dark); outline-offset: 2px; }
.faq-search__field { position: relative; display: flex; min-width: 0; }
.faq-search__field input { width: 100%; min-width: 0; padding-inline-end: 3rem; }
.faq-search__field input::-webkit-search-cancel-button { -webkit-appearance: none; }
.faq-search__clear { position: absolute; inset-inline-end: 0; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; padding: 0; border: 0; background: transparent; color: var(--color-text-secondary); font: inherit; font-size: 1.5rem; cursor: pointer; }
.faq-search__clear[hidden] { display: none; }
.faq-search__clear:focus-visible { outline: 2px solid var(--color-brand-green-dark); outline-offset: -4px; border-radius: var(--radius-small); }
.faq-results { max-width: 60rem; margin: var(--space-md) auto var(--space-xl); text-align: right; }
.faq-directory ul { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-sm); margin: 0; padding: 0; list-style: none; }
.faq-directory a { display: flex; min-height: 3rem; align-items: center; justify-content: space-between; gap: var(--space-sm); padding: .75rem var(--space-md); color: var(--color-brand-green-darker); background: var(--color-surface-mint); border-radius: var(--radius-small); font-weight: 700; text-decoration: none; }
.faq-directory a:hover { text-decoration: underline; text-underline-offset: .2em; }
.faq-empty { margin-block-start: var(--space-lg); }
.faq-answer-area { padding-block: var(--space-4xl) var(--space-4xl); background: var(--color-surface-light-gray, #f4f6f7); }
.faq-categories { max-width: 60rem; margin-inline: auto; }
.faq-directory + .faq-categories, .faq-empty + .faq-categories { margin-block-start: var(--space-3xl); }
.faq-category { scroll-margin-top: 7rem; }
.faq-category + .faq-category { margin-block-start: var(--space-3xl); }
.faq-category__title { display: flex; align-items: baseline; justify-content: space-between; gap: var(--space-md); margin: 0 0 var(--space-lg); font-size: var(--font-size-subsection-title, 1.5rem); }
.faq-category__title span { flex: none; color: var(--color-text-secondary); font-size: var(--font-size-small); }
.faq-item { scroll-margin-top: 7rem; }
.faq-item__answer-copy > :first-child { margin-block-start: var(--space-2xs); color: var(--color-text-primary); font-weight: 700; }
.faq-item__answer-copy > :last-child { margin-block-end: 0; }
.faq-item__links { margin: var(--space-md) 0 0; padding: 0; list-style: none; }
@media (max-width: 767px) {
  .faq-search__controls, .faq-directory ul { grid-template-columns: 1fr; }
  .faq-search__controls .button { width: 100%; }
  .faq-results { text-align: left; }
}
