/* Homepage-only positioning and decorative traffic on the existing wallpaper. */
.home-page .home-intro .intro-copy h1 {
  font-size:clamp(44px,5.3vw,88px); line-height:1.04; letter-spacing:-.015em;
}
.home-page .home-intro .intro-lead { font-size:20px; line-height:1.65; max-width:620px; }
.home-page .home-network-wallpaper { position:relative; isolation:isolate; }
.home-page .home-network-wallpaper > .wrap { position:relative; z-index:1; }
.home-page .home-network-layer { position:absolute; inset:0; overflow:hidden; pointer-events:none; z-index:0; }
.home-page .home-network-layer > svg { position:absolute; width:1600px; max-width:none; right:0; top:var(--network-phase,0px); }
/* One inherited dash animation per packet; layered strokes make a short light beam. */
.home-page .home-network-packet { animation:home-network-travel var(--duration) linear var(--delay) infinite; animation-direction:var(--direction); }
.home-page .home-network-pulse { fill:none; stroke:#168bff; stroke-width:5; stroke-linecap:round; opacity:.12; }
.home-page .home-network-pulse-trail { stroke:#168bff; stroke-width:2.4; opacity:.38; }
.home-page .home-network-pulse-beam { stroke:#299cff; stroke-width:2.2; stroke-linecap:butt; opacity:.72; }
.home-page .home-network-pulse-core { stroke:#52b5ff; stroke-width:1.8; stroke-linecap:butt; opacity:.95; }
.home-page .home-network-glow { fill:#299cff; opacity:0; animation:home-network-junction var(--duration) linear var(--delay) infinite; }
.home-page .home-network-wallpaper:not(.home-network-running) :is(.home-network-packet,.home-network-glow) { animation-play-state:paused; }
.home-page .home-network-control { position:absolute; z-index:2; right:40px; bottom:4px; min-height:44px; padding:8px 10px; border:0; background:transparent; color:#526168; font:500 11px/1.4 var(--body); cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.home-page .home-network-control:focus-visible { outline:2px solid #a80000; outline-offset:1px; }
@keyframes home-network-travel {
  0% { stroke-dashoffset:0; opacity:0; }
  4% { opacity:1; }
  90% { stroke-dashoffset:var(--travel); opacity:1; }
  96%,100% { stroke-dashoffset:var(--travel); opacity:0; }
}
@keyframes home-network-junction { 0%,5%,100% { opacity:0; } 2% { opacity:.18; } }
@media(min-width:681px) and (max-width:980px) {
  .home-page .home-intro .intro-copy h1 { font-size:60px; }
}
@media(max-width:680px) {
  .home-page .home-intro .intro-copy h1 { font-size:clamp(40px,10.8vw,50px); }
  .home-page .home-intro .intro-lead { font-size:18px; }
  .home-page .home-network-control { right:20px; }
  /* Fewer simultaneous packets on mobile, with all four routes retained. */
  .home-page .home-network-layer [data-packet="2"] { display:none; }
}
@media(prefers-reduced-motion:reduce) {
  .home-page .home-network-layer,.home-page .home-network-control { display:none; }
  .home-page :is(.home-network-packet,.home-network-glow) { animation:none; }
}
@media print, (forced-colors:active) {
  .home-page .home-network-layer,.home-page .home-network-control { display:none; }
}

/* With JavaScript disabled, the viewport supplies a common wallpaper origin. */
.home-page main > :is(.service-finder,.deployment-flow-section,.industries-feature,.coverage-feature){background-attachment:fixed}
