/* ---------- CASE STUDY LAYOUT ---------- */

.case-hero {
  background: var(--bg-soft);
  padding: 4rem 1.5rem 2rem;
  text-align: center;
}

.case-category {
  font-size: 0.875rem;
  letter-spacing: 0.12em;
  color: var(--muted);
  text-transform: uppercase;
  margin-bottom: 0.5rem;
}

.case-title {
  font-family: 'Libre Baskerville', serif;
  font-size: clamp(2rem, 5vw, 2.7rem);
  line-height: 1.25;
  margin-bottom: 0.5rem;
}

.case-sub {
  color: var(--muted);
  font-size: 1rem;
  margin-bottom: 0.75rem;
}

.case-role {
  font-size: 0.9rem;
  color: var(--accent);
  font-weight: 500;
  margin-bottom: 1.5rem;
}

/* Main content */

.case-disclaimer {
  max-width: 42rem;
  margin: 1.25rem auto 0;
  font-size: 0.8rem;
  line-height: 1.5;
  color: rgba(0, 0, 0, 0.5);
}

.case-content {
  padding-bottom: 3rem;
}

/* Section spacing */

.case-section {
  margin-bottom: 3.25rem;
}

.case-section h2 {
  font-family: 'Libre Baskerville', serif;
  font-size: 1.35rem;
  margin-bottom: 1rem;
}

.case-nav {
  position: sticky;
  top: 0;
  background: linear-gradient(
    to bottom,
    rgba(255,255,255,0.95),
    rgba(255,255,255,0)
  );
  backdrop-filter: blur(2px);
  z-index: 10;
}

.case-back {
  color: rgba(0, 0, 0, 0.55);
  text-decoration: none;
  letter-spacing: 0.01em;
  transition:
    color 200ms ease,
    transform 200ms ease;
}

.case-back:hover {
  color: rgba(0, 0, 0, 0.9);
  transform: translateX(-2px);
}

/* Images */

.case-image {
  text-align: center;
  margin: 2rem 0;
}

.case-image img {
  max-width: 100%;
  border-radius: 8px;
  box-shadow: 0 0 12px rgba(0, 0, 0, 0.05);
}

/* Outcome emphasis */

.case-outcome {
  background: rgba(31, 61, 43, 0.03);
  padding: 1.5rem 1.75rem;
  border-left: 4px solid var(--accent);
}

.case-outcome h2 {
  color: var(--accent);
}

/* Footer override in case study context */

footer.footer {
  margin-top: 4rem;
  font-size: 0.85rem;
  text-align: center;
}