/* Material catalogue: public summaries remain readable without scripting. */
body.page-cases .article-hero { padding: 36px 0 32px; }
body.page-cases .case-volume { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 12px; margin:22px 0 0; color:#536b82; font-size:14px; }
body.page-cases .case-volume strong { color:#0052a8; font-size:30px; }
body.page-cases .case-volume span { flex-basis:100%; }
body.page-cases .article-layout { padding-top:28px; }
body.page-cases .case-browser { margin-bottom:28px; padding-bottom:20px; border-bottom:1px solid #dbe8f6; }
.case-filters { display:flex; flex-wrap:wrap; align-items:end; gap:12px; }
.case-filters[hidden], body.page-cases [hidden] { display:none !important; }
.case-filters label { display:grid; gap:6px; font-size:13px; font-weight:600; color:#001d3d; }
.case-filters label:nth-child(2) { flex:1; }
.case-filters input, .case-filters select, .case-filters button { min-height:44px; border:1px solid #a9bfd5; border-radius:8px; padding:9px 12px; background:#fff; color:#001d3d; font:inherit; max-width:100%; }
.case-filters button { cursor:pointer; color:#0052a8; }
body.page-cases #case-result { margin:14px 0 4px; font-weight:700; }
body.page-cases .case-note { margin:0; color:#536b82; font-size:13px; }
body.page-cases .case-gallery { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; }
body.page-cases .case-card { min-width:0; border:1px solid #dbe8f6; border-radius:14px; background:#fff; box-shadow:none; overflow:hidden; }
.case-card-body { padding:22px; }
.case-card-body > span { color:#0052a8; font-size:13px; font-weight:600; }
body.page-cases .case-card h3 { margin:8px 0; font-size:21px; line-height:1.45; }
body.page-cases .case-card p { font-size:14px; color:#536b82; line-height:1.75; margin:0; }
.case-facts { margin:18px 0; font-size:13px; line-height:1.7; }
.case-facts div { display:grid; grid-template-columns:64px 1fr; gap:12px; border-top:1px solid #e4edf7; padding:10px 0; }
.case-facts dt { color:#536b82; }
.case-facts dd { margin:0; color:#001d3d; }
.case-detail summary { cursor:pointer; min-height:44px; padding:10px 0; color:#0052a8; font-weight:600; font-size:14px; }
.case-detail-content { padding:10px 0 0; }
.case-detail-content img { display:block; width:100%; height:auto; max-height:480px; object-fit:contain; background:#f5f8fc; margin-bottom:12px; }
body.page-cases :is(button,input,select,summary):focus-visible { outline:3px solid #0066cc; outline-offset:3px; }
body.page-cases .article-section { scroll-margin-top:110px; }
@media(max-width:820px) {
 body.page-cases .article-hero { padding:24px 0; }
 body.page-cases .case-gallery { grid-template-columns:1fr; }
 body.page-cases .article-toc { display:flex; flex-wrap:wrap; gap:6px 14px; padding:16px; }
 body.page-cases .article-toc strong { flex-basis:100%; }
 body.page-cases .article-toc a { margin:0; padding:6px 0; }
 .case-card-body { padding:18px; }
 .case-filters label { width:100%; }
 .case-filters label:nth-child(2) { flex:auto; }
}
body.page-cases .case-gallery { align-items: start; }


@media(max-width:820px){
 body.inner-refresh.page-cases .article-hero{padding:20px 0}
 body.inner-refresh.page-cases .article-hero h1{font-size:34px}
 body.inner-refresh.page-cases .article-hero .summary{margin-top:12px;font-size:15px;line-height:1.7}
 body.inner-refresh.page-cases .case-volume{margin-top:12px;gap:4px 10px;font-size:13px}
 body.inner-refresh.page-cases .article-layout{padding-top:20px;gap:20px}
 body.inner-refresh.page-cases .article-toc{gap:0 14px;padding:4px 12px}
 body.inner-refresh.page-cases .article-toc strong{display:none}
 body.inner-refresh.page-cases .article-toc a{min-height:44px;display:flex;align-items:center;font-size:13px}
 body.inner-refresh.page-cases .case-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:10px}
 body.inner-refresh.page-cases .case-filters label{min-width:0}
 body.inner-refresh.page-cases .case-filters input,body.inner-refresh.page-cases .case-filters select{width:100%;min-width:0}
 body.inner-refresh.page-cases .case-filters button{grid-column:1/-1;justify-self:start;padding:4px 10px}
 body.inner-refresh.page-cases .case-browser{margin-bottom:20px;padding-bottom:14px}
 body.inner-refresh.page-cases .article-section{margin-bottom:28px}
}
