/* Home case studies: same grid and components, with the third project deliberately peeking in. */
.c2s-lab-cases { background: var(--color-bg); color: var(--color-heading); overflow-x: clip; }
.c2s-lab-cases__grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); column-gap: var(--space-6); row-gap: calc(var(--col) * .5); }
.c2s-lab-cases .c2s-lab-cases__title { grid-column: 2 / span 6; grid-row: auto; padding: 0; margin: 0; }
.c2s-lab-cases__intro { grid-column: 8 / span 4; align-self: end; }
.c2s-lab-cases__intro > p { font-size: var(--18px-size); line-height: 1.6; color: var(--color-body-light); margin: 0; }
.c2s-lab-cases__controls { display: flex; gap: var(--space-2); margin-top: var(--space-6); }
.c2s-lab-cases__nav { width: var(--space-12); height: var(--space-12); padding: 0; flex: none; }
.c2s-lab-cases__nav .c2s-btn__icon { margin: 0; font-size: var(--space-6); }
.c2s-lab-cases__nav--prev .c2s-btn__icon { rotate: 180deg; }
.c2s-lab-cases__nav[aria-disabled="true"] { opacity: .3; cursor: default; }
.c2s-lab-cases__nav[aria-disabled="true"] .c2s-btn__icon-bg,
.c2s-lab-cases__nav[aria-disabled="true"] .c2s-btn__arrow { transform: none; }
.c2s-lab-cases__nav:focus-visible { outline: 2px solid var(--color-heading); outline-offset: var(--space-1); }
.c2s-lab-cases__viewport { --case-gap: var(--space-6); grid-column: 2 / -1; min-width: 0; margin-right: calc(-1 * var(--space-6)); overflow-x: auto; overflow-y: hidden; scrollbar-width: none; scroll-behavior: auto; overscroll-behavior-x: contain; touch-action: pan-x pan-y pinch-zoom; }
.c2s-lab-cases__viewport::-webkit-scrollbar { display: none; }
.c2s-lab-cases__viewport:focus-visible { outline: 2px solid var(--color-body-light); outline-offset: calc(-1 * var(--space-1)); }
.c2s-lab-cases__track { display: flex; gap: var(--case-gap); align-items: stretch; }
.c2s-lab-case { flex: 0 0 calc((100% - 2 * var(--case-gap)) / 2.5); min-width: 0; position: relative; background: var(--white); display: flex; flex-direction: column; isolation: isolate; }
.c2s-lab-case__logo { height: var(--space-16); display: flex; align-items: center; }
.c2s-lab-case__logo img { display: block; width: calc(var(--space-24) * 2.5); height: auto; max-width: 100%; max-height: var(--space-12); object-fit: contain; object-position: left center; user-select: none; }
.c2s-lab-case__logo--dark img { filter: brightness(0); }
.c2s-lab-case__body { display: flex; flex-direction: column; flex: 1; padding: var(--space-6); padding-bottom: calc(var(--space-12) + var(--space-6)); }
.c2s-lab-case__sector { color: var(--color-body-light); font-size: var(--14px-size); line-height: 1.5; margin: var(--space-2) 0 0; }
.c2s-lab-case__description { font-size: var(--16px-size); line-height: 1.55; color: var(--color-heading); margin: var(--space-4) 0 var(--space-6); }
.c2s-lab-case__results { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--space-4); margin: auto 0 0; padding-top: var(--space-6); border-top: 1px solid var(--color-border); }
.c2s-lab-case__results > div { display: grid; grid-template-rows: auto 1fr; gap: var(--space-2); }
.c2s-lab-case__results dd { grid-row: 1; font-size: var(--40px-size); font-weight: 500; line-height: 1; letter-spacing: -.035em; white-space: nowrap; color: var(--color-heading); margin: 0; }
.c2s-lab-case__results dt { grid-row: 2; min-height: 2.8em; color: var(--color-body-light); font-size: var(--14px-size); line-height: 1.4; }
/* Use the canonical button's arrow and character hover, with its link extended over the card. */
.c2s-lab-case__cta { position: absolute; inset: 0; z-index: 2; pointer-events: none; }
.c2s-lab-case__cta .c2s-btn { position: absolute; inset: 0; width: auto; height: auto; display: block; padding: 0; border-radius: 0; pointer-events: auto; }
.c2s-lab-case__cta .c2s-btn__bg, .c2s-lab-case__cta .c2s-btn__circle-wrap { display: none; }
.c2s-lab-case__cta .c2s-btn__text { position: absolute; bottom: var(--space-6); left: var(--space-6); right: calc(var(--space-6) * 3); }
.c2s-lab-case__cta .c2s-btn__icon { position: absolute; bottom: var(--space-6); right: var(--space-6); margin: 0; font-size: var(--space-6); }
.c2s-lab-case__cta .c2s-btn[data-theme="light"]:hover .c2s-btn__text { color: var(--color-heading); }
.c2s-lab-case__cta .c2s-btn:focus-visible { outline: 2px solid var(--color-heading); outline-offset: -2px; }
.c2s-lab-cases__sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
@media (max-width: 991px) {
    .c2s-lab-cases .c2s-lab-cases__title { grid-column: 1 / span 7; font-size: var(--48px-size); }
    .c2s-lab-cases__intro { grid-column: 8 / span 5; }
    .c2s-lab-cases__viewport { grid-column: 1 / -1; }
    .c2s-lab-case { flex-basis: calc((100% - var(--case-gap)) / 1.6); }
}
@media (max-width: 767px) {
    .c2s-lab-cases .c2s-lab-cases__title, .c2s-lab-cases__intro { grid-column: 1 / -1; }
    .c2s-lab-cases__grid { row-gap: var(--space-6); }
    .c2s-lab-cases__intro { display: flex; align-items: end; gap: var(--space-6); }
    .c2s-lab-cases__intro > p { font-size: var(--16px-size); flex: 1; }
    .c2s-lab-cases__controls { flex: none; margin-top: 0; gap: var(--space-1); }
    .c2s-lab-cases__viewport { --case-gap: var(--space-4); }
    .c2s-lab-case { flex-basis: calc((100% - var(--case-gap)) / 1.12); }
    .c2s-lab-case__body { padding: var(--space-4); padding-bottom: calc(var(--space-12) + var(--space-4)); }
    .c2s-lab-case__results { gap: var(--space-3); padding-top: var(--space-4); }
    .c2s-lab-case__results dd { font-size: var(--34px-size); }
    .c2s-lab-case__results dt { min-height: 4.2em; }
    .c2s-lab-case__cta .c2s-btn__text { bottom: var(--space-4); left: var(--space-4); right: calc(var(--space-4) * 4); }
    .c2s-lab-case__cta .c2s-btn__icon { bottom: var(--space-4); right: var(--space-4); }
    .c2s-lab-case__cta .c2s-btn__label { font-size: var(--14px-size); }
}
