/**
 * ninety two case study v3: one visual system across every React project.
 * Intent: cream/navy editorial information; purposeful black media chapters.
 * Loaded after the legacy FTS-lab, per-project, and bridge styles.
 * Do not alter intrinsic client artwork colors or approved project images.
 */
body.n92-case-study.n92-cs-framework-v2 #n92-cs-framework.n92-cs-fw--lab {
  --n92-lab-bg: #efece8;
  --n92-lab-surface: #f5f2ed;
  --n92-lab-stage: #e3dfd8;
  --n92-lab-ink: #0b1638;
  --n92-lab-cream: #0b1638;
  --n92-lab-muted: #46536b;
  --n92-lab-pink: #0b1638;
  --n92-lab-green: #46536b;
  --n92-lab-max: 100%;
  --n92-lab-pad: var(--n92-page-gutter, clamp(18px,4vw,56px));
  --n92-lab-gap: clamp(3.5rem, 8vw, 7.5rem);
  background: #efece8;
  color: #0b1638;
  font-family: var(--n92-case-editorial-font), var(--n92-site-font), system-ui, sans-serif;
}

/* Remove the inherited lab-era chrome; retain scroll and accessibility behaviors. */
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-grain,
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-progress { display: none; }

body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header {
  background: #efece8;
  border-bottom: 1px solid rgba(11,22,56,.16);
  padding: clamp(8rem,12vw,11rem) var(--n92-lab-pad) clamp(3.5rem,6vw,6rem);
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header--deferred {
  padding-block: clamp(1.5rem,3vw,3rem);
  border-top: 1px solid rgba(11,22,56,.12);
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__nav {
  margin-bottom: clamp(2rem,5vw,4rem);
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__back {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  color: #46536b;
  text-decoration: underline;
  text-underline-offset: 4px;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__back:hover { color: #0b1638; }
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__client {
  font-size: clamp(3.1rem,9.2vw,8.75rem);
  font-weight: 800;
  line-height: .92;
  letter-spacing: -.055em;
  color: #0b1638 !important;
  overflow-wrap: break-word;
  max-width: 18ch;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__project {
  font-size: clamp(1.3rem,2.7vw,2rem);
  font-weight: 600;
  letter-spacing: -.03em;
  margin-top: 1rem;
  color: #0b1638;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__thesis {
  max-width: 61ch;
  font-size: clamp(1.05rem,1.8vw,1.25rem);
  line-height: 1.55;
  color: #46536b;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__pills {
  display: grid;
  grid-template-columns: repeat(3,minmax(0,1fr));
  gap: 1rem 2rem;
  border-top: 1px solid rgba(11,22,56,.2);
  margin-top: clamp(2.5rem,5vw,4.5rem);
  padding-top: 1.25rem;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__pill {
  min-width: 0;
  border: none;
  background: transparent;
  padding: 0;
  border-radius: 0;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-meta-label {
  color: #68728a;
  font-size: .71rem;
  font-weight: 650;
  letter-spacing: .055em;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__pill-value {
  color: #0b1638;
  font-size: clamp(.87rem,1.3vw,1.02rem);
  line-height: 1.45;
  font-weight: 600;
  overflow-wrap: anywhere;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__disciplines,
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__capabilities {
  align-items: center;
  gap: .65rem 1.25rem;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__disciplines li {
  border: 0;
  color: #46536b;
  font-size: .85rem;
  padding: 0;
}

/* Make project photography the dark interlude, not the entire document. */
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-opening,
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-reel {
  --n92-lab-stage: #131313;
  background: #111;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-gallery {
  --n92-lab-bg: #111;
  --n92-lab-ink: #111;
  --n92-lab-stage: #171717;
  --n92-lab-cream: #efece8;
  --n92-lab-muted: rgba(239,236,232,.76);
  --n92-lab-pink: #efece8;
  --n92-lab-green: #cbc8c1;
  background: #111;
  color: #efece8;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-gallery__chapter {
  background: #111;
  border-top: 1px solid rgba(239,236,232,.17);
  box-shadow: none;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-gallery__chapter:nth-of-type(even) {
  background: #151a27;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-gallery__chapter-head,
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-gallery__lede,
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-moment__caption-inner,
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-moment__prose .n92-lab-moment__body {
  box-sizing: border-box;
  max-width: 100%;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-gallery__chapter-head,
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-gallery__lede {
  width: 100%;
  padding-inline: var(--n92-lab-pad);
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-gallery__chapter-title {
  font-size: clamp(2.2rem,5vw,4.25rem);
  font-weight: 800;
  letter-spacing: -.05em;
  color: #efece8 !important;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-gallery__kicker {
  color: #c9c4bd;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-gallery__chapter-summary,
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-moment__prose .n92-lab-moment__body {
  color: rgba(239,236,232,.76);
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-moment__caption-inner > .n92-lab-moment__index {
  font-size: clamp(.78rem,1.3vw,1rem);
  font-weight: 650;
  letter-spacing: .06em;
  color: #aaa6a0;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-moment__caption-inner {
  grid-template-columns: 2.25rem minmax(0,1fr);
  gap: 1rem;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-moment__caption-inner .n92-lab-moment__title {
  font-size: clamp(1.5rem,3.6vw,2.8rem);
  font-weight: 750;
  letter-spacing: -.04em;
  color: #efece8 !important;
}

/* Buyer information is always in a calm, readable light chapter. */
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales,
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-narrative {
  --n92-lab-cream: #0b1638;
  --n92-lab-muted: #46536b;
  --n92-lab-green: #46536b;
  --n92-lab-pink: #0b1638;
  background: #efece8;
  color: #0b1638;
  border-color: rgba(11,22,56,.14);
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales {
  padding: clamp(3rem,7vw,6rem) var(--n92-lab-pad);
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales__inner {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: clamp(1.5rem,3vw,3.5rem);
  width: 100%;
  max-width: 100%;
  margin: 0;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales__block {
  min-width: 0;
  border-top: 1px solid rgba(11,22,56,.2);
  padding-top: 1.1rem;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales__title {
  font-size: clamp(1.3rem,2.6vw,2.2rem);
  line-height: 1.13;
  letter-spacing: -.035em;
  color: #0b1638 !important;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales__body,
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales__list {
  font-size: clamp(.93rem,1.3vw,1.04rem);
  line-height: 1.65;
  color: #46536b;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales__proof-grid {
  display: grid;
  grid-template-columns: repeat(2,minmax(0,1fr));
  gap: 1rem;
  grid-column: 1 / -1;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales__proof-card {
  padding: 1.3rem;
  background: #f6f3ef;
  border: 1px solid rgba(11,22,56,.16);
  border-radius: 8px;
  color: #0b1638;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales__proof-label,
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales__proof-detail {
  color: #0b1638;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-narrative__rule {
  background: #0b1638;
  height: 1px;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-narrative__kicker {
  color: #59667c;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-narrative__title {
  font-size: clamp(1.5rem,2.5vw,2.1rem);
  color: #0b1638 !important;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-narrative__body {
  color: #46536b;
  font-size: .97rem;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-story {
  --n92-lab-cream: #efece8;
  --n92-lab-muted: #d2d2da;
  --n92-lab-pink: #efece8;
  background: #0b1638;
  box-shadow: none;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-story__inner {
  max-width: 60rem;
  margin: 0;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-story__text {
  font-size: clamp(1.2rem,2.1vw,1.65rem);
  line-height: 1.6;
  color: #efece8;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-credits {
  --n92-lab-cream: #efece8;
  --n92-lab-muted: rgba(239,236,232,.7);
  --n92-lab-pink: #efece8;
  background: #111;
  color: #efece8;
}
body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-credits__row dt {
  color: rgba(239,236,232,.65);
}

/* Same action language as the nav, not a separate case-study color system. */
body.n92-cs-framework-v2 .n92-cs-convert__primary,
body.n92-cs-framework-v2 .n92-cs-sticky-cta__link {
  background: #f2c500;
  color: #0b1638;
  border-color: #f2c500;
  box-shadow: none;
}
body.n92-cs-framework-v2 .n92-cs-convert__primary:hover,
body.n92-cs-framework-v2 .n92-cs-sticky-cta__link:hover {
  background: #e1b700;
  color: #0b1638;
  box-shadow: none;
}
body.n92-cs-framework-v2 .n92-cs-convert__secondary {
  color: #efece8;
  border-color: rgba(239,236,232,.5);
}

/* Native mobile layout. No pinched metadata columns or oversized image numbers. */
@media(max-width:760px) {
  body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header {
    padding-top: clamp(7rem,20vw,8.5rem);
  }
  body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__client {
    font-size: clamp(2.65rem,12vw,4.8rem);
    line-height: .96;
    overflow-wrap: anywhere;
  }
  body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-header__pills {
    grid-template-columns: minmax(0,1fr);
    gap: .9rem;
  }
  body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales__inner,
  body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-sales__proof-grid {
    grid-template-columns: minmax(0,1fr);
  }
  body.n92-cs-framework-v2 #n92-cs-framework .n92-lab-moment__caption-inner {
    grid-template-columns: 1.4rem minmax(0,1fr);
    gap: .6rem;
  }
}
