/* Project B homepage: selected business network marquee */
.network-section { background: #fff; overflow: hidden; }
.network-intro { display: grid; grid-template-columns: 1.35fr 1fr; gap: clamp(28px, 7vw, 120px); align-items: end; padding: 55px 0 50px; }
.network-intro h2 { margin: 0; color: var(--primary-color, #0b2240); font-size: clamp(38px, 4.6vw, 72px); line-height: 1.1; letter-spacing: -.055em; }
.network-intro h2 span { color: var(--accent-blue, #0077b6); }
.network-intro p { margin: 0; color: var(--text-muted, #6c757d); font-size: clamp(16px, 1.5vw, 19px); line-height: 1.75; }
.network-marquee { position: relative; width: 100%; overflow: hidden; }
.network-marquee::before, .network-marquee::after { content: ""; position: absolute; z-index: 2; top: 0; bottom: 0; width: min(8vw, 105px); pointer-events: none; }
.network-marquee::before { left: 0; background: linear-gradient(to right, #fff, transparent); }
.network-marquee::after { right: 0; background: linear-gradient(to left, #fff, transparent); }
.network-marquee-track { display: flex; width: max-content; animation: network-marquee-scroll 32s linear infinite; }
.network-marquee-set { display: flex; flex: 0 0 auto; align-items: center; gap: 24px; padding-right: 24px; }
.network-logo-card { display: flex; align-items: center; justify-content: center; width: 205px; height: 132px; padding: 24px; background: #fff; border: 1px solid #e3eaf1; border-radius: 7px; flex-shrink: 0; }
.network-logo-card img { display: block; width: 100%; height: 100%; object-fit: contain; }
.network-logo-card:focus-visible { outline: 3px solid #0077b6; outline-offset: -3px; }
.network-marquee:hover .network-marquee-track, .network-marquee:focus-within .network-marquee-track { animation-play-state: paused; }
.network-note { margin: 25px 0 0; color: var(--text-muted, #6c757d); font-size: 12px; line-height: 1.6; }
@keyframes network-marquee-scroll { to { transform: translateX(-50%); } }
@media (max-width: 767px) {
  .network-intro { grid-template-columns: 1fr; padding: 35px 0 32px; gap: 18px; }
  .network-logo-card { width: 158px; height: 102px; padding: 16px; }
  .network-marquee-set { gap: 14px; padding-right: 14px; }
  .network-marquee-track { animation-duration: 27s; }
  .network-note { margin-top: 20px; }
}
@media (prefers-reduced-motion: reduce) {
  .network-marquee { overflow-x: auto; }
  .network-marquee-track { animation: none; }
  .network-marquee-set[aria-hidden="true"] { display: none; }
}
