.topline { padding: 0; }
.topline .topline-inner { display: flex; align-items: center; gap: 24px; }
.ticker { display: flex; align-items: center; gap: 8px; flex: 1; min-width: 0; height: 34px; }
.ticker-viewport { flex: 1; min-width: 0; overflow: hidden; }
.ticker-track { display: flex; width: max-content; animation: ticker-scroll 40s linear infinite; }
.ticker-segment { display: flex; align-items: center; flex: none; }
.ticker-item { display: flex; align-items: center; flex: none; white-space: nowrap; padding-right: 38px; font-size: 12px; font-weight: 600; line-height: 1.3; }
.ticker-item::before { content: '◆'; color: #7ac8f3; font-size: 8px; margin-right: 12px; }
.ticker-viewport:hover .ticker-track,
.ticker.is-paused .ticker-track { animation-play-state: paused; }
.ticker-toggle { flex: none; width: 27px; height: 25px; display: grid; place-items: center; padding: 0; border: 1px solid #6b91b1; border-radius: 4px; background: transparent; color: #eef7ff; font: 700 12px/1 Arial, sans-serif; cursor: pointer; }
.ticker-toggle:hover { background: #214766; }
.ticker-toggle:focus-visible { outline: 2px solid #fff; outline-offset: 2px; }
.topline .topline-contact { flex: none; white-space: nowrap; font-size: 11px; letter-spacing: .02em; color: #fff; }
.ticker-message { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
@keyframes ticker-scroll { to { transform: translateX(-50%); } }
@media (max-width: 780px) {
  .topline .topline-contact { display: none; }
  .topline .topline-inner { gap: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .ticker { height: auto; min-height: 34px; }
  .ticker-viewport, .ticker-toggle { display: none; }
  .ticker-message { position: static; width: auto; height: auto; margin: 0; padding: 5px 0; overflow: visible; clip: auto; white-space: normal; line-height: 1.35; }
}
