/* Open case narratives. Existing artwork, header and intake remain scoped elsewhere. */
.case-story-question { padding-block: 60px 56px; }
.case-story-question-layout { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, .85fr); gap: clamp(32px, 6vw, 80px); align-items: end; border-top: 1px solid var(--line); padding-top: 40px; }
.case-story-label { font-size: 11px; letter-spacing: .035em; margin-bottom: 22px; color: var(--muted); }
.case-story-question h2, .case-story-use h2 { font-size: clamp(34px, 4.7vw, 58px); font-weight: 500; line-height: 1.08; letter-spacing: -.055em; max-width: 14ch; }
.case-story-lead { font-size: clamp(16px, 1.8vw, 21px); line-height: 1.7; max-width: 36ch; }
.project-detail-info.case-story-build { padding-block: 16px 64px; }
.case-story-build .project-detail-grid { gap: 32px 64px; }
.case-story-number { color: var(--muted); font-size: 11px; font-weight: 400; letter-spacing: .035em; }
.case-story-image { grid-column: 1 / -1; margin-top: 24px; }
.case-story-image > img { width: 100%; height: auto; max-width: 960px; margin-inline: auto; }
.case-story-image figcaption, .case-story-mobile figcaption { font-size: 11px; line-height: 1.6; color: var(--muted); margin-top: 18px; }
.case-story-product > img { max-width: 400px; }
.case-story-product figcaption { text-align: center; }
.case-story-use { padding-block: 0 88px; }
.case-story-use-layout { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); align-items: center; gap: clamp(48px, 8vw, 120px); padding-top: 48px; border-top: 1px solid var(--line); }
.case-story-mobile { width: min(100%, 280px); margin-inline: auto; padding-top: 14px; }
.case-story-mobile > img {
  width: 100%;
  height: auto;
  border: 7px solid #191b1d;
  border-radius: 30px;
  background: #191b1d;
  box-shadow: 0 22px 36px rgb(0 0 0 / 16%), 0 4px 10px rgb(0 0 0 / 10%);
  transform: rotate(4deg);
  transform-origin: 50% 50%;
}
.case-story-mobile figcaption { text-align: center; margin-top: 34px; }
.case-story-use-copy { min-width: 0; max-width: 540px; padding-block: 12px; }
.case-story-use-copy > p:last-child { margin-top: 24px; max-width: 39ch; font-size: 16px; line-height: 1.8; color: var(--muted); }
@media (max-width: 760px) {
  .case-story-question { padding-block: 32px 36px; }
  .case-story-question-layout { grid-template-columns: 1fr; gap: 24px; padding-top: 28px; }
  .case-story-label { margin-bottom: 16px; font-size: 10px; }
  .case-story-question h2, .case-story-use h2 { font-size: clamp(31px, 7.4vw, 45px); max-width: 16ch; }
  .case-story-lead { font-size: 16px; max-width: 43ch; }
  .project-detail-info.case-story-build { padding-block: 0 40px; }
  .case-story-build .project-detail-grid { gap: 28px; }
  .case-story-image { margin-top: 10px; }
  .case-story-product > img { max-width: 300px; }
  .case-story-use { padding-bottom: 56px; }
  .case-story-use-layout { grid-template-columns: 1fr; gap: 38px; padding-top: 32px; }
  .case-story-use-copy { grid-row: 1; padding-block: 0; }
  .case-story-use-copy > p:last-child { font-size: 15px; margin-top: 20px; max-width: 43ch; }
  .case-story-mobile { width: min(70%, 230px); padding-top: 8px; }
  .case-story-mobile > img { border-width: 6px; border-radius: 25px; transform: rotate(3deg); box-shadow: 0 16px 28px rgb(0 0 0 / 15%), 0 3px 8px rgb(0 0 0 / 10%); }
  .case-story-image figcaption, .case-story-mobile figcaption { margin-top: 12px; font-size: 10px; }
  .case-story-mobile figcaption { margin-top: 26px; }
}
@media (prefers-reduced-motion: reduce) {
  .case-story-image, .case-story-mobile { animation: none; transition: none; }
  .case-story-mobile > img { transform: none; }
}
