/* The original continuous ribbon, with no input or scroll ownership. */
.architecture-ribbon { padding:clamp(28px,4vw,64px) 0; overflow:hidden; }
.architecture-ribbon-viewport { overflow:hidden; pointer-events:none; }
.architecture-ribbon-track { display:flex; width:max-content; padding:0; margin:0; list-style:none; animation:architecture-ribbon-loop 52s linear infinite; animation-play-state:paused; }
.architecture-ribbon-slide { flex:0 0 clamp(320px,35vw,500px); width:clamp(320px,35vw,500px); margin:0 14px 0 0; overflow:hidden; border-radius:8px; }
.architecture-ribbon-slide img { display:block; width:100%; height:auto; aspect-ratio:1440 / 967; object-fit:contain; user-select:none; -webkit-user-drag:none; }
@keyframes architecture-ribbon-loop { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.architecture-ribbon.is-static [data-ribbon-copy] { display:none; }
.architecture-ribbon.is-static .architecture-ribbon-track { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:14px; width:auto; margin:0 14px; animation:none; }
.architecture-ribbon.is-static .architecture-ribbon-slide { width:auto; margin:0; }
@media(max-width:700px) {
  .architecture-ribbon { padding:28px 0 40px; }
  .architecture-ribbon-slide { flex-basis:78vw; width:78vw; margin-right:10px; border-radius:6px; }
  .architecture-ribbon.is-static .architecture-ribbon-track { grid-template-columns:1fr; gap:10px; margin:0 10px; }
}
@media(prefers-reduced-motion:reduce) { .architecture-ribbon-track { animation:none; } [data-ribbon-copy] { display:none; } }
