/* Generated by build step 81 (case-study template): do not edit. Source: features/website/mockups/case-studies.css (verbatim),
   its dbi.css tokens scoped to the family's elements, the rules it borrows from dbi.css / the golden page, a Divi layer. */
:where([class*="case-"], .btn-text, .hero-meta, .hero-eyebrow) {
  --bg: #f1f1f1;
  --bg-pure: #ffffff;
  --black: #000000;
  --border: var(--int-gray);
  --divider: var(--light-gray);
  --ease-out: cubic-bezier(0.16, 1, 0.3, 1);
  --font-body: var(--avency_global_body_font);
  --font-display: var(--avency_global_heading_font);
  --green: #00aaa0;
  --int-gray: #cccccc;
  --light-gray: #eeeeee;
  --mid-gray: #9d9d9d;
  --r-full: 9999px;
  --r-lg: .875rem;
  --r-md: .5rem;
  --r-sm: .25rem;
  --s-1: .25rem;
  --s-10: 2.5rem;
  --s-12: 3rem;
  --s-16: 4rem;
  --s-2: .5rem;
  --s-3: .75rem;
  --s-4: 1rem;
  --s-5: 1.25rem;
  --s-6: 1.5rem;
  --s-8: 2rem;
  --shadow-sm: 0 1px 4px rgba(0, 0, 0, .05), 0 1px 2px rgba(0, 0, 0, .04);
  --surface-2: var(--light-gray);
  --t: 240ms;
  --t-fast: 150ms;
  --teal: var(--teal-text);
  --teal-brand: var(--green);
  --teal-dark: var(--teal-text);
  --teal-light: #e8f7f6;
  --teal-mid: rgba(0, 170, 160, .12);
  --teal-text: #007972;
  --text: var(--black);
  --text-2xl: clamp(1.9rem, 1.30rem + 2.10vw, 3.0rem);
  --text-base: clamp(1.0625rem, 1.00rem + 0.30vw, 1.125rem);
  --text-lg: clamp(1.125rem, 1.00rem + 0.55vw, 1.35rem);
  --text-muted: #5a5850;
  --text-sm: clamp(0.875rem, 0.82rem + 0.28vw, 0.975rem);
  --text-xl: clamp(1.4rem, 1.10rem + 1.10vw, 1.875rem);
  --text-xs: clamp(0.75rem, 0.70rem + 0.20vw, 0.825rem);
}

