/* Scoped to the library directory. Existing readers and forms are unaffected. */
.kalanga-directory{background:#f8fbff;color:#142039}
.kalanga-directory .kalanga-shell{width:min(calc(100% - 64px),1400px);margin-inline:auto}
.kalanga-hero{background:#102d50;color:#fff;padding:40px 0 48px}
.kalanga-hero-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;align-items:center;gap:64px}
.kalanga-breadcrumbs{display:flex;flex-wrap:wrap;gap:10px;font-size:0.875rem;margin-bottom:30px}
.kalanga-breadcrumbs a{color:#fff;text-underline-offset:4px}
.kalanga-eyebrow{font-size:0.8125rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase;margin:0 0 14px;color:#e7c68a}
.kalanga-directory h1{font-size:clamp(2rem,3.6vw,3rem);font-weight:700;line-height:1.15;color:#fff;margin:0 0 20px}
.kalanga-directory .kalanga-introduction{font-size:1.1875rem;line-height:1.65;max-width:760px;margin:0;color:#f2f5fa}
.kalanga-hero-image{display:block;width:100%;height:auto;border-radius:12px;transform:rotate(-3deg)}
.kalanga-directory .kalanga-directory-layout{display:grid;grid-template-columns:224px minmax(0,1fr);gap:48px;padding-top:48px;padding-bottom:80px}
.kalanga-group-menu nav{position:sticky;top:90px;background:#fff;border:1px solid #dbe2e9;border-radius:12px;padding:24px 18px}
.kalanga-group-menu h2{font-size:1.125rem;line-height:1.4;margin:0 0 18px;padding:0 6px;font-weight:700;color:#142039}
.kalanga-group-menu a{display:block;font-size:1.0rem;line-height:1.45;padding:12px 8px;border-radius:6px;color:#25435e;text-decoration:none;border-left:3px solid transparent}
.kalanga-group-menu a:hover,.kalanga-group-menu a:focus-visible{background:#f8f1ec;border-left-color:#8c2332;color:#8c2332}
.kalanga-group-menu p{font-size:0.875rem;line-height:1.7;color:#5a6a79;margin:22px 6px 0;padding-top:18px;border-top:1px solid #e2e8ee}
.kalanga-collections{min-width:0}
.kalanga-directory .resource-group{margin:0 0 64px;scroll-margin-top:100px}
.kalanga-directory .resource-group:last-child{margin-bottom:0}
.resource-group-heading{margin-bottom:24px}
.kalanga-directory .resource-group-heading h2{font-size:clamp(1.5rem,2.2vw,1.875rem);font-weight:700;line-height:1.3;color:#142039;margin:0 0 12px;scroll-margin-top:100px}
.resource-group-heading p{color:#526376;line-height:1.65;font-size:1.0625rem;margin:0;max-width:800px}
.kalanga-directory .resource-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:28px;list-style:none;margin:0;padding:0}
.kalanga-directory .resource-card{min-width:0;display:flex;flex-direction:column;padding:0;background:#fff;border:1px solid #dbe2e9;border-radius:14px;overflow:hidden;box-shadow:0 4px 14px #17314e06}
.resource-image{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;border-bottom:1px solid #e5e9ec}
.resource-body{padding:26px;display:flex;flex-direction:column;flex:1;min-width:0}
.resource-type{font-size:0.75rem;line-height:1.4;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:#8c2332;margin:0 0 13px}
.kalanga-directory .resource-card h3{font-size:1.4375rem;line-height:1.35;font-weight:700;margin:0 0 16px;overflow-wrap:break-word;color:#142039}
.resource-card h3 a{color:inherit;text-decoration:none;text-underline-offset:4px}
.resource-card h3 a:hover{text-decoration:underline;color:#8c2332}
.resource-description{font-size:1.0625rem;line-height:1.7;color:#526376;margin:0 0 22px}
.resource-meta{font-size:0.875rem;line-height:1.6;color:#5a6a79;margin:auto 0 20px;padding-top:8px}
.resource-actions{display:flex;align-items:stretch;flex-wrap:wrap;gap:12px}
.resource-actions a{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:48px;padding:11px 16px;border:1px solid #8c2332;border-radius:6px;font-size:0.9375rem;line-height:1.4;font-weight:700;text-decoration:none;text-align:center}
.resource-actions .resource-primary{background:#8c2332;color:#fff}
.resource-actions .resource-primary:hover{background:#6e1b28;border-color:#6e1b28}
.resource-actions .resource-offline{background:#fff;color:#0060a8;border-color:#aebdcb}
.resource-actions .resource-offline:hover{background:#edf5fb}
.kalanga-directory a:focus-visible{outline:3px solid #b77822;outline-offset:4px}
@media(max-width:1159px){.kalanga-directory .kalanga-directory-layout{grid-template-columns:minmax(0,1fr);gap:32px}.kalanga-group-menu nav{position:static;display:flex;flex-wrap:wrap;gap:8px;padding:18px}.kalanga-group-menu h2{width:100%;margin:0 0 8px}.kalanga-group-menu a{border:1px solid #dbe2e9;padding:10px 12px;font-size:0.9375rem}.kalanga-group-menu p{display:none}.kalanga-hero-layout{gap:32px;grid-template-columns:minmax(0,1fr) 240px}}
@media(max-width:760px){.kalanga-directory .kalanga-shell{width:calc(100% - 32px)}.kalanga-hero{padding:28px 0 34px}.kalanga-hero-layout{display:block}.kalanga-hero-image{display:none}.kalanga-breadcrumbs{margin-bottom:24px}.kalanga-directory .kalanga-introduction{font-size:1.125rem}.kalanga-directory .kalanga-directory-layout{padding-top:24px;padding-bottom:56px;gap:32px}.kalanga-directory .resource-grid{grid-template-columns:1fr;gap:24px}.kalanga-directory .resource-group{margin-bottom:48px}.resource-group-heading{margin-bottom:20px}.resource-body{padding:24px}.kalanga-directory .resource-card h3{font-size:1.4375rem}.kalanga-group-menu nav{padding:16px;gap:8px}.kalanga-group-menu a{font-size:0.875rem}.resource-description{font-size:1.0625rem}}
@media(max-width:380px){.resource-body{padding:20px}.resource-actions{flex-direction:column}.resource-actions a{width:100%}.kalanga-directory .resource-card h3{font-size:1.375rem}}
@media(prefers-reduced-motion:reduce){.kalanga-directory{scroll-behaviour:auto}}
