.cases-head { margin-bottom: clamp(40px, 5vw, 64px); }
.cases-grid { display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); gap: clamp(32px, 5vw, 80px); align-items: start; }
.cases-photo { background: var(--paper-2); overflow: hidden; }
.cases-photo img { width: 100%; height: 100%; object-fit: cover; }
.cases-main { display: grid; grid-template-columns: minmax(0, 3fr) minmax(0, 2fr); gap: clamp(20px, 3vw, 40px); align-items: center; }
.cases-photo--main { aspect-ratio: 4 / 3; }
.cases-tag { font-size: var(--fs-small); color: var(--muted); letter-spacing: 0.1em; }
.cases-main-title { font-size: var(--fs-h3); margin-top: 6px; }
.cases-main-text { margin-top: 16px; font-size: var(--fs-small); color: var(--text); }
.cases-side { border-left: var(--rule-gold); padding-left: clamp(20px, 3vw, 40px); }
.cases-sample { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 20px; align-items: center; padding: 20px 0; border-bottom: var(--rule); }
.cases-sample:first-child { padding-top: 0; }
.cases-photo--sample { aspect-ratio: 4 / 3; }
.cases-sample-label { display: inline-block; font-size: 0.75rem; color: var(--gold-deep); border-bottom: var(--rule-gold); letter-spacing: 0.12em; line-height: 1.6; }
.cases-sample-title { font-size: 1.0625rem; margin-top: 6px; }
.cases-sample-text { margin-top: 6px; font-size: var(--fs-small); color: var(--muted); line-height: 1.8; }
.cases-note { margin-top: 16px; font-size: 0.75rem; color: var(--muted); line-height: 1.8; }
.cases-more { margin-top: clamp(32px, 4vw, 56px); text-align: right; font-size: var(--fs-small); }
.cases-more a { color: var(--gold-deep); border-bottom: 1px solid var(--gold); padding-bottom: 2px; }
@media (max-width: 960px) {
  .cases-grid { grid-template-columns: 1fr; }
  .cases-side { border-left: 0; padding-left: 0; border-top: var(--rule-gold); padding-top: 24px; }
}
@media (max-width: 560px) {
  .cases-main { grid-template-columns: 1fr; }
  .cases-sample { grid-template-columns: 96px minmax(0, 1fr); gap: 16px; }
  .cases-more { text-align: left; }
}