/* nested under :root body (CSS nesting) so the family's rules outrank the theme's heading and link rules */
:root body {
/* ═══════════════════════════════════════════════════════════════════════════
   Case-study family — case-study-*.html + case-studies.html only
   Load order: dbi.css → expertise.css → case-studies.css
   Golden detail pages: case-study-galenica.html (quote, no result figure) and
   case-study-helvetia-baloise.html (result figure, no quote). Hub: case-studies.html.
   Spec: content/case-study-template-divi-spec.md §6–§9. Reworked 30 Sep 2026 (PO review).
   Tokens only (dbi.css). No new colors, no gradients, no icon-in-circle.
   Prefix `case-`; the homepage/Consulting carousel owns `.cs-*`.
   ═══════════════════════════════════════════════════════════════════════════ */

/* ── Bands & prose ──────────────────────────────────────────────────────── */
.case-band {
  background: var(--bg-pure);
  border-top: 1px solid var(--divider);
  border-bottom: 1px solid var(--divider);
}
.case-band + .case-band { border-top: 0; }
/* Fact strip = the 10-second read; tinted so it anchors the eye under the hero
   (stakeholder review 1 Oct 2026: pages read too white, value surfaces too late). */
.case-band.is-facts { background: var(--teal-light); }
.case-prose {
  font-size: var(--text-base);
  color: var(--text-muted);
  line-height: 1.75;
  max-width: 64ch;
}
.case-prose > * + * { margin-top: var(--s-5); }
.case-prose strong { color: var(--text); font-weight: 700; }
.case-prose.is-lead {
  font-size: var(--text-lg);
  line-height: 1.6;
  color: var(--text);
  max-width: 58ch;
}
.case-prose.is-lead + .case-points { margin-top: var(--s-8); }

/* ── Tags (hero on-dark, cards static) ──────────────────────────────────── */
.case-tags {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
}
.case-tag {
  display: inline-flex;
  align-items: center;
  min-height: 1.75rem;
  padding: 0 var(--s-3);
  border-radius: var(--r-full);
  border: 1px solid var(--border);
  background: var(--bg-pure);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .05em;
  text-transform: uppercase;
  color: var(--text-muted);
  text-decoration: none;
  transition: border-color var(--t-fast) var(--ease-out), color var(--t-fast) var(--ease-out);
}
a.case-tag:hover { border-color: var(--teal); color: var(--text); }
.case-tag.is-static { border-color: transparent; background: var(--surface-2); }
.case-tags.on-dark .case-tag {
  background: transparent;
  border-color: var(--mid-gray);
  color: var(--bg-pure);
}
.case-tags.on-dark a.case-tag:hover { border-color: var(--teal); color: var(--bg-pure); }
/* a chip links only where it leads to a hub filter, outside cards; every other chip is plain and looks plain on dark too:
   no border, a dark fill that keeps the white text's contrast over any part of the photo (DBIW-195, M. Patou's test, 2 Nov 2026) */
.case-tags.on-dark .case-tag.is-static { border-color: transparent; background: rgba(0, 0, 0, .3); }

/* ── Hero: customer line + logo plate ───────────────────────────────────── */
.case-customer {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: var(--s-3);
  margin-top: var(--s-5);
  font-size: var(--text-sm);
  color: var(--bg-pure);
}
.case-customer strong { font-weight: 700; }
.case-hero-logo {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: var(--s-2) var(--s-4);
  background: var(--bg-pure);
  border-radius: var(--r-md);
}
.case-hero-logo img {
  display: block;
  height: 2.25rem;
  width: auto;
  max-width: 11rem;
  object-fit: contain;
}

/* ── Fact strip (Divi: 6 Blurb modules, no icons) — the 10-second read ──── */
.case-facts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: var(--s-6) var(--s-8);
}
.case-facts-item {
  min-width: 0;
  margin: 0;
  padding-left: var(--s-4);
  border-left: 2px solid var(--teal-brand);
}
.case-facts-label {
  margin: 0 0 var(--s-2);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.case-facts-value {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-lg);
  line-height: 1.25;
  color: var(--text);
  overflow-wrap: anywhere;
}
.case-facts-value small {
  display: block;
  margin-top: var(--s-1);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  line-height: 1.4;
  color: var(--text-muted);
}
.case-facts-value a {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: var(--teal);
  text-decoration-thickness: 2px;
  text-underline-offset: .18em;
}
.case-facts-value a:hover { text-decoration-thickness: 3px; }
@media (max-width: 1023px) {
  .case-facts { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 639px) {
  .case-facts { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-5); }
}

/* ── Points: "what was at stake" / "what changed" (Divi: Blurb list) ────── */
.case-points {
  list-style: none;
  margin: var(--s-6) 0 0;
  padding: 0;
  display: grid;
  gap: var(--s-4);
  max-width: 64ch;
}
.case-points li {
  position: relative;
  padding-left: var(--s-6);
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--text-muted);
}
.case-points li::before {
  content: "";
  position: absolute;
  left: 0;
  top: .8em;
  width: var(--s-3);
  height: 2px;
  background: var(--teal-brand);
}
.case-points strong { color: var(--text); font-weight: 700; }

/* ── Scale strip (SCOPE figures only; values may be words) ──────────────── */
.case-scale {
  margin-top: var(--s-10);
  padding-top: var(--s-6);
  border-top: 1px solid var(--divider);
}
.case-scale-label {
  margin: 0 0 var(--s-4);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.case-scale-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-6) var(--s-12);
}
.case-scale-list li { display: flex; flex-direction: column; gap: var(--s-1); }
.case-scale-value {
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  line-height: 1;
  color: var(--text);
}
.case-scale-value.is-words { font-size: var(--text-xl); font-style: italic; }
.case-scale-unit { font-size: var(--text-sm); color: var(--text-muted); max-width: 24ch; }

