/* Shared editorial treatment for portfolio case-study detail pages. */
.unified-case-study {
  --case-accent: var(--terracotta-highlight);
  --case-accent-deep: var(--terracotta);
  --case-tint: color-mix(in srgb, var(--case-accent) 9%, #fff);
  --case-dark: var(--ember-charcoal);
  --bg: #fff;
  --ember-paper: #fff;
  background: #fff;
}
.setonce-study { --case-accent: #7da995; --case-accent-deep: #3f705e; --case-tint: #edf5f0; }
.meetwell-study { --case-accent: #aaa0d8; --case-accent-deep: #655b91; --case-tint: #f1eff9; }
.unified-case-study .case-hero {
  display: grid; grid-template-columns: minmax(0, 1fr) minmax(320px, .9fr); grid-template-rows: auto auto auto auto;
  column-gap: clamp(48px, 7vw, 110px); align-items: center; min-height: 660px; padding: 96px 12vw;
  border-bottom: 1px solid color-mix(in srgb, var(--case-accent) 24%, var(--line)); background: #fff;
}
.unified-case-study .case-label, .unified-case-study .case-hero h1,
.unified-case-study .case-lede, .unified-case-study .project-links { grid-column: 1; }
.unified-case-study .case-label { align-self: end; margin: 0 0 18px; color: var(--case-accent-deep); font: 500 11px/1.4 var(--font-body); letter-spacing: .1em; text-transform: uppercase; }
.unified-case-study .case-hero h1 { max-width: 680px; margin: 0; font: 500 clamp(64px, 8vw, 112px)/.88 var(--font-display); letter-spacing: -.045em; }
.unified-case-study .case-hero h1 em { color: var(--case-accent-deep); }
.unified-case-study .case-hero h1, .unified-case-study .case-lede { color: var(--ink) !important; }
.unified-case-study .case-lede { max-width: 560px; margin: 30px 0 0; font-size: 20px; line-height: 1.52; }
.unified-case-study .case-visual {
  position: relative; inset: auto; grid-column: 2; grid-row: 1 / 5; align-self: center; width: 100%; height: 330px;
  padding: 36px; transform: none; border-radius: 24px; color: #fff; background: var(--case-dark); box-shadow: 22px 23px 0 var(--case-accent) !important;
}
.unified-case-study .case-visual span { color: color-mix(in srgb, var(--case-accent) 72%, #fff); font-family: var(--font-mono); }
.unified-case-study .case-visual b { margin-top: 76px; font: 500 clamp(27px, 3vw, 38px)/1.05 var(--font-display); }
.unified-case-study .case-visual i { color: var(--case-dark); background: var(--case-accent); }
.unified-case-study .project-links { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 28px; }
.unified-case-study .project-links a { min-height: 44px; padding: 11px 18px; border: 1px solid var(--case-accent-deep) !important; border-radius: 999px; color: var(--case-accent-deep) !important; background: transparent !important; font: 500 14px/1.3 var(--font-body); text-decoration: none; }
.unified-case-study .project-links a:first-child { color: #fff !important; background: var(--case-accent-deep) !important; }
.unified-case-study .case-content { width: min(100% - (2 * var(--page-gutter)), 920px); max-width: 920px; margin: 0 auto; padding: 110px 0 40px; counter-reset: case-section; }
.unified-case-study .case-content > section { counter-increment: case-section; margin: 0 0 110px; padding: 0 0 110px; border-bottom: 1px solid var(--line); }
.unified-case-study .case-content > section:last-child { margin-bottom: 0; border-bottom: 0; }
.unified-case-study .case-content > section::before { content: counter(case-section, decimal-leading-zero) ' / Case study'; display: block; margin-bottom: 18px; color: var(--case-accent-deep); font: 500 10px/1.4 var(--font-body); letter-spacing: .1em; text-transform: uppercase; }
.unified-case-study .case-content h2 { max-width: 760px; margin: 0 0 28px; font: 500 clamp(42px, 5.5vw, 68px)/.98 var(--font-display); letter-spacing: -.035em; }
.unified-case-study .case-content p, .unified-case-study .case-content li { color: var(--muted); font: 300 18px/1.62 var(--font-body); }
.unified-case-study .case-content strong { color: var(--ink); font-weight: 500; }
.unified-case-study .product-gallery,
.unified-case-study .competitor-gallery {
  margin: 0 0 110px !important;
  padding: 0 0 110px !important;
  border: 0 !important;
  border-bottom: 1px solid var(--line) !important;
  background: transparent !important;
}
.unified-case-study .solution-showcase { margin-inline: 0 !important; }
.unified-case-study .product-gallery h2 { margin-bottom: 64px; }
.unified-case-study .case-next { display: block; margin: 0; padding: 52px 12vw 56px; color: #fff9ef; background: var(--case-dark); }
.unified-case-study .case-next > span { display: block; margin-bottom: 14px; color: var(--case-accent); font: 500 10px/1.4 var(--font-body); letter-spacing: .1em; text-transform: uppercase; }
.unified-case-study .case-next > a { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; max-width: 760px; color: #fff9ef; font: 500 clamp(26px, 3vw, 40px)/1.05 var(--font-display); text-decoration: none; }
.unified-case-study .case-next b { color: var(--case-accent); font-size: .78em; font-weight: 400; }
@media (max-width: 900px) {
  .unified-case-study .case-hero { display: flex; flex-direction: column; align-items: flex-start; min-height: 0; padding: 72px var(--page-gutter) 88px; }
  .unified-case-study .case-visual { width: min(100%, 560px); margin: 44px auto 0; }
  .unified-case-study .project-links { order: 5; }
}
@media (max-width: 760px) {
  .unified-case-study .case-hero { padding-top: 58px; padding-bottom: 68px; }
  .unified-case-study .case-hero h1 { font-size: clamp(52px, 16vw, 72px); }
  .unified-case-study .case-lede { font-size: 18px; }
  .unified-case-study .case-visual { height: 280px; padding: 28px; box-shadow: 14px 15px 0 var(--case-accent) !important; }
  .unified-case-study .case-content { padding-top: 78px; }
  .unified-case-study .case-content > section { margin-bottom: 72px; padding-bottom: 72px; }
  .unified-case-study .case-content h2 { font-size: clamp(38px, 12vw, 50px); }
  .unified-case-study .case-content p, .unified-case-study .case-content li { font-size: 16px; }
  .unified-case-study .case-next { padding: 44px var(--page-gutter) 48px; }
  .unified-case-study .product-gallery,
  .unified-case-study .competitor-gallery { margin-bottom: 72px !important; padding-bottom: 72px !important; }
}
