body { background: #fff; }
.directory { width: 100%; flex: 1; color: #0a0a0a; background: #fff; }
.directory-hero, .directory-list { max-width: 1152px; margin: 0 auto; padding-left: 16px; padding-right: 16px; }
.directory-hero { padding-top: 72px; padding-bottom: 64px; }
.directory-eyebrow { display: block; margin-bottom: 24px; color: #fe6a04; font-family: var(--mono); font-size: 11px; font-weight: 500; letter-spacing: .1em; text-transform: uppercase; }
.directory-hero h1 { margin: 0 0 20px; color: #0a0a0a; font-size: clamp(34px, 3.6vw, 48px); line-height: 1.12; letter-spacing: -.02em; font-weight: 400; }
.directory-hero h1 em, .directory-faq h2 em { color: #fe6a04; font-style: italic; }
.directory-hero p { max-width: 560px; margin: 0; color: #374151; font-size: 16px; font-weight: 300; line-height: 1.6; }
.directory-list { padding-bottom: 88px; }
.directory-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; }
.directory-card { display: flex; flex-direction: column; min-width: 0; padding: 24px 24px 22px; border: 1px solid #e5e7eb; border-radius: 12px; color: inherit; background: #fff; transition: border-color .2s, transform .2s; }
.directory-card:hover { border-color: #ddd9f0; transform: translateY(-2px); text-decoration: none; }
.directory-icon { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; flex: none; margin-bottom: 16px; border: 1px solid #ddd9f0; border-radius: 10px; background: #eeedf8; }
.directory-card h2 { margin: 0 0 8px; font-size: 15px; line-height: 1.3; font-weight: 500; letter-spacing: -.01em; }
.directory-card p { flex: 1; margin: 0; color: #6b7280; font-size: 13px; font-weight: 300; line-height: 1.65; }
.directory-button { align-self: flex-start; display: inline-block; margin-top: 20px; padding: 8px 18px; border-radius: 8px; color: #fff; background: #564dd0; font-size: 13px; font-weight: 500; }
.directory-faq { padding: 72px 16px; border-top: 1px solid #e5e7eb; border-bottom: 1px solid #e5e7eb; background: #f9fafb; }
.directory-faq-inner { max-width: 896px; margin: 0 auto; }
.directory-faq h2 { margin: 0 0 48px; color: #0a0a0a; font-size: clamp(28px, 3vw, 40px); line-height: 1.15; font-weight: 400; letter-spacing: -.02em; }
.directory-faq-list { display: flex; flex-direction: column; gap: 10px; }
.directory-faq-item { border: 1px solid #e5e7eb; border-radius: 10px; background: #fff; }
.directory-faq-item summary { display: flex; align-items: center; gap: 14px; padding: 18px 22px; cursor: pointer; list-style: none; }
.directory-faq-item summary::-webkit-details-marker { display: none; }
.directory-question-icon { display: inline-flex; align-items: center; justify-content: center; width: 28px; height: 28px; flex: none; border: 1px solid #ddd9f0; border-radius: 6px; color: #564dd0; background: #eeedf8; font-family: var(--mono); font-size: 11px; font-weight: 700; }
.directory-faq-item h3 { flex: 1; margin: 0; color: #0a0a0a; font-size: 14px; line-height: 1.4; font-weight: 500; }
.directory-chevron { width: 9px; height: 9px; flex: none; border-right: 2px solid #9ca3af; border-bottom: 2px solid #9ca3af; transform: rotate(45deg); }
.directory-faq-item[open] .directory-chevron { transform: rotate(225deg); }
.directory-faq-item p { margin: 0; padding: 0 22px 18px 64px; color: #374151; font-size: 13px; font-weight: 300; line-height: 1.7; }
.directory-cta { padding: 80px 16px; border-bottom: 1px solid #bfdbfe; background: #eef6ff; text-align: center; }
.directory-cta h2 { margin: 0 0 16px; color: #000; font-size: clamp(28px, 3vw, 40px); line-height: 1.15; font-weight: 700; letter-spacing: -.02em; }
.directory-cta p { max-width: 440px; margin: 0 auto 32px; color: #374151; font-size: 15px; font-weight: 300; }
.directory-cta a { display: inline-block; padding: 13px 28px; border-radius: 8px; color: #fff; background: #564dd0; font-size: 15px; font-weight: 500; }
.directory-cta a:hover { opacity: .88; text-decoration: none; }
@media (min-width: 1024px) { .directory-hero h1 { white-space: nowrap; } }
@media (max-width: 1000px) { .directory-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .directory-hero { padding-top: 48px; padding-bottom: 48px; }
  .directory-list { padding-bottom: 64px; }
  .directory-grid { grid-template-columns: 1fr; gap: 16px; }
  .directory-faq { padding-top: 56px; padding-bottom: 56px; }
  .directory-faq-item p { padding-left: 22px; }
}