/* ── Steps (Divi: 3 numbered Blurbs) ────────────────────────────────────── */
.case-steps {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: var(--s-6);
}
.case-steps li {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  column-gap: var(--s-5);
  row-gap: var(--s-2);
  padding-top: var(--s-6);
  border-top: 1px solid var(--divider);
}
.case-steps li:first-child { padding-top: 0; border-top: 0; }
.case-steps-num {
  grid-row: 1 / span 2;
  min-width: 2.4ch;
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  line-height: 1;
  color: var(--teal-dark);
}
.case-steps-title {
  margin: 0;
  font-family: var(--font-body);
  font-size: var(--text-lg);
  font-weight: 700;
  line-height: 1.3;
  color: var(--text);
}
.case-steps p {
  margin: 0;
  font-size: var(--text-base);
  line-height: 1.65;
  color: var(--text-muted);
  max-width: 60ch;
}

/* ── Technology chips (Divi: Text) ──────────────────────────────────────── */
.case-chips {
  list-style: none;
  margin: var(--s-8) 0 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--s-2);
}
.case-chip {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: 0 var(--s-3);
  border-radius: var(--r-sm);
  background: var(--surface-2);
  font-size: var(--text-sm);
  color: var(--text);
}
.case-chips + .btn-text { margin-top: var(--s-6); }

/* ── Result callouts (RESULT figures only; Divi: Number Counter) ────────── */
.case-results {
  list-style: none;
  margin: var(--s-8) 0 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(16rem, max-content));
  gap: var(--s-6);
}
.case-result {
  display: flex;
  flex-direction: column;
  gap: var(--s-2);
  padding: var(--s-8) var(--s-10);
  border-left: 3px solid var(--teal-brand);
  border-radius: var(--r-lg);
  background: var(--teal-light);
}
/* Result figure at display scale (between --text-2xl and --text-hero): the key
   reassurance number earns its own stage — stakeholder review 1 Oct 2026. */
.case-result-value {
  font-family: var(--font-display);
  font-size: clamp(2.75rem, 1.9rem + 3vw, 4.5rem);
  line-height: 1;
  color: var(--text);
}
.case-result-value small {
  display: block;
  margin-bottom: var(--s-1);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.case-result-label { font-size: var(--text-base); color: var(--text); }
.case-result-source { font-size: var(--text-xs); color: var(--text-muted); }
.case-results + .case-points { margin-top: var(--s-10); }

/* ── Quote (Divi: Testimonial module; hidden when no linked testimonial) ── */
.case-quote {
  max-width: 52rem;
  margin: 0;
  padding-left: clamp(var(--s-5), 3vw, var(--s-10));
  border-left: 3px solid var(--teal-brand);
}
.case-quote blockquote { margin: 0; }
.case-quote blockquote p {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-style: italic;
  line-height: 1.45;
  color: var(--text);
}
.case-quote figcaption { margin-top: var(--s-6); font-size: var(--text-sm); color: var(--text-muted); }
.case-quote cite { display: block; font-style: normal; font-weight: 700; color: var(--text); }

/* ── Architecture (2-col: text + diagram) ───────────────────────────────── */
.case-arch {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(var(--s-8), 5vw, var(--s-16));
  align-items: start;
}
.case-figure { margin: 0; }
.case-figure-ph {
  display: grid;
  place-items: center;
  aspect-ratio: 4 / 3;
  border: 1px dashed var(--border);
  border-radius: var(--r-lg);
  background: var(--surface-2);
}
.case-figure-ph .placeholder-note { margin-top: 0; }
.case-figure figcaption { margin-top: var(--s-3); font-size: var(--text-sm); color: var(--text-muted); }
@media (max-width: 860px) {
  .case-arch { grid-template-columns: 1fr; }
}

/* ── Card grid (3 / 2 / 1; `.is-2` for Related) ─────────────────────────── */
.case-grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr;
  gap: var(--s-6);
}
@media (min-width: 640px) {
  .case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (min-width: 1024px) {
  .case-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } /* 2-up at desktop (PO, 30 Sep 2026) */
}

