.faq-page{max-width:880px;margin:0 auto;padding:var(--spacing-10) var(--spacing-6) var(--spacing-12)}.faq-page__header{margin-bottom:var(--spacing-6);text-align:center}.faq-page__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-3);line-height:1.2}.faq-page__lead{font-size:var(--text-base);color:var(--text-secondary);line-height:1.6;margin:0 auto;max-width:640px}.faq-toolbar{display:flex;align-items:center;justify-content:center;margin-bottom:var(--spacing-4)}.faq-toolbar__count{display:inline-flex;align-items:center;height:28px;padding:0 var(--spacing-3);background:var(--brand-muted);color:var(--brand-primary-hover);border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:700;letter-spacing:.04em;text-transform:uppercase}.faq-search{margin-bottom:var(--spacing-6)}.faq-search__label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--text-primary);margin-bottom:var(--spacing-2)}.faq-search__input{width:100%;height:var(--input-height);padding:0 var(--spacing-4);border:1px solid var(--border-default);border-radius:var(--input-radius);font-size:var(--text-base);font-family:var(--font-sans);color:var(--text-primary);background:var(--surface-input);outline:none;transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.faq-search__input:focus{border-color:var(--border-focus);box-shadow:0 0 0 3px hsl(var(--color-teal-100)/.6)}.faq-empty{padding:var(--spacing-6);background:var(--surface-secondary);border:1px solid var(--border-default);border-radius:var(--card-radius);color:var(--text-secondary);text-align:center;font-size:var(--text-sm)}.faq-category{margin-bottom:var(--spacing-8);scroll-margin-top:calc(var(--header-height, 64px) + var(--spacing-6))}.faq-category__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-4)}.faq-accordion{display:flex;flex-direction:column;gap:var(--spacing-3)}.faq-item{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--card-radius);overflow:hidden;transition:border-color var(--transition-fast)}.faq-item[data-state=open]{border-color:var(--brand-primary)}.faq-item__trigger{width:100%;display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-3);padding:var(--spacing-4) var(--spacing-5);background:transparent;border:none;text-align:left;font-weight:600;color:var(--text-primary);font-size:var(--text-base);font-family:var(--font-sans);cursor:pointer;transition:background var(--transition-fast)}.faq-item__trigger:hover{background:var(--surface-secondary)}.faq-item__trigger .accordion__chevron{transition:transform .2s;color:var(--text-secondary);flex-shrink:0}.faq-item[data-state=open] .faq-item__trigger{color:var(--brand-primary)}.faq-item[data-state=open] .accordion__chevron{transform:rotate(180deg);color:var(--brand-primary)}.faq-item__question{flex:1;line-height:1.45;min-width:0}.faq-item__content{overflow:hidden;font-size:var(--text-sm)}.faq-item__answer{padding:0 var(--spacing-5) var(--spacing-5);color:var(--text-secondary);line-height:1.7}.faq-highlight{background:var(--brand-muted);color:var(--brand-primary-hover);padding:0 4px;border-radius:var(--radius-sm);font-weight:600}.faq-page__cta{margin-top:var(--spacing-10);padding:var(--spacing-8);background:var(--surface-secondary);border:1px solid var(--border-default);border-radius:var(--card-radius);text-align:center}.faq-page__cta-title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--spacing-3)}.faq-page__cta-body{color:var(--text-secondary);font-size:var(--text-sm);line-height:1.6;margin:0 auto var(--spacing-5);max-width:480px}.faq-page__cta-button{display:inline-block;padding:var(--spacing-3) var(--spacing-8);background:var(--brand-primary);color:var(--text-inverse);border-radius:var(--button-radius);text-decoration:none;font-weight:700;font-size:var(--text-base);transition:background var(--transition-fast)}.faq-page__cta-button:hover{background:var(--brand-primary-hover);color:var(--text-inverse)}@media (max-width:640px){.faq-page{padding:var(--spacing-6) var(--spacing-4) var(--spacing-10)}.faq-page__title{font-size:var(--text-2xl)}.faq-item__trigger{padding:var(--spacing-3) var(--spacing-4)}}