/* Case studies hub. Scoped under #bt-root. Reuses the service/cost-calculator card language. */
#bt-root.bt-static--cases .cs-hero { text-align:center; max-width:1100px; padding-top:clamp(40px,7vw,100px); }
#bt-root .cs-title { font-size:clamp(2.25rem,1.4rem + 3.6vw,4.25rem); font-weight:500; line-height:1.12; color:var(--c-primary); margin:0 0 var(--space-6); }
#bt-root .cs-table-wrap { margin-top:var(--space-8); }
#bt-root .cs-table th[scope="row"] a { color:var(--c-primary); text-decoration:none; font-weight:500; }
#bt-root .cs-table th[scope="row"] a:hover { text-decoration:underline; }
#bt-root .cs-table td:nth-child(5), #bt-root .cs-table td:nth-child(6) { font-weight:600; color:var(--c-primary); white-space:nowrap; }
#bt-root .cs-grid-wrap { margin-top:var(--space-9); }
#bt-root .cs-filters { display:flex; flex-wrap:wrap; gap:12px; justify-content:center; margin-bottom:var(--space-7); }
#bt-root .cs-filter { min-height:52px; padding:0 26px; border-radius:var(--r-pill); border:1.5px solid var(--c-black); background:#fff; font:inherit; font-size:1.0625rem; cursor:pointer; }
#bt-root .cs-filter:hover { background:var(--c-surface-alt); }
#bt-root .cs-filter.is-active { background:var(--c-primary); color:#fff; border-color:var(--c-primary); }
#bt-root .cs-grid { display:grid; grid-template-columns:repeat(2,1fr); gap:34px; }
#bt-root .cs-card { background:var(--c-surface); border-radius:var(--r-xl); overflow:hidden; display:flex; flex-direction:column; }
#bt-root .cs-card.is-hidden { display:none; }
#bt-root .cs-card__img { display:block; aspect-ratio:16/10; background:var(--c-surface-alt); }
#bt-root .cs-card__img img { width:100%; height:100%; object-fit:cover; }
#bt-root .cs-card__body { padding:28px 32px 32px; display:flex; flex-direction:column; flex:1; }
#bt-root .cs-card__title { font-size:1.75rem; font-weight:500; line-height:1.25; margin:0 0 6px; }
#bt-root .cs-card__title a { color:var(--c-black); text-decoration:none; }
#bt-root .cs-card__title a:hover { color:var(--c-primary); }
#bt-root .cs-card__meta { font-size:var(--fs-body); color:var(--c-text-60); margin:0 0 var(--space-4); }
#bt-root .cs-card__facts { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 var(--space-5); }
#bt-root .cs-card__facts span { background:var(--c-surface-alt); border-radius:var(--r-pill); padding:8px 18px; font-size:var(--fs-small); font-weight:500; }
#bt-root .cs-card__links { display:flex; flex-wrap:wrap; gap:14px; margin:auto 0 0; }
#bt-root .cs-card__links a { display:inline-flex; align-items:center; min-height:48px; padding:0 22px; border-radius:var(--r-pill); font-size:1rem; font-weight:500; text-decoration:none; }
#bt-root .cs-card__links .is-primary { background:var(--c-primary); color:#fff; }
#bt-root .cs-card__links .is-primary:hover { background:var(--c-black); }
#bt-root .cs-card__links .is-pdf { border:1.5px solid var(--c-black); color:var(--c-black); }
#bt-root .cs-card__links .is-pdf::before { content:''; width:18px; height:18px; margin-right:9px; background:currentColor; -webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3v12m0 0l-4-4m4 4l4-4M4 19h16'/%3E%3C/svg%3E") no-repeat center/contain; mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2'%3E%3Cpath d='M12 3v12m0 0l-4-4m4 4l4-4M4 19h16'/%3E%3C/svg%3E") no-repeat center/contain; }
#bt-root .cs-cta { margin-top:var(--space-9); }
@media (max-width:900px) {
  #bt-root .cs-grid { grid-template-columns:1fr; gap:16px; }
  #bt-root .cs-card__body { padding:20px; }
  #bt-root .cs-card__title { font-size:1.375rem; }
  #bt-root .cs-filter { min-height:44px; padding:0 18px; font-size:.9375rem; }
  #bt-root .cs-table { font-size:var(--fs-xs); }
  #bt-root .cs-card__links a { width:100%; justify-content:center; }
}
#bt-root .cs-card__ph { display:block; width:100%; height:100%; background:linear-gradient(135deg, var(--c-surface-alt), #e9e9e9); }

/* thumbnails first, table below (17 Oct 2026) */
#bt-root .cs-grid-wrap { margin-top:var(--space-7); }
#bt-root .cs-table-wrap { margin-top:var(--space-9); }
