.px-cs-collection * { box-sizing:border-box; }

  .px-cs-collection.cs-page {
    background:var(--ink);
    color:var(--paper);
    font-family: var(--font-body);
  }
  .px-cs-collection .cs-stage {
    max-width:1440px;
    margin:0 auto;
    padding:0 40px;
  }

  /* ---------- INTRO ---------- */
  .px-cs-collection .cs-intro {
    position:relative;
    padding:64px 0 0;
  }
  .px-cs-collection .cs-intro::before {
    content:"";
    position:absolute;
    inset:0;
    background:
      repeating-linear-gradient(0deg, color-mix(in srgb, var(--color-neutral-paper) 3.5%, transparent) 0px, color-mix(in srgb, var(--color-neutral-paper) 3.5%, transparent) 1px, transparent 1px, transparent 64px),
      repeating-linear-gradient(90deg, color-mix(in srgb, var(--color-neutral-paper) 3.5%, transparent) 0px, color-mix(in srgb, var(--color-neutral-paper) 3.5%, transparent) 1px, transparent 1px, transparent 64px);
    pointer-events:none;
  }

  .px-cs-collection .cs-eyebrow { display:flex; align-items:center; gap:14px; margin-bottom:36px; }
  .px-cs-collection .cs-eyebrow span { font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--sage); white-space:nowrap; }
  .px-cs-collection .cs-eyebrow .cs-rule { height:1px; flex:1; background:var(--line); }

  .px-cs-collection .cs-head { display:flex; justify-content:space-between; align-items:flex-end; gap:48px; margin-bottom:44px; flex-wrap:wrap; }
  .px-cs-collection .cs-headline { font-family: var(--font-heading); font-weight:500; font-size:clamp(34px, 4.6vw, 64px); line-height:1.08; max-width:50%; margin:0; } /*previous value max-width:16ch */
  .px-cs-collection .cs-headline em { font-style:normal; color:var(--brass); }
  .px-cs-collection .cs-sub { font-size:14.5px; line-height:1.6; color:var(--sage); max-width:36ch; margin:0 0 4px; }

  .px-cs-collection .cs-filters { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:40px; }
  .px-cs-collection .cs-pill {
    font-size:11.5px; letter-spacing:0.05em; text-transform:uppercase; color:var(--paper);
    background:none; border:1px solid var(--line); /* border-radius:20px; */ padding:8px 16px; cursor:pointer;
    transition: border-color .2s ease, background .2s ease, color .2s ease;
  }
  .px-cs-collection .cs-pill:hover { border-color:var(--line-strong); }
  .px-cs-collection .cs-pill.active { background:var(--paper); color:var(--ink); border-color:var(--paper); }

  .px-cs-collection .cs-plate { display:flex; border:1px solid var(--line); border-radius:2px; }
  .px-cs-collection .cs-plate .cs-stat { flex:1; padding:26px 28px; border-right:1px solid var(--line); }
  .px-cs-collection .cs-plate .cs-stat:last-child { border-right:none; }
  .px-cs-collection .cs-plate .cs-value { font-family: var(--font-heading); font-weight:600; font-size:clamp(26px, 2.6vw, 36px); color:var(--brass); line-height:1; font-variant-numeric: tabular-nums; }
  .px-cs-collection .cs-plate .cs-label { margin-top:10px; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--sage); }

  /* ---------- SECTION LABELS ----------
     Layout: [LABEL] ——— rule ——— [count, e.g. "03 Engagements"] */
  .px-cs-collection .cs-section-label {
    display:flex; align-items:center; gap:14px;
    margin:24px 0 24px;
    font-size:11px; letter-spacing:0.16em; text-transform:uppercase; color:var(--sage);
  }
  .px-cs-collection .cs-section-label span { white-space:nowrap; }
  .px-cs-collection .cs-section-label .cs-rule { height:1px; flex:1; background:var(--line); }

  /* ---------- FEATURED CAROUSEL ---------- */
  .px-cs-collection .cs-showcase {
    position:relative; width:100%; aspect-ratio:16/8.2;
    border:1px solid var(--line); border-radius:2px; overflow:hidden; background:var(--color-black); margin-bottom:20px;
  }
  .px-cs-collection .cs-showcase img { width:100%; height:100%; object-fit:cover; display:block; opacity:0; transition:opacity .5s ease; }
  .px-cs-collection .cs-showcase img.active { opacity:1; }

  .px-cs-collection .cs-arrow {
    position:absolute; top:50%; transform:translateY(-50%); width:42px; height:42px; border-radius:50%;
    border:1px solid color-mix(in srgb, var(--color-neutral-paper) 55%, transparent); background:color-mix(in srgb, var(--color-primary-black) 35%, transparent); color:var(--paper);
    display:flex; align-items:center; justify-content:center; cursor:pointer; backdrop-filter:blur(3px);
    transition:background .2s ease, border-color .2s ease;
  }
  .px-cs-collection .cs-arrow:hover { background:color-mix(in srgb, var(--color-primary-black) 65%, transparent); border-color:var(--paper); }
  .px-cs-collection .cs-arrow svg { width:16px; height:16px; }
  .px-cs-collection .cs-arrow.prev { left:16px; }
  .px-cs-collection .cs-arrow.next { right:16px; }

  .px-cs-collection .cs-dots { position:absolute; bottom:16px; left:50%; transform:translateX(-50%); display:flex; gap:8px; }
  .px-cs-collection .cs-dot { width:22px; height:2px; background:color-mix(in srgb, var(--color-neutral-paper) 35%, transparent); cursor:pointer; transition:background .2s ease; }
  .px-cs-collection .cs-dot.active { background:var(--paper); }

  .px-cs-collection .cs-counter { position:absolute; top:16px; right:18px; font-size:11px; letter-spacing:0.1em; color:color-mix(in srgb, var(--color-neutral-paper) 75%, transparent); font-variant-numeric:tabular-nums; }

  .px-cs-collection .cs-topbar {
    display:flex; align-items:center; justify-content:space-between;
    border:1px solid var(--line-strong); border-radius:2px; padding:18px 28px; margin-bottom:28px;
  }
  .px-cs-collection .cs-company { font-family: var(--font-heading); font-weight:500; font-size:19px; }
  .px-cs-collection .cs-industry-label { font-size:11px; letter-spacing:0.14em; text-transform:uppercase; color:var(--sage); }

  .px-cs-collection .cs-results { display:flex; border:1px solid var(--line); border-radius:2px; }
  .px-cs-collection .cs-primary { width:40%; padding:30px 34px; border-right:1px solid var(--line); display:flex; flex-direction:column; align-items:flex-start; }
  .px-cs-collection .cs-primary h3 { font-family: var(--font-heading); font-weight:500; font-size:20px; margin:0 0 10px; line-height:1.25; }
  .px-cs-collection .cs-primary p { margin:0 0 20px; font-size:13.5px; line-height:1.55; color:var(--sage); max-width:46ch; }

  /* Fixed: stray comma removed from background; hover now changes only the
     border COLOUR (was border:none, which made the button shrink by 2px). */
  .px-cs-collection .cs-cta {
    font-size:12px; letter-spacing:0.06em; text-transform:uppercase; color:var(--paper); background:transparent;
    border:1px solid var(--color-neutral-paper); border-radius:2px; padding:10px 20px; cursor:pointer;
    transition:background .2s ease, border-color .2s ease;
  }
  .px-cs-collection .cs-cta:hover { background-color:var(--color-primary-orange); border-color:var(--color-primary-orange); }

  .px-cs-collection .cs-stat-box { width:15%; padding:30px 22px; border-right:1px solid var(--line); display:flex; flex-direction:column; justify-content:center; }
  .px-cs-collection .cs-stat-box:last-child { border-right:none; }
  .px-cs-collection .cs-stat-box .cs-value2 { font-family: var(--font-heading); font-weight:600; font-size:clamp(26px, 2.4vw, 34px); line-height:1; color:var(--brass); font-variant-numeric:tabular-nums; white-space:nowrap; }
  .px-cs-collection .cs-stat-box .cs-label2 { margin-top:10px; font-size:10.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--sage); line-height:1.3; }

  /* ---------- GRID ---------- */
  .px-cs-collection .cs-grid { display:grid; grid-template-columns:repeat(3, 1fr); gap:24px; padding-bottom:80px; }

  .px-cs-collection .cs-card {
    border:1px solid var(--line); border-radius:3px; overflow:hidden; display:flex; flex-direction:column;
    background:color-mix(in srgb, var(--color-neutral-paper) 1.5%, transparent); transition:border-color .2s ease, transform .2s ease, opacity .2s ease;
  }
  .px-cs-collection .cs-card:hover { border-color:var(--color-primary-orange); transform:translateY(-2px); }
  .px-cs-collection .cs-card.cs-hidden { display:none; }

  .px-cs-collection .cs-card-image { width:100%; aspect-ratio:16/10; overflow:hidden; border-bottom:1px solid var(--line); }
  .px-cs-collection .cs-card-image img { width:100%; height:100%; object-fit:cover; display:block; }

  .px-cs-collection .cs-card-body { padding:20px 22px 22px; display:flex; flex-direction:column; flex:1; }
  .px-cs-collection .cs-card-meta { display:flex; align-items:center; justify-content:space-between; margin-bottom:12px; gap:10px; }
  .px-cs-collection .cs-card-company { font-family: var(--font-heading); font-weight:500; font-size:15px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
  .px-cs-collection .cs-card-industry { font-size:9.5px; letter-spacing:0.08em; text-transform:uppercase; color:var(--sage); border:1px solid var(--line); border-radius:20px; padding:3px 9px; white-space:nowrap; flex-shrink:0; }

  .px-cs-collection .cs-card-heading { font-family: var(--font-heading); font-weight:500; font-size:16.5px; line-height:1.3; margin:0 0 8px; }
  .px-cs-collection .cs-card-text { font-size:12.5px; line-height:1.55; color:var(--sage); margin:0 0 18px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }

  .px-cs-collection .cs-card-stats { display:flex; border-top:1px solid var(--line); padding-top:14px; margin-top:auto; margin-bottom:16px; }
  .px-cs-collection .cs-card-stat { flex:1; padding-right:14px; border-right:1px solid var(--line); }
  .px-cs-collection .cs-card-stat:last-child { border-right:none; padding-right:0; padding-left:14px; }
  .px-cs-collection .cs-card-stat .cs-card-value { font-family: var(--font-heading); font-weight:600; font-size:21px; color:var(--brass); line-height:1; font-variant-numeric:tabular-nums; }
  .px-cs-collection .cs-card-stat .cs-card-label { margin-top:6px; font-size:9.5px; letter-spacing:0.06em; text-transform:uppercase; color:var(--sage); line-height:1.3; }

  /* Hover changes only the border COLOUR so the button doesn't shrink. */
  .px-cs-collection .cs-card-cta {
    display:inline-flex; align-items:center; gap:6px; font-size:11.5px; letter-spacing:0.05em; text-transform:uppercase;
    color:var(--paper); background:none; cursor:pointer; align-self:flex-start; font-weight: 550;
    border: 1px solid var(--color-neutral-paper);
    border-radius: 2px;
    padding: 10px 20px;
    transition:background .2s ease, border-color .2s ease;
  }
  .px-cs-collection .cs-card-cta:hover{
    background-color: var(--color-primary-orange); border-color:var(--color-primary-orange);
  }
  .px-cs-collection .cs-card-cta svg { width:13px; height:13px; transition:transform .2s ease; }
  .px-cs-collection .cs-card:hover .cs-card-cta svg { transform:translateX(3px); }

 .px-cs-collection .cs-card-image { display: block; }
 .px-cs-collection .cs-card-heading a { color: inherit; text-decoration: none; }
 .px-cs-collection .cs-cta { display: inline-block; text-decoration: none; }
 .px-cs-collection .cs-card-cta { text-decoration: none; }

  .px-cs-collection .cs-filters {
  position: sticky;
  top: var(--am-cs-sticky-offset, 72px);
  z-index: 30;
  background: var(--ink);
  padding: 14px 0;
  margin-bottom: 26px;
  border-bottom: 1px solid transparent;
  transition: border-color .2s ease, box-shadow .2s ease;
}
.px-cs-collection .cs-filters.is-stuck {
  border-bottom-color: var(--line);
  box-shadow: 0 12px 24px -20px color-mix(in srgb, var(--color-black) 60%, transparent);
}
#csFiltersSentinel { height: 1px; margin-top: -1px; }





  @media (max-width: 1100px){ .px-cs-collection .cs-grid { grid-template-columns:repeat(2, 1fr); } }
  @media (max-width: 860px){
    .px-cs-collection .cs-stage { padding:0 16px; }
    .px-cs-collection .cs-intro { padding-top:32px; }
    .px-cs-collection .cs-plate { flex-wrap:wrap; }
    .px-cs-collection .cs-plate .cs-stat { width:50%; flex:none; border-bottom:1px solid var(--line); }
    .px-cs-collection .cs-plate .cs-stat:nth-child(2n) { border-right:none; }
    .px-cs-collection .cs-results { flex-wrap:wrap; }
    .px-cs-collection .cs-primary { width:100%; border-right:none; border-bottom:1px solid var(--line); padding:24px; }
    .px-cs-collection .cs-stat-box { width:50%; border-bottom:1px solid var(--line); padding:22px 18px; }
    .px-cs-collection .cs-grid { grid-template-columns:1fr; }
  }

  
/* ---------- CASE STUDIES INTRO: MOBILE FIX ---------- */
@media (max-width: 600px) {

    /* Stack the heading and subtext vertically */
    .px-cs-collection .cs-head {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
        justify-content: flex-start;
        flex-wrap: nowrap;
        gap: 20px;
        margin-bottom: 32px;
    }

    /* Allow the heading to use the full available width */
    .px-cs-collection .cs-headline {
        width: 100%;
        max-width: 100%;
        font-size: clamp(32px, 8vw, 42px);
        line-height: 1.08;
        margin: 0;
        overflow-wrap: normal;
        word-break: normal;
    }

    /* Give the subtext its own full-width space */
    .px-cs-collection .cs-sub {
        width: 100%;
        max-width: 100%;
        font-size: 14px;
        line-height: 1.65;
        margin: 0;
    }

}
