.ld-directory { min-width:0; max-width:100%; color:#2d3748; font:400 15px/1.6 'Roboto',Arial,sans-serif; }
.ld-directory h1,.ld-directory h2,.ld-directory h3 { font-family:'Roboto Condensed','Roboto',Arial,sans-serif; }
.ld-directory h1 { margin:0 0 20px; font-size:30px; line-height:1.25; font-weight:700; }
.ld-directory__nav { display:flex; flex-wrap:wrap; gap:8px; margin-bottom:28px; }
.ld-directory__nav a { padding:8px 16px; border:1px solid #eadbde; border-radius:4px; color:#971d2c; background:#fff; }
.ld-directory__nav a.is-active { border-color:#c62828; background:#c62828; color:#fff; }
.ld-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; gap:20px; margin-bottom:28px; }
.ld-level { min-width:0; margin:0 0 24px; }
.ld-directory .ld-level__title { margin:0 0 9px; color:#718096; font:500 13px/1.5 'Roboto',Arial,sans-serif; text-align:center; }
.ld-level__scroll { max-width:100%; overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; scrollbar-color:#c62828 #f1f2f4; }
.ld-level__scroll::-webkit-scrollbar { height:6px; }
.ld-level__scroll::-webkit-scrollbar-track { background:#f1f2f4; border-radius:4px; }
.ld-level__scroll::-webkit-scrollbar-thumb { background:#c62828; border-radius:4px; }
.ld-level__scroll:focus-visible { outline:2px solid #c62828; outline-offset:3px; }
.ld-level__row { display:flex; flex-wrap:nowrap; align-items:flex-start; justify-content:center; gap:20px; width:max-content; min-width:100%; padding:3px 0 10px; }
.ld-level__row>.ld-card { flex:0 0 230px; width:230px; }
@supports(width:1cqw) {
    .ld-level__scroll { container-type:inline-size; }
    .ld-level__row>.ld-card { flex-basis:clamp(160px,calc((100cqw - 60px)/4),230px); width:clamp(160px,calc((100cqw - 60px)/4),230px); }
}
.ld-card { overflow:hidden; margin:0; padding:7px; border:1px solid #e2e5e9; border-radius:9px; background:#fff; box-shadow:0 3px 10px #26344410; text-align:center; }
.ld-card__portrait { display:block; overflow:hidden; aspect-ratio:3/4; border-radius:5px; background:#f4f5f7; }
.ld-card__portrait img { display:block; width:100%; height:100%; object-fit:contain; }
.ld-card__placeholder { display:flex; width:100%; height:100%; align-items:center; justify-content:center; flex-direction:column; gap:12px; padding:15px; color:#8c96a3; font-size:13px; }
.ld-card__placeholder .fa { font-size:70px; }
.ld-card__body { padding:12px 6px 5px; }
.ld-card__position { min-height:2.7em; margin:0 0 12px; color:#1e4164; font-weight:700; line-height:1.35; text-transform:uppercase; }
.ld-card__qualifications { margin:0 0 3px; color:#526477; font-size:13px; line-height:1.5; }
.ld-card__name { margin:0; font-size:16px; font-weight:600; line-height:1.5; }
.ld-card__name a { color:#23476a; }
.ld-card__period { margin:7px 0 0; color:#718096; font-size:13px; }
.ld-empty { padding:24px; border:1px solid #eceff2; border-radius:6px; background:#fafbfc; color:#718096; text-align:center; }
.ld-detail__back { display:inline-block; margin-bottom:24px; color:#971d2c; }
.ld-detail__header { display:flex; align-items:center; gap:28px; margin-bottom:28px; }
.ld-detail__photo { display:block; width:240px; max-width:40%; height:auto; max-height:340px; object-fit:contain; border-radius:7px; }
.ld-detail__position { color:#971d2c; font-size:19px; font-weight:700; text-transform:uppercase; }
.ld-detail__titles,.ld-detail__period { margin:5px 0; color:#526477; }
.ld-detail__biography { padding-top:20px; border-top:1px solid #e6e9ed; overflow-wrap:anywhere; }
.ld-directory a:focus-visible { outline:2px solid #c62828; outline-offset:3px; }
@media(max-width:1100px) { .ld-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px} }
@media(max-width:700px) { .ld-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.ld-level__row>.ld-card{flex-basis:clamp(160px,58vw,210px);width:clamp(160px,58vw,210px)}.ld-directory h1{font-size:26px}.ld-card__position{font-size:14px}.ld-card__name{font-size:16px}.ld-detail__header{gap:18px;align-items:flex-start}.ld-detail__photo{width:38%} }
@media(max-width:400px) { .ld-grid{gap:10px}.ld-card{padding:5px}.ld-card__body{padding:10px 2px 4px}.ld-card__name{font-size:15px}.ld-card__qualifications{font-size:12px}.ld-detail__header{display:block}.ld-detail__photo{width:220px;max-width:100%;margin:0 auto 20px}.ld-directory__nav a{padding:7px 11px;font-size:13px} }