/* ── Card (Global module, spec §8): one link per card. One card everywhere (DBIW-195, PO 2 Nov 2026): hub, related, home.
   Slots in this order: logo (else the customer name in its place, same height) · tags · title · summary · key figure (only
   where the case has one; nothing left behind when not) · link at the foot, so cards side by side end on one line ── */
.case-card {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--s-3);
  padding: var(--s-8);
  background: var(--bg-pure);
  border: 1px solid var(--divider);
  border-radius: var(--r-lg);
  transition: border-color var(--t-fast) var(--ease-out), box-shadow var(--t-fast) var(--ease-out);
}
.case-card:hover,
.case-card:focus-within { border-color: var(--teal); box-shadow: var(--shadow-sm); }
.case-card-who {
  display: flex;
  align-items: center;
  min-height: 2.5rem;
}
.case-card-logo {
  display: block;
  height: 2rem;
  width: auto;
  max-width: 9rem;
  object-fit: contain;
  object-position: left center;
}
.case-card-flag,
.case-card-customer {
  margin: 0;
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.case-card-who .case-card-customer { font-size: var(--text-sm); color: var(--text); } /* the name in the logo's place */
.case-card-title {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-xl);
  font-weight: 400; /* Instrument Serif has no bold face: an unset h3 weight renders faux-bold */
  letter-spacing: -.005em;
  line-height: 1.25;
  color: var(--text);
}
.case-card-excerpt { margin: 0; font-size: var(--text-sm); line-height: 1.6; color: var(--text-muted); }
.case-card-figure {
  margin: 0;
  padding-top: var(--s-3);
  border-top: 1px solid var(--divider);
  font-size: var(--text-sm);
  color: var(--text-muted);
}
.case-card-figure strong {
  display: block;
  font-family: var(--font-display);
  font-size: var(--text-2xl);
  font-weight: 400;
  line-height: 1.1;
  color: var(--text);
}
.case-card > .btn-text { margin-top: auto; padding-top: var(--s-3); }

/* Featured card: the same card across the grid, a little larger */
.case-grid > li:has(> .case-card.is-featured) { grid-column: 1 / -1; }
.case-card.is-featured { grid-column: 1 / -1; padding: var(--s-10); }
.case-card.is-featured .case-card-logo { height: 2.5rem; max-width: 11rem; }
.case-card.is-featured .case-card-title { font-size: var(--text-2xl); max-width: 36ch; }
.case-card.is-featured .case-card-excerpt { max-width: 68ch; }
@media (max-width: 860px) {
  .case-card.is-featured { padding: var(--s-8); }
}

