.directory-index.section { padding-top: 70px; padding-bottom: 90px; }
.directory-card { display: flex; flex-direction: column; overflow: hidden; background: var(--surface-color); border: 1px solid color-mix(in srgb, var(--default-color), transparent 86%); border-radius: 12px; box-shadow: 0 8px 24px rgba(0,0,0,.05); transition: transform .25s ease, box-shadow .25s ease; }
.directory-card:hover { transform: translateY(-4px); box-shadow: 0 16px 35px rgba(0,0,0,.09); }
.directory-card-image { display: flex; align-items: center; justify-content: center; height: 220px; padding: 28px; background: #f7f7f7; color: var(--accent-color); font-size: 3rem; }
.directory-card-image img { width: 100%; height: 100%; object-fit: contain; }
.directory-card-body { display: flex; flex: 1; flex-direction: column; }
.directory-card-body h3 { margin-bottom: 12px; font-size: 1.3rem; }
.directory-card-body h3 a { color: var(--heading-color); text-decoration: none; }
.directory-card-body h3 a:hover { color: var(--accent-color); }
.directory-card-body p { display: -webkit-box; overflow: hidden; -webkit-box-orient: vertical; -webkit-line-clamp: 3; margin-bottom: 20px; color: color-mix(in srgb, var(--default-color), transparent 22%); line-height: 1.6; }
.directory-card-link { display: inline-flex; align-items: center; gap: 8px; margin-top: auto; color: var(--accent-color); font-weight: 600; text-decoration: none; }
@media (max-width: 767.98px) { .directory-index.section { padding-top: 50px; padding-bottom: 65px; } .directory-card-image { height: 190px; } }
