/**
 * Case study shell — minimal overrides. Layout/colors live in work-generated/*.css
 */

body.single-work,
body.n92-case-study {
  background: #1e1e1e !important;
  color: #efece8 !important;
}

body.single-work #pagewrap,
body.single-work #layout,
body.single-work #content,
body.n92-case-study #pagewrap,
body.n92-case-study #layout,
body.n92-case-study #content {
  background: transparent !important;
}

/* Hero title left-aligned on dark band (body class + pagewrap SSR class) */
body.n92-case-study #content .themify_builder_content .tb_first .module-text,
body.n92-case-study #content .themify_builder_content .tb_first .tb_text_wrap,
#pagewrap.n92-case-study #content .themify_builder_content .tb_first .module-text,
#pagewrap.n92-case-study #content .themify_builder_content .tb_first .tb_text_wrap {
  text-align: left !important;
}

body.n92-case-study #content .themify_builder_content .tb_first .row_inner,
#pagewrap.n92-case-study #content .themify_builder_content .tb_first .row_inner {
  align-items: center !important;
  justify-items: start !important;
}

/* Video rows: play MP4 instead of static fallback background from generated CSS */
body.n92-case-study .themify_builder_content [data-tbfullwidthvideo] {
  background-image: none !important;
}

body.n92-case-study .themify_builder_content [data-tbfullwidthvideo] .tb-fullwidth-video {
  display: block !important;
  z-index: 1;
}

/* ── Heading hierarchy (one h1, then h2 sections, h3 subsections, p body) ── */

/* h1 — hero client mark only */
body.n92-case-study .themify_builder_content .tb_first .module-text h1 {
  font-size: clamp(3rem, 10vw, 100px) !important;
  line-height: 1em !important;
  letter-spacing: -0.03em;
  margin: 0 !important;
}

/* h2 — project title */
body.n92-case-study .themify_builder_content .row_inner.tb_col_count_2 .module_column.first > .module-text:first-child h2 {
  font-size: clamp(2.5rem, 7vw, 100px) !important;
  line-height: 1em !important;
  letter-spacing: -0.03em;
  margin: 0 0 0.15em !important;
  font-weight: 800;
  font-family: gilroy, "Proxima Nova", sans-serif;
}

/* h2 — major sections (IDENTITY, ONGOING BRANDING STRATEGY) */
body.n92-case-study .themify_builder_content .module-text h2:not(.n92-case-subtitle) {
  font-family: gilroy, "Proxima Nova", sans-serif;
  font-weight: 800;
  line-height: 1.1;
  letter-spacing: -0.02em;
}

/* h2 — three-column row headings (your goals / our visions / fantastic results) */
body.n92-case-study .themify_builder_content .row_inner.tb_col_count_3 .module_column > .module-text.wow h2 {
  font-size: clamp(1.65rem, 2.8vw, 2.5rem) !important;
  line-height: 1.15 !important;
  font-weight: 800 !important;
  font-family: gilroy, "Proxima Nova", sans-serif !important;
  letter-spacing: -0.02em;
  margin: 0 0 0.35em !important;
}

/* h3 — client name, metadata labels, chapter subsections */
body.n92-case-study .themify_builder_content .module-text h3 {
  font-family: gilroy, "Proxima Nova", sans-serif;
  font-weight: 800;
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 0.35em !important;
}

body.n92-case-study #content .themify_builder_content .module_row:not(.tb_first) .row_inner.tb_col_count_2 .module_column.last .module-text h3 {
  font-size: 1.05rem !important;
  text-transform: none;
}

body.n92-case-study .themify_builder_content .module-text .tb_text_wrap h3[style*="text-align: left"] {
  font-size: clamp(1.35rem, 2.2vw, 1.75rem) !important;
}

/* Client subtitle (was h6) */
body.n92-case-study .themify_builder_content .n92-case-subtitle {
  font-size: clamp(1.25rem, 2.5vw, 2.5rem) !important;
  line-height: 1.3 !important;
  margin: 0 0 0.75em !important;
  font-weight: 400;
  font-family: gilroy, "Proxima Nova", sans-serif;
}

/* Body copy */
body.n92-case-study .themify_builder_content .module-text .tb_text_wrap p {
  margin: 0 0 0.65em;
  line-height: 1.45;
  font-size: inherit;
}

body.n92-case-study .themify_builder_content .module-text .tb_text_wrap p:last-child {
  margin-bottom: 0;
}

body.n92-case-study .themify_builder_content .module-text .tb_text_wrap :is(h1, h2, h3, h4, h5, h6) {
  margin-top: 0;
}

/* Three-column list modules — unified sizing and spacing */
body.n92-case-study .themify_builder_content .row_inner.tb_col_count_3 .module_column > .module-text:not(.wow) {
  font-size: 17px !important;
  line-height: 1.45 !important;
  padding-left: 0 !important;
  padding-right: 6% !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
}

@media (max-width: 768px) {
  body.n92-case-study .themify_builder_content .row_inner.tb_col_count_3 .module_column > .module-text:not(.wow) {
    padding-right: 0 !important;
    font-size: 16px !important;
  }

  body.n92-case-study .themify_builder_content .row_inner.tb_col_count_2 .module_column.first > .module-text:first-child h2 {
    font-size: clamp(2rem, 9vw, 2.75rem) !important;
  }
}

body.n92-case-study .themify_builder_content .row_inner.tb_col_count_3 .module_column > .module-text:not(.wow) .tb_text_wrap p {
  margin: 0 0 0.5em !important;
}

body.n92-case-study .themify_builder_content .row_inner.tb_col_count_3 .module_column > .module-text:not(.wow) .tb_text_wrap p:last-child {
  margin-bottom: 0 !important;
}

/* Legacy WP chapter menu hidden in case-study-ux.css */
