/* Shared introductory foundation; deeper case narratives remain flexible. */
.case { padding-top: var(--space-lg); padding-bottom: var(--space-md); }
.case-heading { display: grid; grid-template-columns: 1.1fr 1fr; gap: var(--space-2xl); align-items: end; margin-bottom: var(--space-lg); }
.case-heading h1, .case>h1 { font: clamp(2.8rem, 4.6vw, 4rem)/1.06 var(--serif); letter-spacing: -.04em; margin-top: var(--space-xs); }
.case-deck { font-size: clamp(1.125rem, 1.7vw, 1.375rem); line-height: 1.4; max-width: 36ch; padding-bottom: .2rem; }
.case-foundation { display: grid; grid-template-columns: 1.25fr 1fr; gap: var(--space-2xl); align-items: start; }
.case-evidence { min-width: 0; }
.case-context { border-top: 1px solid var(--rule); padding-top: var(--space-md); }
.case-role { color: var(--blue-strong); font-size: .875rem; font-weight: 500; }
.case-status { font-size: .75rem; line-height: 1.5; color: var(--muted); margin-top: var(--space-xs); }
.case-methods { list-style: none; display: flex; flex-wrap: wrap; gap: var(--space-xs) var(--space-md); padding: 0; margin: var(--space-md) 0 0; color: var(--blue-strong); font-size: .75rem; }
.case-methods li { border-left: 1px solid var(--gold); padding-left: var(--space-xs); }
.case-scope { margin-top: var(--space-lg); }
.case-scope h2 { font: 1.6rem/1.2 var(--serif); margin-bottom: var(--space-sm); }
.case-scope>p { font-size: .9375rem; line-height: 1.6; max-width: 62ch; }
.case-scope .scope-boundary { color: var(--muted); font-size: .8125rem; margin-top: var(--space-md); }
.case-navigation { display: grid; grid-template-columns: minmax(0,1fr) auto minmax(0,1fr); align-items: center; gap: var(--space-lg); border-bottom: 1px solid var(--rule); padding-bottom: var(--space-xs); margin-bottom: var(--space-lg); }
.case-navigation a { display: inline-flex; align-items: center; gap: var(--space-sm); min-height: 44px; width: fit-content; max-width: 100%; text-decoration: none; color: var(--project-ink); }
.case-navigation a small { display: block; color: var(--muted); font: .625rem/1.4 var(--mono); }
.case-navigation a strong { display: block; font-size: .8125rem; font-weight: 500; overflow-wrap: anywhere; }
.case-navigation a:hover strong, .case-navigation a:focus-visible strong { text-decoration: underline; text-underline-offset: .25em; }
.case-next { justify-self: end; text-align: right; }
.case-position { display: flex; align-items: center; gap: var(--space-sm); font: .6875rem/1.5 var(--mono); color: var(--project-ink); }
.case-position strong { font: 500 .75rem/1.5 var(--sans); }
.case>.case-foundation { margin-bottom: var(--space-lg); }
.case-page .site-footer { border-top: 1px solid var(--rule); }
.case--journeycraft .phone-pair { max-width: 380px; }
.case--math-lens .recording-open { margin-top: var(--space-xs); }
@media(max-width: 1024px) {
  .case-heading { gap: var(--space-xl); }
  .case-foundation { grid-template-columns: 1.15fr 1fr; gap: var(--space-xl); }
}
@media(max-width: 768px) {
  .case-heading { grid-template-columns: 1fr; gap: var(--space-md); }
  .case-heading h1 { font-size: 3rem; }
  .case-deck { max-width: 50ch; }
  .case-foundation { grid-template-columns: 1fr 1fr; gap: var(--space-lg); }
  .case-role { font-size: .8125rem; }
  .case-scope>p { font-size: .875rem; }
}
@media(max-width: 600px) {
  .case-navigation { gap: var(--space-sm); margin-bottom: var(--space-md); }
  .case-position strong { display: none; }
  .case-heading h1 { font-size: 2.75rem; overflow-wrap: anywhere; }
  .case-heading { margin-bottom: var(--space-lg); gap: var(--space-sm); }
  .case-deck { font-size: 1.125rem; }
  .case-foundation { grid-template-columns: 1fr; gap: var(--space-lg); }
  .case-scope { margin-top: var(--space-md); }
  .case-scope>p { font-size: .9375rem; }
  .case--journeycraft .phone-pair { max-width: 350px; }
}
