  :root {
    --ticker-fg: #0c1222;

    --ticker-height: clamp(140px, 22vh, 240px);
    --row-gap: 14px;
    --icon-gap: 28px;

    --icon-size: 30px;     /* row 1 & 3 */
    --icon-size-lg: 44px;  /* row 2 (bigger) */

    /* Fades */
    --edge-fade: 6%;
    --mask-inner: 19%;
    --mask-feather: 89%;
    --center-nudge: 0px;
  }

  .icon-ticker { position: relative; color: var(--ticker-fg); overflow: visible; }

  .icon-ticker .marquee {
    position: relative;
    height: var(--ticker-height);
    padding-block: 14px;
  }

  .rows-mask { position: relative; z-index: 1; height: 100%; }

  /* Left/right edge fades */
  .rows-mask-edges {
    height: 100%;
    -webkit-mask-image: linear-gradient(90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,1) var(--edge-fade),
      rgba(0,0,0,1) calc(100% - var(--edge-fade)),
      rgba(0,0,0,0) 100%);
            mask-image: linear-gradient(90deg,
      rgba(0,0,0,0) 0%,
      rgba(0,0,0,1) var(--edge-fade),
      rgba(0,0,0,1) calc(100% - var(--edge-fade)),
      rgba(0,0,0,0) 100%);
  }

  /* Circular center fade */
  .rows-mask-center {
    display: grid;
    height: 100%;
    align-content: center;   /* center 3 rows vertically */
    gap: var(--row-gap);
    -webkit-mask-image: radial-gradient(circle at center,
      rgba(0,0,0,0) var(--mask-inner),
      rgba(0,0,0,1) var(--mask-feather));
            mask-image: radial-gradient(circle at center,
      rgba(0,0,0,0) var(--mask-inner),
      rgba(0,0,0,1) var(--mask-feather));
  }

  .track { position: relative; overflow: hidden; }
  .track .inner {
    display: inline-flex;
    gap: var(--icon-gap);
    align-items: center;
    min-width: max-content;
    will-change: transform;
    backface-visibility: hidden;
    transform: translate3d(0,0,0);
  }

  ul.icons { display: inline-flex; gap: var(--icon-gap); padding: 0; margin: 0; list-style: none; flex-shrink: 0; }
  .icon { font-size: var(--icon-size); line-height: 1; opacity: .98; filter: drop-shadow(0 1px 0 rgba(0,0,0,.2)); }
  .icon img, .icon svg { display: block; height: 36px;}

  /* Middle row bigger (no transform scaling → true centering) */
  .track-2 .icon { font-size: var(--icon-size-lg); }

  /* Center badge */
  .center-badge {
    position: absolute; inset: 0;
    display: grid; place-items: center;
    pointer-events: none; z-index: 2;
    transform: translateY(var(--center-nudge));
  }
  .center-badge .label {
    text-align: center;
    font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, "Helvetica Neue", Arial, "Noto Sans", "Apple Color Emoji", "Segoe UI Emoji";
  }
  .center-badge .count { font-size: clamp(28px, 4.4vmin, 46px); font-weight: 800; letter-spacing: .02em; }
  .center-badge .sub   { font-size: clamp(12px, 1.7vmin, 16px); opacity: .8; letter-spacing: .10em; text-transform: uppercase; line-height: 1.15; }

  @media (prefers-reduced-motion: reduce) {
    .track .inner { transform: none !important; }
  }