.fv4ref-logo-card a.logo-item{color:inherit;text-decoration:none;cursor:pointer}
.fv4ref-logo-card a.logo-item:hover{background:#f5f9fc}
.fv4ref-logo-card a.logo-item:focus-visible{outline:3px solid #075ab6;outline-offset:-3px}
@media(min-width:769px){#voice .case-supplied-grid,.cases-list-page .case-supplied-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}}
.case-supplied-media--logo a{display:flex;align-items:center;justify-content:center;width:100%;height:100%}
.case-hero-photo{margin:0;min-width:0;overflow:hidden;border:1px solid #dbe5ee;border-radius:10px;background:#f4f7fa}
.case-hero-photo img{display:block;width:100%;height:400px;object-fit:cover;object-position:center 28%}
.case-hero-photo figcaption{padding:10px 16px;font-size:13px;line-height:1.6;color:#475569;text-align:center}
.case-article-page .case-article-section h2{padding-left:0;border:0}
@media(max-width:768px){.case-hero-photo img{height:300px}}

/* The existing inline controller must not run the rail before decoding. */
.fv4ref-logo-card .logo-scroll-track:not(.is-logo-ready) {
  animation-play-state: paused !important;
}
.fv4ref-logo-card .logo-image-fallback {
  max-width: 90%;
  font: inherit;
  font-size: 12px;
  line-height: 1.4;
  text-align: center;
}

/* 2026-10-13: one prepared rail, one constant-speed clock, one reveal. */
.fv4ref-logo-card .logo-scroll-track.is-logo-controlled {
  animation: none !important;
}
.r2-logo-js .fv4ref-logo-card .logo-scroll-track {
  opacity: 0;
  transition: opacity 280ms linear;
}
.r2-logo-js .fv4ref-logo-card .logo-scroll-wrapper:not(.is-logo-ready) .logo-scroll-track {
  visibility: hidden;
  pointer-events: none;
}
.r2-logo-js .fv4ref-logo-card .logo-scroll-wrapper.is-logo-ready .logo-scroll-track {
  opacity: 1;
  visibility: visible;
}
.fv4ref-logo-card .logo-scroll-loading {
  display: none;
}
.r2-logo-js .fv4ref-logo-card .logo-scroll-wrapper:not(.is-logo-ready) {
  position: relative;
}
.r2-logo-js .fv4ref-logo-card .logo-scroll-wrapper:not(.is-logo-ready) .logo-scroll-loading {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
}
.fv4ref-logo-card .logo-loading-dots {
  display: flex;
  align-items: center;
  gap: 5px;
}
.fv4ref-logo-card .logo-loading-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #94a3b8;
  opacity: .3;
  animation: r2-logo-loading 1.2s ease-in-out infinite;
}
.fv4ref-logo-card .logo-loading-dot:nth-child(2) { animation-delay: .16s; }
.fv4ref-logo-card .logo-loading-dot:nth-child(3) { animation-delay: .32s; }
.fv4ref-logo-card .logo-loading-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
}
@keyframes r2-logo-loading {
  0%, 80%, 100% { opacity: .3; }
  40% { opacity: 1; }
}
@media (prefers-reduced-motion: reduce) {
  .fv4ref-logo-card .logo-loading-dot { animation: none; opacity: .65; }
}
