/* casos.css · Nunn&Sander · Página de cases (/casos/) */

.cs-list { border-top: 1px solid var(--ink-100); }
.cs-item { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); border-bottom: 1px solid var(--ink-100); }
.cs-item--rev .cs-stage { order: 2; }
.cs-stage { position: relative; display: flex; align-items: center; justify-content: center; min-height: 520px; padding: 72px; background: var(--cs-bg); background-image: none; overflow: hidden; text-decoration: none; }
.cs-stage img { width: min(360px, 70%); height: auto; transition: transform 0.6s var(--ease-out); }
.cs-stage:hover img { transform: scale(1.04); }
.cs-stage-n { position: absolute; top: 32px; left: 40px; font-family: var(--font-sans); font-weight: 600; font-size: 120px; line-height: 1; letter-spacing: -0.04em; color: rgba(253, 250, 245, 0.07); }
.cs-stage-cap { position: absolute; bottom: 32px; left: 40px; font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--cs-acc); }
.cs-info { display: flex; flex-direction: column; justify-content: center; align-items: flex-start; padding: 72px 80px; }
.cs-kicker { font-family: var(--font-mono); font-size: 11px; letter-spacing: 0.24em; text-transform: uppercase; color: var(--oxblood-500); margin: 0 0 20px; }
.cs-title { font-family: var(--font-sans); font-weight: 600; font-size: clamp(28px, 3vw, 44px); line-height: 1.08; letter-spacing: -0.02em; text-transform: uppercase; margin: 0 0 20px; max-width: 18ch; text-wrap: balance; }
.cs-title a { color: var(--ink-900); text-decoration: none; background-image: none; }
.cs-title a:hover { color: var(--oxblood-500); }
.cs-resumo { font-size: 17px; line-height: 1.65; color: var(--ink-600); margin: 0 0 28px; max-width: 52ch; }
.cs-meta { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px 32px; margin: 0 0 24px; padding: 20px 0; border-top: 1px solid var(--ink-100); border-bottom: 1px solid var(--ink-100); width: 100%; max-width: 560px; }
.cs-meta dt { font-family: var(--font-mono); font-size: 10px; letter-spacing: 0.22em; text-transform: uppercase; color: var(--ink-500); margin-bottom: 4px; }
.cs-meta dd { margin: 0; font-size: 14px; line-height: 1.45; color: var(--ink-900); }
.cs-destaque { font-family: var(--font-serif); font-style: italic; font-size: 19px; line-height: 1.45; color: var(--ink-700); margin: 0 0 32px; max-width: 44ch; }

@media (max-width: 1024px) {
  .cs-item { grid-template-columns: minmax(0, 1fr); }
  .cs-item--rev .cs-stage { order: 0; }
  .cs-stage { min-height: 360px; padding: 56px 40px; }
  .cs-info { padding: 48px 40px 64px; }
}
@media (max-width: 767px) {
  .cs-stage { min-height: 280px; padding: 48px 16px; }
  .cs-stage-n { font-size: 80px; top: 20px; left: 16px; }
  .cs-stage-cap { left: 16px; bottom: 20px; }
  .cs-info { padding: 40px 16px 56px; }
  .cs-meta { grid-template-columns: minmax(0, 1fr); }
  .cs-resumo { font-size: 16px; }
}