/* ── Filter band (hub): one compact band of chip links ──────────────────── */
.case-filter {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  gap: var(--s-4) var(--s-10);
  padding: var(--s-5) 0;
  border-top: 1px solid var(--divider);
  border-bottom: 1px solid var(--divider);
}
.case-filter-group {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-2);
}
.case-filter-label {
  margin-right: var(--s-2);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.case-filter-link {
  display: inline-flex;
  align-items: center;
  min-height: 1.9rem;
  padding: 0 var(--s-3);
  border-radius: var(--r-full);
  border: 1px solid var(--border);
  background: var(--bg-pure);
  font-size: var(--text-sm);
  color: var(--text);
  text-decoration: none;
  transition: border-color var(--t-fast) var(--ease-out);
}
.case-filter-link:hover { border-color: var(--teal); }
.case-filter-link[aria-current] {
  background: var(--text);
  border-color: var(--text);
  color: var(--bg-pure);
  font-weight: 700;
}
.case-filter-count {
  margin-left: auto;
  align-self: center;
  font-size: var(--text-sm);
  color: var(--text-muted);
}
.case-filter-clear {
  align-self: center;
  font-size: var(--text-sm);
  color: var(--text);
  text-decoration: underline;
  text-decoration-color: var(--teal);
  text-decoration-thickness: 2px;
  text-underline-offset: .18em;
}
.case-filter-clear:hover { text-decoration-thickness: 3px; }
/* <640px: the band sits inside <details class="case-filter-mobile" open>; the summary is the toggle.
   >=640px: the summary is hidden and the band is always visible (details keeps `open`). */
.case-filter-mobile > summary { display: none; }
@media (max-width: 639px) {
  .case-filter-mobile > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: var(--s-4) 0;
    border-top: 1px solid var(--divider);
    font-size: var(--text-sm);
    font-weight: 700;
    color: var(--text);
    cursor: pointer;
    list-style: none;
  }
  .case-filter-mobile > summary::-webkit-details-marker { display: none; }
  .case-filter-mobile > summary::after { content: "+"; font-family: var(--font-display); font-size: var(--text-lg); }
  .case-filter-mobile[open] > summary::after { content: "\2212"; }
  .case-filter-mobile > .case-filter { border-top: 0; padding-top: 0; }
  .case-filter { flex-direction: column; gap: var(--s-4); }
  .case-filter-count { margin-left: 0; }
}

/* ── Pager (hub) ────────────────────────────────────────────────────────── */
.case-pager { margin-top: var(--s-12); }
.case-pager ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--s-2);
}
.case-pager a,
.case-pager [aria-current] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 2.5rem;
  min-height: 2.5rem;
  padding: 0 var(--s-3);
  border-radius: var(--r-sm);
  border: 1px solid var(--border);
  font-size: var(--text-sm);
  color: var(--text);
  text-decoration: none;
}
.case-pager a:hover { border-color: var(--teal); }
.case-pager [aria-current] { background: var(--text); border-color: var(--text); color: var(--bg-pure); font-weight: 700; }

/* ── Empty state (hub, filtered to zero) ────────────────────────────────── */
.case-empty {
  max-width: 40rem;
  padding: var(--s-10) var(--s-8);
  border: 1px dashed var(--border);
  border-radius: var(--r-lg);
  background: var(--bg-pure);
}
.case-empty p { margin: 0; color: var(--text-muted); }
.case-empty p + p { margin-top: var(--s-3); }
.case-empty .btn-text { margin-top: var(--s-5); }

/* ── Client voices (hub): calm testimonial card ─────────────────────────── */
.case-voice {
  height: 100%;
  display: flex;
  flex-direction: column;
  gap: var(--s-5);
  margin: 0;
  padding: var(--s-8);
  border-left: 3px solid var(--teal-brand);
  border-radius: 0 var(--r-lg) var(--r-lg) 0;
  background: var(--bg-pure);
}
.case-voice blockquote { margin: 0; }
.case-voice blockquote p {
  margin: 0;
  font-family: var(--font-display);
  font-size: var(--text-lg);
  font-style: italic;
  line-height: 1.45;
  color: var(--text);
}
.case-voice figcaption {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--s-4);
  font-size: var(--text-sm);
  color: var(--text-muted);
}
.case-voice cite { display: block; font-style: normal; font-weight: 700; color: var(--text); }
.case-voice-logo { height: 1.75rem; width: auto; max-width: 7rem; object-fit: contain; }
.case-voice > .btn-text { margin-top: auto; }

/* ── Related fallback + prototype notes (kept for the current Galenica page) ── */
.case-related-empty { margin: 0; font-size: var(--text-base); color: var(--text-muted); }
.case-proto-note {
  margin-top: var(--s-8);
  padding: var(--s-4) var(--s-5);
  border: 1px dashed var(--border);
  border-radius: var(--r-md);
  font-size: var(--text-sm);
  color: var(--text-muted);
}
.case-proto-label { font-weight: 700; color: var(--text); }

