/* ---------- individual case-study pages: clean single-column layout ---------- */
.case-page{
  padding: clamp(6.5rem, 11vw, 8.5rem) var(--pad) 0;
  max-width: 1160px;
  margin: 0 auto;
}

.back-link{
  display: inline-flex; align-items: center; gap: 0.4em;
  font-family: var(--font-mono); font-size: var(--fs-label); color: var(--stone);
  text-decoration: none; margin-bottom: 2.5rem;
  transition: color 0.2s ease;
}
.back-link:hover{ color: var(--signal); }

.case-page-head{ max-width: 62ch; }
.case-eyebrow{
  display: inline-block; font-family: var(--font-mono); font-size: var(--fs-label);
  color: var(--signal); text-transform: uppercase; letter-spacing: 0.04em;
}
.case-title{
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(2.25rem, 4.4vw, 3.25rem); line-height: 1.1;
  color: var(--ink); margin: 0.6rem 0 0;
}
.case-tagline{
  font-family: var(--font-body); font-weight: 500;
  font-size: var(--fs-lead); color: var(--signal-2);
  margin: 0.75rem 0 0;
}
.case-copy{
  font-size: var(--fs-body); color: var(--stone); line-height: 1.65;
  margin: 1.5rem 0 0; max-width: 60ch;
}

.case-meta-tags{
  display: flex; flex-wrap: wrap; align-items: center;
  gap: 0.5em; margin: 2rem 0 0; padding: 0; list-style: none;
  font-family: var(--font-mono); font-size: var(--fs-small); color: var(--stone);
}
.case-meta-tags li{ display: flex; align-items: center; gap: 0.5em; }
.case-meta-tags li + li::before{ content: '\00b7'; color: var(--line-strong); }

.case-highlight{
  margin-top: 2.5rem; padding-top: 2rem; border-top: 1px solid var(--line);
}
.case-highlight .case-stat{ display: block; }
.case-highlight .case-stat .num{
  font-family: var(--font-display); font-weight: 700;
  font-size: clamp(2rem, 3.6vw, 2.75rem); color: var(--signal); display: block;
}
.case-highlight .case-stat .label{ display: block; margin-top: 0.4rem; font-size: var(--fs-small); color: var(--stone); max-width: 42ch; }
.case-highlight-result{ margin-top: 1rem; font-size: var(--fs-body); color: var(--ink); line-height: 1.6; max-width: 60ch; }

.case-section-heading{
  font-family: var(--font-display); font-weight: 700;
  font-size: var(--fs-h1); color: var(--ink);
  margin: 4.5rem 0 2rem;
}

.case-gallery{
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1.5rem;
}
.gallery-item{ margin: 0; border-radius: 14px; overflow: hidden; background: var(--bg-raised); border: 1px solid var(--line); }
.gallery-item img{ display: block; width: 100%; height: 100%; object-fit: cover; }
@media (max-width: 700px){
  .case-gallery{ grid-template-columns: 1fr; }
}

.case-page-nextprev{
  display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 1rem;
  margin-top: 4.5rem; padding: 2rem 0; border-top: 1px solid var(--line);
  font-family: var(--font-mono); font-size: var(--fs-small);
}
.case-page-nextprev a{ color: var(--stone); text-decoration: none; }
.case-page-nextprev a:hover{ color: var(--signal); }

.case-page-cta{
  text-align: center; padding: 4rem 0; border-top: 1px solid var(--line);
}
.case-page-cta h2{
  font-family: var(--font-display); font-weight: 700;
  font-size: var(--fs-h1); margin: 0 0 1.5rem;
}

.case-page-foot{
  border-top: 1px solid var(--line);
  padding: 2rem 0 3rem;
  display: flex; justify-content: center; align-items: center; flex-wrap: wrap; gap: 1.5rem;
  font-family: var(--font-body); font-size: var(--fs-small); color: var(--stone);
}
.case-page-foot a{ color: var(--ink); text-decoration: none; }
.case-page-foot a:hover{ text-decoration: underline; }
.case-page-foot a.social-link:hover{ text-decoration: none; opacity: 1; }
.case-page-foot span{ color: var(--stone); font-size: 0.875rem; }

@media (max-width: 700px){
  .case-page{ padding-top: 6rem; }
  .case-hero-visual{ margin-bottom: 2.25rem; }
}
