/* LeapCode logo wall and strip. Namespaced .lcl-. Driven by assets/js/logos.js. */
.lcl-tile{list-style:none;margin:0;padding:0}
.lcl-logo{display:flex;align-items:center;justify-content:center;width:100%;height:100%;padding:18px 22px;box-sizing:border-box}
.lcl-logo img{display:block;max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;
  filter:grayscale(1) contrast(1.05);opacity:.8;transition:filter .25s ease,opacity .25s ease}
.lcl-tile:hover img,.lcl-tile:focus img,.lcl-tile:focus-within img{filter:none;opacity:1}
.lcl-tile--dark .lcl-logo{background:#1A1A1A}
.lcl-tile--dark img{filter:grayscale(1) brightness(1.6);opacity:.9}
.lcl-tile--dark:hover img,.lcl-tile--dark:focus img,.lcl-tile--dark:focus-within img{filter:none;opacity:1}

/* wall */
.lcl-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:16px;list-style:none;margin:0;padding:0}
.lcl-wall .lcl-tile{display:flex;flex-direction:column;border:1px solid #D9DEDE;border-radius:14px;background:#fff;overflow:hidden;
  transition:border-color .2s ease,box-shadow .2s ease}
.lcl-wall .lcl-tile:hover,.lcl-wall .lcl-tile:focus{border-color:#D44040;box-shadow:0 10px 24px -14px rgba(26,26,26,.35);outline:none}
.lcl-wall .lcl-tile:focus-visible{outline:3px solid #D44040;outline-offset:2px}
.lcl-wall .lcl-logo{height:132px;background:#F7F8F8}
.lcl-wall .lcl-tile--dark .lcl-logo{background:#1A1A1A}
.lcl-name{display:block;padding:12px 16px 14px;font:600 .9rem/1.35 var(--font-heading,"Source Sans 3",system-ui,sans-serif);color:#1A1A1A;text-align:center;border-top:1px solid #D9DEDE}
.lcl-note{display:block;padding:0 16px 14px;font-size:.85rem;color:#5E6D74;text-align:center}
@media (max-width:480px){.lcl-wall{grid-template-columns:repeat(2,1fr);gap:12px}.lcl-wall .lcl-logo{height:104px;padding:14px}}

/* strip: CSS-only marquee */
.lcl-strip{padding:clamp(28px,5vw,48px) 0;background:#fff;border-top:1px solid #D9DEDE;border-bottom:1px solid #D9DEDE}
.lcl-strip__in{max-width:1100px;margin:0 auto;padding:0 20px}
.lcl-strip__label{margin:0 0 16px;font:600 .875rem var(--font-heading,"Source Sans 3",system-ui,sans-serif);letter-spacing:.08em;text-transform:uppercase;color:#5E6D74;text-align:center}
.lcl-strip__rail{overflow:hidden;height:88px;-webkit-mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);mask-image:linear-gradient(90deg,transparent,#000 8%,#000 92%,transparent);touch-action:pan-y}
.lcl-track{display:flex;width:max-content;height:100%;margin:0;padding:0;list-style:none;animation:lcl-scroll 38s linear infinite;will-change:transform}
.lcl-strip__rail:hover .lcl-track,.lcl-strip__rail:focus-within .lcl-track,.lcl-strip__rail:active .lcl-track{animation-play-state:paused}
.lcl-track .lcl-tile{flex:0 0 auto;width:168px;height:88px;margin-right:16px;border-radius:12px;overflow:hidden;background:#F7F8F8}
.lcl-track .lcl-tile--dark{background:#1A1A1A}
.lcl-track .lcl-logo{padding:12px 16px}
@keyframes lcl-scroll{from{transform:translateX(0)}to{transform:translateX(-50%)}}
.lcl-strip__more{margin:16px 0 0;text-align:center}
.lcl-strip__more a{display:inline-flex;align-items:center;min-height:44px;padding:0 6px;font-weight:600;color:var(--c-sol-text,#B83434);text-decoration:underline;text-underline-offset:3px}
.lcl-strip__more a:focus-visible{outline:3px solid #D44040;outline-offset:2px;border-radius:4px}
@media (prefers-reduced-motion:reduce){
  .lcl-strip__rail{height:auto;-webkit-mask-image:none;mask-image:none}
  .lcl-track{animation:none;width:auto;flex-wrap:wrap;justify-content:center;gap:12px}
  .lcl-track .lcl-tile{margin-right:0}
  .lcl-track .lcl-dup{display:none}
}

.lcl-strip__label a{color:inherit;text-decoration:none;border-bottom:1px solid currentColor}
.lcl-strip__label a:hover,.lcl-strip__label a:focus-visible{color:#A12A2A}
.lcl-strip__label a:focus-visible{outline:3px solid #D44040;outline-offset:3px;border-radius:2px}