/* ── Verification notes (prototype only) + inline references ───────────── */
.case-verify {
  padding: var(--s-10) 0;
  background: var(--bg);
  border-top: 1px dashed var(--border);
}
.case-verify-label {
  margin: 0 0 var(--s-4);
  font-family: var(--font-body);
  font-size: var(--text-xs);
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--text-muted);
}
.case-verify ol {
  margin: 0;
  padding-left: 1.5em;
  display: grid;
  gap: var(--s-3);
  max-width: 72ch;
  font-size: var(--text-sm);
  line-height: 1.6;
  color: var(--text-muted);
}
.case-verify li::marker { font-weight: 700; color: var(--text); }
.case-verify li:target { color: var(--text); }
.case-verify strong { color: var(--text); }
.case-verify code {
  padding: 0 .3em;
  border-radius: var(--r-sm);
  background: var(--bg-pure);
  font-size: .92em;
}
.case-ref {
  font-size: .6em;
  line-height: 0;
  vertical-align: super;
  margin-left: .15em;
  font-style: normal;
}
.case-ref a {
  padding: .1em .35em;
  border-radius: var(--r-sm);
  background: var(--teal-light);
  font-family: var(--font-body);
  font-weight: 700;
  color: var(--text);
  text-decoration: none;
}
.case-ref a:hover { background: var(--teal-mid); }
.hero-h1 .case-ref { font-size: var(--text-sm); vertical-align: top; margin-left: .35em; }
.case-tags.on-dark .case-ref a,
.case-customer .case-ref a { background: var(--bg-pure); }

@media (prefers-reduced-motion: reduce) {
  .case-tag, .case-card, .case-filter-link { transition: none; }
}


/* ── borrowed rules ── */
.btn-text { display: inline-flex; align-items: center; gap: var(--s-2); font-size: var(--text-sm); font-weight: 500; color: var(--teal); border-bottom: 1px solid transparent; transition: gap var(--t) var(--ease-out), border-color var(--t); }
.btn-text:hover { gap: var(--s-3); border-bottom-color: var(--teal); }
.btn-text svg { width: 14px; height: 14px; }
.hero-meta { display: grid; gap: var(--s-4); padding-top: var(--s-2); }
.hero-eyebrow a { color: inherit; text-decoration: none; text-underline-offset: .2em; }
.hero-eyebrow a:hover,
    .hero-eyebrow a:focus-visible { text-decoration: underline; }
}

/* ── Divi integration ── */
.et_pb_section.pb-case-plain { background-color: var(--bg); } /* mockup page tint; bands are white */
.et_pb_section.case-band { background-color: var(--bg-pure); }
.et_pb_section.case-band.is-facts { background-color: var(--teal-light); }
.et_pb_text ul[class*="case-"], .et_pb_text ol[class*="case-"] { list-style: none; padding: 0; }
.et_pb_text [class*="case-"] li, .et_pb_text [class*="case-"] p { padding-bottom: 0; }
.et_pb_text .case-tags.on-dark { margin: 0; }
.et_pb_text :is(.case-quote, .case-voice) blockquote { border-left: 0; padding-left: 0; } /* the theme's blockquote bar; the family draws its own */
.et_pb_text .hero-meta { padding-top: var(--s-6); }
/* optional parts (spec §4): hidden when their field is empty */
.et_pb_module.pb-case-opt:not(:has(.et_pb_text_inner > *)), .et_pb_section.pb-case-quote:not(:has(.case-quote)),
.et_pb_section.pb-case-arch:not(:has(h2:not(:empty))), .et_pb_section.pb-case-related:not(:has(.case-card)) { display: none; }
/* CTA secondary button (as the partner template) */
body.et-db #page-container #et-boc .et-l a.et_pb_button.pb-btn-secondary { background: #fff !important; color: var(--text, #1a1a1a) !important; border-color: var(--border, #e5e3dc) !important; }
body.et-db #page-container #et-boc .et-l a.et_pb_button.pb-btn-secondary:hover, body.et-db #page-container #et-boc .et-l a.et_pb_button.pb-btn-secondary:focus-visible { border-color: var(--primary) !important; color: var(--primary) !important; }
