/* Contact ribbon: seamless groups, brand accents and staggered icon motion. */
.home-contact-ticker { --hct-gap: 12px; }
html.site-pearl body.public-ui .site-main .home-contact-ticker .hct-shell {
  border: 0 !important;
  box-shadow: none !important;
  border-radius: 18px !important;
  padding: 4px !important;
  overflow: hidden !important;
}
html.site-pearl body.public-ui .site-main .home-dashboard .home-contact-ticker .hct-marquee {
  padding: 4px 0 !important;
  border-radius: 14px;
}
.home-contact-ticker .hct-marquee {
  padding-block: 10px !important;
  mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 24px, #000 calc(100% - 24px), transparent);
}
.home-contact-ticker .hct-track {
  gap: 0 !important;
  padding: 0 !important;
  animation: hctRibbonTravel var(--hct-duration, 48s) linear infinite !important;
}
.hct-group {
  display: flex;
  align-items: center;
  flex: 0 0 auto;
  gap: var(--hct-gap);
  padding-right: var(--hct-gap);
}
.home-contact-ticker .hct-item {
  --hct-accent: #2585ed;
  --hct-rgb: 37, 133, 237;
  isolation: isolate;
  transition: border-color 180ms ease, background-color 180ms ease !important;
}
.home-contact-ticker .accent-cyan { --hct-accent: #0cb8d0; --hct-rgb: 12, 184, 208; }
.home-contact-ticker .accent-pink { --hct-accent: #f05999; --hct-rgb: 240, 89, 153; }
.home-contact-ticker .accent-green { --hct-accent: #18b98a; --hct-rgb: 24, 185, 138; }
.home-contact-ticker .accent-violet { --hct-accent: #9a7af5; --hct-rgb: 154, 122, 245; }
.home-contact-ticker .accent-gold { --hct-accent: #e6a438; --hct-rgb: 230, 164, 56; }
html.site-pearl body.public-ui .site-main .home-dashboard .home-contact-ticker .hct-item {
  min-height: 48px !important;
  height: 48px !important;
  padding-inline: 12px !important;
  border: 1px solid var(--compact-line, #dfe7f2) !important;
  border-radius: 14px !important;
  border-image: none !important;
  background: var(--compact-surface, #fff) !important;
  box-shadow: none !important;
  transform: none !important;
}
.home-contact-ticker .hct-item::before {
  content: none !important;
  display: none !important;
  animation: none !important;
}
.home-contact-ticker .hct-item::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  border-radius: inherit;
  pointer-events: none;
  background: linear-gradient(110deg, transparent 28%, rgba(var(--hct-rgb), .06) 48%, transparent 68%);
  background-size: 250% 100%;
  animation: hctCardSheen 8s ease-in-out var(--hct-delay, 0s) infinite;
}
html.site-pearl body.public-ui .site-main .home-contact-ticker .hct-icon {
  width: 30px !important;
  height: 30px !important;
  flex-basis: 30px !important;
  border-radius: 50% !important;
  box-sizing: border-box;
  overflow: visible !important;
  color: var(--hct-accent) !important;
  border-color: rgba(var(--hct-rgb), .4) !important;
  background: rgba(var(--hct-rgb), .08) !important;
  box-shadow: none !important;
  animation: var(--hct-icon-motion, hctIconFloat) 4.8s ease-in-out var(--hct-delay, 0s) infinite !important;
}
html.site-pearl body.public-ui .site-main .home-contact-ticker .hct-icon-img {
  border-radius: 50% !important;
  object-fit: contain !important;
}
html.site-pearl body.public-ui .site-main .home-contact-ticker .hct-icon::before {
  content: "";
  position: absolute;
  inset: -4px;
  border: 1px solid var(--hct-accent);
  border-radius: 50%;
  opacity: 0;
  pointer-events: none;
  animation: hctIconHalo 4.8s ease-out var(--hct-delay, 0s) infinite !important;
}
html.site-pearl body.public-ui .site-main .home-contact-ticker .hct-icon::after {
  display: block !important;
  content: "";
  position: absolute;
  inset: -4px !important;
  border: 1px solid transparent !important;
  border-top-color: var(--hct-accent) !important;
  border-radius: 50% !important;
  opacity: .65 !important;
  pointer-events: none;
  animation: hctOrbit 6s linear var(--hct-delay, 0s) infinite !important;
}
.home-contact-ticker [data-effect="ring"] { --hct-icon-motion: hctIconRing; }
.home-contact-ticker [data-effect="beat"] { --hct-icon-motion: hctIconBeat; }
.home-contact-ticker [data-effect="fly"] { --hct-icon-motion: hctIconFly; }
.home-contact-ticker [data-effect="mail"] { --hct-icon-motion: hctIconMail; }
.home-contact-ticker [data-effect="shield"] { --hct-icon-motion: hctIconShield; }
.home-contact-ticker [data-effect="chat"] { --hct-icon-motion: hctIconChat; }
.home-contact-ticker .hct-arrow {
  color: var(--hct-accent) !important;
  animation: hctArrowDrift 3.2s ease-in-out var(--hct-delay, 0s) infinite;
}
/* Hover changes one rounded boundary; keyboard focus stays visible inside it. */
@media (hover: hover) {
  html.site-pearl body.public-ui .site-main .home-dashboard .home-contact-ticker .hct-item:hover {
    border-color: rgba(var(--hct-rgb), .45) !important;
    background: color-mix(in srgb, var(--hct-accent) 4%, var(--compact-surface, #fff)) !important;
    transform: none !important;
    outline: none;
    box-shadow: none !important;
  }
}
html.site-pearl body.public-ui .site-main .home-dashboard .home-contact-ticker .hct-item:focus-visible {
  border-color: var(--hct-accent) !important;
  outline: 2px solid var(--hct-accent) !important;
  outline-offset: -3px !important;
  transform: none !important;
  box-shadow: none !important;
}
html.site-pearl body.public-ui .site-main .home-contact-ticker:is(:hover, .is-browsing, .is-paused) .hct-track,
html.site-pearl body.public-ui .site-main .home-contact-ticker:is(:hover, .is-browsing, .is-paused) .hct-item::before,
html.site-pearl body.public-ui .site-main .home-contact-ticker:is(:hover, .is-browsing, .is-paused) .hct-item::after,
html.site-pearl body.public-ui .site-main .home-contact-ticker:is(:hover, .is-browsing, .is-paused) .hct-icon,
html.site-pearl body.public-ui .site-main .home-contact-ticker:is(:hover, .is-browsing, .is-paused) .hct-icon::before,
html.site-pearl body.public-ui .site-main .home-contact-ticker:is(:hover, .is-browsing, .is-paused) .hct-icon::after,
html.site-pearl body.public-ui .site-main .home-contact-ticker:is(:hover, .is-browsing, .is-paused) .hct-arrow {
  animation-play-state: paused !important;
}
/* Keyboard browsing uses the original group and native horizontal scrolling. */
.home-contact-ticker.is-browsing .hct-track { animation: none !important; }
.home-contact-ticker.is-browsing .hct-marquee { overflow-x: auto !important; scrollbar-width: thin; }
html.site-pearl.perf-background body.public-ui .site-main .home-contact-ticker *,
html.site-pearl.perf-background body.public-ui .site-main .home-contact-ticker *::before,
html.site-pearl.perf-background body.public-ui .site-main .home-contact-ticker *::after,
html.site-pearl body.public-ui .site-main .home-contact-ticker .hct-shell.perf-offscreen *,
html.site-pearl body.public-ui .site-main .home-contact-ticker .hct-shell.perf-offscreen *::before,
html.site-pearl body.public-ui .site-main .home-contact-ticker .hct-shell.perf-offscreen *::after {
  animation-play-state: paused !important;
}
@keyframes hctRibbonTravel { to { transform: translateX(-50%); } }
@keyframes hctBorderFlow { to { background-position: 250% 0; } }
@keyframes hctCardSheen {
  0%, 20% { background-position: 120% 0; opacity: 0; }
  35%, 55% { opacity: 1; }
  75%, 100% { background-position: -120% 0; opacity: 0; }
}
@keyframes hctOrbit { to { transform: rotate(360deg); } }
@keyframes hctIconHalo {
  0%, 15% { transform: scale(.9); opacity: 0; }
  25% { opacity: .4; }
  55%, 100% { transform: scale(1.32); opacity: 0; }
}
@keyframes hctIconFloat { 0%, 100% { transform: translateY(1px); } 50% { transform: translateY(-2px); } }
@keyframes hctIconRing {
  0%, 12%, 36%, 100% { transform: rotate(0); }
  16%, 24%, 32% { transform: rotate(12deg); }
  20%, 28% { transform: rotate(-12deg); }
}
@keyframes hctIconBeat {
  0%, 18%, 46%, 100% { transform: scale(1) rotate(0); }
  26% { transform: scale(1.1) rotate(-7deg); }
  36% { transform: scale(.96) rotate(5deg); }
}
@keyframes hctIconFly { 0%, 60%, 100% { transform: translate(0, 0); } 30% { transform: translate(2px, -3px) rotate(-8deg); } }
@keyframes hctIconMail { 0%, 50%, 100% { transform: translateY(0); } 25% { transform: translateY(-3px) rotate(-5deg); } 38% { transform: translateY(1px); } }
@keyframes hctIconShield { 0%, 65%, 100% { transform: scale(1); } 35% { transform: scale(1.09); } }
@keyframes hctIconChat { 0%, 45%, 100% { transform: rotate(0); } 20% { transform: rotate(-9deg); } 32% { transform: rotate(7deg); } }
@keyframes hctArrowDrift { 0%, 65%, 100% { transform: translateX(0); opacity: .6; } 35% { transform: translateX(3px); opacity: 1; } }
@media (max-width: 640px) {
  .home-contact-ticker { --hct-gap: 10px; }
  html.site-pearl body.public-ui .site-main .home-contact-ticker .hct-icon::before { display: none; }
}
@media (prefers-reduced-motion: reduce) {
  html.site-pearl body.public-ui .site-main .home-contact-ticker.home-contact-ticker *,
  html.site-pearl body.public-ui .site-main .home-contact-ticker.home-contact-ticker *::before,
  html.site-pearl body.public-ui .site-main .home-contact-ticker.home-contact-ticker *::after {
    animation: none !important;
    transition: none !important;
  }
  .home-contact-ticker .hct-marquee { overflow-x: auto !important; scrollbar-width: thin; }
  .home-contact-ticker .hct-group[aria-hidden="true"] { display: none; }
}
