/* Shared white with section 2; equal groups make the loop seamless. */
.transition-band { height:auto; min-height:150px; padding:42px 0; background:#FAFBFC; color:var(--navy); }
.transition-band .marquee { display:flex; width:max-content; font-size:clamp(28px,4.2vw,66px); font-weight:500; letter-spacing:-.045em; line-height:1.15; animation:signal-ticker 38s linear infinite; transform:none; }
.ticker-group { display:flex; flex-shrink:0; min-width:100vw; justify-content:space-around; align-items:center; gap:clamp(60px,7vw,140px); padding-right:clamp(60px,7vw,140px); }
.ticker-group span { white-space:nowrap; }
@keyframes signal-ticker { from { transform:translateX(0); } to { transform:translateX(-50%); } }
.principles { background:linear-gradient(to bottom,#FAFBFC 0,var(--cream) 200px); }
.principles.transition-ready .principles-heading,.principles.transition-ready .principle-grid { transition:opacity 1.1s ease,translate 1.3s cubic-bezier(.22,1,.36,1); }
.principles.transition-ready:not(.section-arrived) .principles-heading { opacity:0; translate:0 38px; }
.principles.transition-ready:not(.section-arrived) .principle-grid { opacity:0; translate:0 48px; }
.principles.section-arrived .principle-grid { transition-delay:.15s; }
.motion-off .transition-band .marquee { animation:none; transform:none; width:100%; }
.motion-off .ticker-group { flex-wrap:wrap; justify-content:center; gap:18px 40px; width:100%; padding:0 6vw; }
.motion-off .ticker-group[aria-hidden] { display:none; }
.motion-off .principles.transition-ready .principles-heading,.motion-off .principles.transition-ready .principle-grid { opacity:1; translate:none; }
@media(max-width:700px) { .transition-band { min-height:110px; padding:32px 0; } .principles { background:linear-gradient(to bottom,#FAFBFC,var(--cream) 140px); } }
@media(prefers-reduced-motion:reduce) {
  .transition-band .marquee { animation:none; transform:none; width:100%; }
  .ticker-group { flex-wrap:wrap; justify-content:center; gap:18px 40px; width:100%; padding:0 6vw; }
  .ticker-group[aria-hidden] { display:none; }
  .principles.transition-ready .principles-heading,.principles.transition-ready .principle-grid { opacity:1; translate:none; transition:none; }
}
