/* CaseStudyMarquee — ported 1:1, pure CSS keyframe loop, no JS. */
.p3-marquee { position: relative; background: #0a0a0a; border-top: 1px solid rgba(255,255,255,.06); padding: 64px 0; overflow: hidden; }
@media (min-width: 768px) { .p3-marquee { padding: 80px 0; } }
.cm-track { display: flex; width: max-content; animation: cm-scroll 38s linear infinite; }
.cm-row { display: flex; gap: 16px; padding-right: 16px; }
.cm-tile { position: relative; width: 180px; height: 180px; flex-shrink: 0; border-radius: 2px; overflow: hidden; border: 1px solid rgba(255,255,255,.1); }
.cm-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
@keyframes cm-scroll { from { transform: translateX(0); } to { transform: translateX(-50%); } }
@media (prefers-reduced-motion: reduce) { .cm-track { animation: none; } }
@media (max-width: 640px) { .cm-tile { width: 120px; height: 120px; } }

/* ClientLogos */
.p3-logos { position: relative; background: #0a0a0a; border-top: 1px solid rgba(255,255,255,.06); padding: 112px 0; overflow: hidden; }
@media (min-width: 768px) { .p3-logos { padding: 160px 0; } }
.p3-logos-inner { position: relative; max-width: 1800px; margin: 0 auto; padding: 0 24px; width: 100%; }
@media (min-width: 768px) { .p3-logos-inner { padding: 0 40px; } }
.p3-logos-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 48px; }
.p3-logos-label { color: rgba(255,255,255,.3); font-size: .7rem; font-weight: 700; letter-spacing: .2em; text-transform: uppercase; }
.p3-logos-cta {
  display: inline-flex; align-items: center; gap: 8px; font-size: .72rem; font-weight: 700; letter-spacing: .12em;
  text-transform: uppercase; color: #fff; background: #45454a; border-radius: 999px; padding: 12px 24px;
  text-decoration: none; transition: box-shadow .2s, transform .2s;
}
.p3-logos-cta:hover { box-shadow: 0 0 30px rgba(255,255,255,.15); transform: scale(1.03); }
.p3-logos-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; }
@media (min-width: 640px) { .p3-logos-grid { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 1024px) { .p3-logos-grid { grid-template-columns: repeat(5, 1fr); } }
.cl-tile { position: relative; aspect-ratio: 4/3; overflow: hidden; border: 1px solid rgba(255,255,255,.08); transition: border-color .3s ease; }
.cl-tile:hover { border-color: rgba(255,255,255,.2); }
.cl-img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; }
.cl-corner { position: absolute; width: 11px; height: 11px; pointer-events: none; z-index: 1; border-color: rgba(255,255,255,.5); }
.cl-corner-tl { top: -1px; left: -1px; border-top: 1px solid; border-left: 1px solid; }
.cl-corner-tr { top: -1px; right: -1px; border-top: 1px solid; border-right: 1px solid; }
.cl-corner-bl { bottom: -1px; left: -1px; border-bottom: 1px solid; border-left: 1px solid; }
.cl-corner-br { bottom: -1px; right: -1px; border-bottom: 1px solid; border-right: 1px solid; }
