.case-pages { width:min(calc(100% - 40px),1120px); margin:48px auto 100px; color:#e6edf1; overflow-wrap:anywhere; }
.case-pages *, .case-pages *::before, .case-pages *::after { box-sizing:border-box; }
.case-pages .case-disclaimer { color:#a8bac7; font-size:14px; line-height:1.9; margin:0 0 32px; }
.case-pages .case-filters, .case-pages .case-tags, .case-pages .case-tag-labels { display:flex; flex-wrap:wrap; gap:10px; }
.case-pages .case-filters { margin:0 0 24px; gap:6px; }
.case-pages .case-filters a { border:1px solid #93b2c7; padding:10px 4px; flex:1 1 0; min-width:0; font-size:14px; line-height:1.6; text-align:center; text-decoration:none; }
.case-pages .case-filters a[aria-current], .case-pages .case-filters a:hover { background:#93b2c7; color:#0a1c28; }
.case-pages .case-index-layout { display:grid; grid-template-areas:"results sidebar"; grid-template-columns:minmax(0,1fr) 260px; gap:36px; align-items:start; }
.case-pages .case-results { grid-area:results; min-width:0; }
.case-pages .case-sidebar { grid-area:sidebar; min-width:0; padding:24px; border:1px solid #3b5261; background:#102632; }
.case-pages .case-tag-panel > summary { list-style:none; font-size:20px; font-weight:600; line-height:1.6; color:#e6edf1; padding:0 0 18px; border-bottom:1px solid #3b5261; pointer-events:none; }
.case-pages .case-tag-panel > summary::-webkit-details-marker { display:none; }
.case-pages .case-tags { margin:22px 0 0; gap:10px 8px; }
.case-pages .case-tags a { max-width:100%; }
.case-pages .case-tags a[aria-current] { background:#93b2c7; border-color:#93b2c7; color:#0a1c28; }
.case-pages .case-tag-panel > summary:focus-visible { outline:2px solid #fff; outline-offset:5px; }
@media (max-width:1023px) {
  .case-pages .case-index-layout { grid-template-areas:"sidebar" "results"; grid-template-columns:minmax(0,1fr); gap:28px; }
  .case-pages .case-sidebar { padding:0; }
  .case-pages .case-sidebar .case-filters { margin:20px 22px 0; }
  .case-pages .case-tag-panel > summary { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:18px 22px; border:0; font-size:18px; cursor:pointer; pointer-events:auto; }
  .case-pages .case-tag-panel > summary::after { content:"＋"; font-size:22px; line-height:1; }
  .case-pages .case-tag-panel[open] > summary::after { content:"−"; }
  .case-pages .case-tag-panel[open] > summary { border-bottom:1px solid #3b5261; }
  .case-pages .case-tags { margin:0; padding:22px; }
}
.case-pages .case-tags a, .case-pages .case-tag-labels span, .case-pages .case-tag-labels a { font-size:13px; color:#b0c9d9; border:1px solid #3b5261; padding:4px 10px; line-height:1.6; text-decoration:none; }
.case-pages .case-tags a:hover { background:#223846; }
.case-pages ul.case-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; margin:0; padding:0; list-style:none; }
@media (min-width:1024px) and (max-width:1199px) {
  .case-pages ul.case-grid { grid-template-columns:minmax(0,1fr); }
}
.case-pages ul.case-grid > li { list-style:none; margin:0; padding:0; min-width:0; }
.case-pages .case-card { display:flex; flex-direction:column; gap:24px; height:100%; padding:30px; border:1px solid #3b5261; text-decoration:none; }
.case-pages .case-card:hover { background:#152c3b; border-color:#93b2c7; }
.case-pages .case-card h2 { font-size:clamp(20px,2vw,24px); line-height:1.8; margin:0; padding:0; border:0; letter-spacing:.04em; }
.case-pages .case-read { margin-top:auto; color:#b0c9d9; font-size:15px; }
.case-pages .case-title { font-size:clamp(23px,2.8vw,32px); line-height:1.7; letter-spacing:.04em; border:0; padding:0; margin:20px 0 30px; }
.case-pages .case-copy { margin:40px 0; }
.case-pages .case-section { margin:0 0 40px; }
.case-pages .case-section h3 { font-size:clamp(19px,2vw,24px); border:0; border-bottom:1px solid #728b9c; padding:0 0 12px; margin:0 0 18px; line-height:1.6; }
.case-pages .case-section p { font-size:16px; line-height:2; margin:0; }
.case-pages .case-links { display:flex; flex-wrap:wrap; gap:18px 30px; margin:36px 0; }
.case-pages .case-contact { display:inline-block; padding:18px 28px; background:#93b2c7; color:#0a1c28; text-decoration:none; text-align:center; max-width:100%; }
.case-pages .case-contact:hover { background:#b9d1e0; }
.case-pages .case-back { margin-top:38px; }
.case-pages .case-pagination { display:flex; flex-wrap:wrap; gap:16px; margin-top:36px; }
.case-pages a:focus-visible { outline:2px solid #fff; outline-offset:4px; }
@media(max-width:767px) {
  .case-pages { margin-top:32px; margin-bottom:64px; }
  .case-pages ul.case-grid { grid-template-columns:minmax(0,1fr); }
  .case-pages .case-card { padding:22px; gap:20px; }
  .case-pages .case-title { font-size:24px; }
  .case-pages .case-contact { display:block; }
}
body.post-type-archive-cases footer #contact_link .button_link,
body.tax-cases-tag footer #contact_link .button_link,
body.single-cases footer #contact_link .button_link { max-width: 100%; box-sizing: border-box; }
@media (max-width: 360px) {
  body.post-type-archive-cases footer #contact_link .button_link,
  body.tax-cases-tag footer #contact_link .button_link,
  body.single-cases footer #contact_link .button_link { padding-inline: 14px; }
}
