.catalog-intro {padding:clamp(28px,5vw,60px) 0 36px;max-width:920px}
.catalog-intro .ld-intro {max-width:800px}
.niche-list {list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-content:start;gap:10px;margin:0;padding:5px 12px 6px 4px;max-height:min(68vh,700px);overflow:auto;scrollbar-color:#829bc1 #e8eff8}
.niche-list li a {display:grid;align-content:center;gap:6px;height:100%;min-height:76px;border:1px solid #ccdaeb;border-radius:12px;background:white;text-decoration:none;padding:14px 16px;color:#10254b}
.niche-list li a:hover,.niche-list li a:focus-visible {border-color:#155ed1;background:#edf4ff}
.niche-list small,.source-line {font-size:13px;color:#4e6485}
.ld-dir .source-line {font-size:13px}
.case-open {overflow:hidden}
#case-dialog {width:min(820px,94vw);max-width:100%;max-height:86dvh;border:0;border-radius:20px;padding:0;color:#10254b;background:white;box-shadow:0 28px 100px #07183f40;overscroll-behavior:contain}
#case-dialog::backdrop {background:#07183fa8}
.case-toolbar {position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 20px;background:#fff;border-bottom:1px solid #d5dfed}
.case-toolbar button,.case-toolbar a {font:600 14px/1.4 inherit;font-family:inherit;font-weight:650;font-size:14px;cursor:pointer;border:0;border-radius:8px;color:#184989;padding:12px;text-decoration:none;background:#eef4ff}
#case-detail {padding:clamp(16px,3vw,32px)}
.case-standalone {padding-top:36px}.case-standalone .case-body {margin-top:20px}
.case-body {overflow-wrap:anywhere}
.case-body h2 {color:#10254b;font-size:clamp(24px,3.5vw,38px);margin:0 0 15px;line-height:1.15}
.case-body h3 {font-size:22px;margin:24px 0 12px}
.case-body p {color:#465d80}
.case-metrics {display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}
.case-metrics div {background:#eef4ff;border-radius:10px;padding:12px;min-width:100px;flex:1}
.case-metrics dt {font-size:13px;color:#465d80}
.case-metrics dd {font-size:22px;font-weight:750;margin:5px 0 0}
.case-body table {border-collapse:collapse;width:100%;font-size:15px;font-variant-numeric:tabular-nums}
.case-body th,.case-body td {padding:9px 6px;border-bottom:1px solid #d6e1f0;text-align:right}
.case-body th:first-child,.case-body td:first-child {text-align:left}
.case-body td small {font-size:11px;color:#596979}
.case-files,.case-rows {margin:10px 0;background:white;border:1px solid #cddbed;border-radius:12px;padding:0 14px}
.case-body summary {padding:14px 0;cursor:pointer;font-weight:700}
.case-body summary span {color:#566d8e;font-size:13px;margin-left:6px}
.case-shelf {display:grid;grid-template-columns:repeat(auto-fit,minmax(min(190px,100%),1fr));gap:12px;margin:12px 0 18px}
.case-shelf a {color:#155eb8;font-size:14px}
.case-photo img {width:100%;height:124px;object-fit:contain;background:#f3f6fa}
.case-photo span {display:block;padding:6px 0}
@media(max-width:800px){.niche-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:530px){.catalog-intro{padding-top:20px}.catalog-intro .ld-kicker{padding-right:48px}.niche-list{grid-template-columns:1fr;max-height:65dvh}.niche-list li a{min-height:60px}.case-toolbar{padding:8px}.case-toolbar button,.case-toolbar a{padding:10px 7px}#case-dialog{max-height:92dvh;width:96vw;border-radius:14px}.case-body table{font-size:14px}}

@media (max-width:760px) { .catalog-intro h1 { padding-right:54px; } }
