/* ==================================================================
   Case study ledger — industry-filtered results table.
   Light paper, hairline rows, pill tab filter.
   ================================================================== */

.cl {
  background: var(--surface-ink, #0d0f0f);
  padding: 96px 80px 104px; font-family: var(--font-sans);
  color: #fff;
  position: relative; overflow: hidden;
}
/* Warm orange glow, anchored top-right like the services block */
.cl.fbf-glow::after {
  background: radial-gradient(90% 60% at 88% -10%, rgba(255,166,62,0.28) 0%, rgba(255,120,40,0.09) 45%, transparent 70%);
}
.cl-inner {
  max-width: 1280px; margin: 0 auto;
  position: relative; z-index: 1;
}

.cl-eyebrow {
  font-family: var(--font-mono); font-size: 12px; letter-spacing: 0.16em;
  text-transform: uppercase; color: var(--fbf-green, #28dc9a); font-weight: 500;
}
.cl-headrow {
  display: flex; align-items: flex-end; justify-content: space-between; gap: 60px;
}
.cl-title {
  margin: 18px 0 0; font-size: 46px; font-weight: 900; line-height: 1.06;
  letter-spacing: -0.025em; text-wrap: balance; color: #fff;
}
.cl-title mark {
  background: var(--gradient-signature, linear-gradient(90deg, #ff43a4, #ffa63e));
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: transparent;
}
.cl-sub {
  margin: 0 0 6px; font-size: 16.5px; line-height: 1.65; font-weight: 500;
  color: rgba(255,255,255,0.68); max-width: 380px; text-wrap: pretty;
}

/* White card panel wrapping tabs + ledger ----------------------------- */
.cl-panel {
  margin-top: 44px; padding: 36px 40px 40px;
  background: var(--surface-page, #f6f3ec);
  border: 1px solid var(--border-subtle, #eae5d9);
  border-radius: var(--radius-xl, 20px);
  box-shadow: 0 24px 70px rgba(0,0,0,0.45);
}

/* Industry pill tabs -------------------------------------------------- */
.cl-filter-label {
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.14em;
  text-transform: uppercase; color: var(--text-muted, #8a908f); font-weight: 500;
  margin: 0 0 14px;
}
.cl-tabs {
  display: flex; flex-wrap: wrap; gap: 10px;
  padding-bottom: 28px; border-bottom: 1px solid var(--border-default, #e2ddd0);
}
.cl-tab {
  height: 42px; padding: 0 22px; border-radius: 999px; cursor: pointer;
  font-family: var(--font-sans); font-size: 14px; font-weight: 700;
  color: var(--ink-900, #0d0f0f);
  background: transparent; border: 1px solid var(--border-strong, #d4cebd);
  transition: background 140ms var(--ease-out, ease), color 140ms var(--ease-out, ease),
              border-color 140ms var(--ease-out, ease), transform 120ms var(--ease-out, ease);
}
.cl-tab:hover { background: var(--surface-sunken, #ece7db); }
.cl-tab:active { transform: scale(0.98); }
.cl-tab.is-active {
  background: var(--fbf-green, #28dc9a); color: var(--ink-900, #0d0f0f); border-color: var(--fbf-green, #28dc9a);
}

/* Ledger --------------------------------------------------------------- */
.cl-ledger { list-style: none; margin: 34px 0 0; padding: 0; }
.cl-cols, .cl-row {
  display: grid; grid-template-columns: 1.2fr 1.5fr 0.6fr 170px;
  gap: 40px; align-items: center;
}
.cl-cols {
  padding: 15px 24px;
  background: var(--surface-ink, #0d0f0f);
  border-radius: var(--radius-md, 12px);
  font-family: var(--font-mono); font-size: 11.5px; letter-spacing: 0.1em;
  text-transform: uppercase; color: rgba(255,255,255,0.78); font-weight: 500;
}
.cl-row {
  padding: 14px 24px;
  border-top: 1px solid var(--border-default, #e2ddd0);
}
.cl-cols + .cl-row { border-top: none; }
.cl-ledger .cl-row:last-child { padding-bottom: 6px; }

.cl-client { display: flex; align-items: center; gap: 16px; min-width: 0; }
.cl-logo {
  display: flex; align-items: center; justify-content: center; flex-shrink: 0;
  width: 112px; height: 45px; border-radius: 10px; padding: 8px 12px;
  background: var(--surface-card, #ffffff); border: 1px solid var(--border-default, #e2ddd0);
}
.cl-logo img { max-width: 100%; max-height: 100%; width: auto; height: auto; display: block; }
.cl-client-name { font-size: 15px; font-weight: 800; letter-spacing: -0.01em; color: var(--ink-900, #0d0f0f); }

.cl-stat { display: flex; align-items: baseline; gap: 10px; min-width: 0; }
.cl-stat svg, .cl-stat [data-lucide] {
  width: 18px; height: 18px; align-self: center; flex-shrink: 0;
  color: var(--fbf-green, #28dc9a);
  filter: drop-shadow(0 0 6px rgba(40,220,154,0.45));
}
.cl-stat b {
  font-size: 28px; font-weight: 900; letter-spacing: -0.02em; line-height: 1;
  white-space: nowrap; color: var(--ink-900, #0d0f0f);
}
.cl-stat span {
  font-size: 14.5px; font-weight: 600; color: var(--text-secondary, #4c5252);
}

.cl-since { font-size: 15px; font-weight: 800; white-space: nowrap; color: var(--ink-900, #0d0f0f); }

.cl-linkcell { display: flex; justify-content: flex-end; }
.cl-link {
  display: inline-flex; align-items: center; gap: 7px; white-space: nowrap;
  font-size: 13.5px; font-weight: 700; color: var(--green-600, #16a97a);
  text-decoration: none;
}
.cl-link svg, .cl-link [data-lucide] { width: 15px; height: 15px; }
.cl-link:hover { text-decoration: none; opacity: 0.85; }
