.cases { padding-block: var(--section-y); overflow: hidden; }
.cases__cab { display: flex; justify-content: space-between; align-items: flex-end; gap: 30px; margin-bottom: 50px; }
.cases__cab h2 { flex: 1; max-width: 760px; }
.setas { display: flex; gap: 10px; }
.setas .icon-btn { width: 54px; height: 54px; }
.icon--flip { transform: scaleX(-1); }
.setas .icon-btn:hover { background: var(--wp-ink); color: var(--wp-white); border-color: var(--wp-ink); }

.trilho {
  --borda: max(var(--gutter), (100vw - var(--container)) / 2);
  display: flex; gap: 22px; overflow-x: auto; padding: 10px var(--borda) 30px;
  scroll-snap-type: x mandatory; scroll-padding-inline: var(--borda); scrollbar-width: none; cursor: grab;
}
.trilho::-webkit-scrollbar { display: none; }
.trilho.arrastando { cursor: grabbing; scroll-snap-type: none; }

.caso {
  position: relative; overflow: hidden; flex: none; width: min(400px, 82vw); display: flex; flex-direction: column;
  padding: 34px; scroll-snap-align: start; user-select: none;
  border-radius: var(--radius-xl); background: color-mix(in srgb, var(--accent) 9%, var(--wp-white)); border: 1px solid color-mix(in srgb, var(--accent) 16%, var(--wp-white));
  transition: transform var(--duration-slow) var(--ease-standard), box-shadow var(--duration-slow) var(--ease-standard);
}
.caso:hover { transform: translateY(-6px); box-shadow: 0 30px 60px -30px rgba(42, 35, 66, 0.4); }
.caso::after { content: ''; position: absolute; right: -60px; bottom: -60px; width: 200px; height: 200px; background: var(--forma) center / contain no-repeat; opacity: 0.16; transition: transform 0.6s, opacity 0.4s; pointer-events: none; }
.caso:hover::after { transform: rotate(-18deg) scale(1.1); opacity: 0.3; }
.caso__logo { display: flex; align-items: center; height: 52px; margin-bottom: 30px; }
.caso__logo img { width: auto; max-width: 170px; max-height: 46px; pointer-events: none; }
.caso__nome { font: var(--fw-bold) 1.35rem/1 var(--font-display); letter-spacing: var(--ls-heading); color: var(--wp-ink); }
.caso__seg { margin-bottom: 8px; color: var(--text-secondary); font-size: 0.85rem; }
.caso h3 { margin-bottom: 14px; font-size: 1.35rem; line-height: 1.2; }
.caso p { flex: 1; font-size: 0.98rem; }
.caso__link { display: inline-flex; align-items: center; gap: 8px; margin-top: 26px; color: var(--accent-text); font-weight: var(--fw-semibold); text-decoration: none; }
.caso__link:hover .icon { transform: translateX(4px); }
.caso__link .icon { transition: transform var(--duration-base) var(--ease-standard); }

@media (max-width: 980px) { .cases__cab { flex-direction: column; align-items: flex-start; } }
