/* Brand logo marquee ("76개 브랜드와 협업했습니다") — replaces assets/image-10.png. Loaded after stats.css. */
.brand-marquee { --bm-blue:#4e6ed1; --bm-line:#e4e8f0; --bm-gap:56px; --bm-duration:60s; background:transparent; border:0; padding:0; margin:28px 0; overflow:hidden; }
.bm-head { display:flex; justify-content:space-between; align-items:baseline; gap:12px; padding-bottom:16px; border-bottom:1px solid var(--bm-line); }
.bm-eyebrow { font-size:13px; letter-spacing:.32em; font-weight:600; color:var(--bm-blue); white-space:nowrap; }
.bm-asof { font-size:13px; color:#9aa3b2; white-space:nowrap; }
.bm-title-row { display:flex; justify-content:space-between; align-items:flex-start; gap:16px 24px; padding:22px 0 8px; }
.bm-copy { min-width:0; }
.chapter .bm-title { margin:0 0 8px; font-size:28px; line-height:1.3; font-weight:800; letter-spacing:-.035em; color:var(--ink); }
.chapter .bm-desc { margin:0; font-size:15px; line-height:1.7; color:#6b7385; }
.bm-stat { flex:none; text-align:right; }
.bm-stat-num { display:block; font-size:34px; line-height:1.1; font-weight:800; letter-spacing:-.04em; color:var(--bm-blue); font-variant-numeric:tabular-nums; }
.bm-stat-label { display:block; margin-top:4px; font-size:13px; color:#6b7385; }
/* Viewport: one row, soft fade at both ends, no scrollbar in motion mode. */
.bm-viewport { position:relative; margin:14px 0 0; padding:18px 0; overflow:hidden; -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 56px, #000 calc(100% - 56px), transparent 100%); mask-image:linear-gradient(90deg, transparent 0, #000 56px, #000 calc(100% - 56px), transparent 100%); }
.bm-viewport:focus-visible { outline:3px solid #edc74a; outline-offset:-3px; }
.bm-rail { display:flex; width:max-content; will-change:transform; animation:bm-scroll var(--bm-duration) linear infinite; transform:translate3d(-50%,0,0); }
.chapter .bm-track { list-style:none; display:flex; align-items:center; gap:var(--bm-gap); margin:0; padding:0 calc(var(--bm-gap) / 2); flex:none; }
.chapter .bm-track li.bm-item { margin:0; padding:0; flex:none; width:var(--w); height:var(--h); display:flex; align-items:center; justify-content:center; }
.chapter .bm-track li.bm-item::marker { content:''; }
.bm-item img { display:block; width:var(--w); height:var(--h); max-width:none; margin:0; border-radius:0; object-fit:contain; }
@keyframes bm-scroll { from { transform:translate3d(-50%,0,0); } to { transform:translate3d(0,0,0); } }
/* Runs continuously; only paused while off-screen (saves work, not visible). */
.brand-marquee.is-offscreen .bm-rail { animation-play-state:paused; }
/* Footer row: note. */
.bm-foot { padding-top:6px; }
.chapter .bm-note { margin:0; font-size:13px; color:#9aa3b2; }
@media (max-width:800px) {
  .brand-marquee { --bm-gap:40px; }
  .bm-title-row { flex-direction:column; gap:12px; padding-top:18px; }
  .bm-stat { text-align:left; }
  .bm-stat-num { font-size:28px; }
  .chapter .bm-title { font-size:22px; }
  .chapter .bm-desc { font-size:14px; }
  .bm-viewport { padding:14px 0; -webkit-mask-image:linear-gradient(90deg, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%); mask-image:linear-gradient(90deg, transparent 0, #000 32px, #000 calc(100% - 32px), transparent 100%); }
  .bm-eyebrow { letter-spacing:.2em; font-size:12px; }
}
/* Reduced motion: no auto-scroll; the single row becomes a horizontally scrollable strip and the clone is dropped. */
@media (prefers-reduced-motion:reduce) {
  .bm-rail { animation:none; transform:none; width:auto; }
  .bm-viewport { overflow-x:auto; overscroll-behavior-x:contain; scrollbar-width:thin; -webkit-mask-image:none; mask-image:none; padding-bottom:12px; }
  .chapter .bm-track.bm-clone { display:none; }
}
