/* AffiliateHunk mobile performance and overflow corrections.
   Loaded after the shared design system so these rules only refine compact viewports. */
@media (max-width: 800px) {
  html {
    scroll-behavior: auto;
    -webkit-overflow-scrolling: touch;
  }

  body {
    width: 100%;
    min-width: 0;
    overflow-x: clip;
    overscroll-behavior-y: auto;
  }

  .site-header,
  .header {
    -webkit-backdrop-filter: none;
    backdrop-filter: none;
  }

  .home-visual-glow {
    filter: none;
    opacity: .12;
  }

    .academy-art-orbit,
  .academy-art-core,
  .academy-art-node {
    animation: none !important;
  }

  .home-audience-card:hover,
  .feature-card:hover,
  .link-card:hover,
  .button:hover {
    transform: none;
  }

  .primary-nav {
    -webkit-overflow-scrolling: touch;
    overscroll-behavior: contain;
    touch-action: pan-y;
  }

  .footer-navigation > *,
  .footer-brand,
  .footer-col,
  .footer-newsletter,
  .footer-subscribe-row {
    min-width: 0;
    max-width: 100%;
  }

  .social-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
  }

  .social-links a {
    white-space: nowrap;
  }

  .footer-subscribe-row {
    display: flex;
    flex-wrap: wrap;
    align-items: stretch;
    gap: 10px;
  }

  .footer-subscribe-row input {
    flex: 1 1 190px;
    width: 100%;
    min-width: 0;
    max-width: 100%;
  }

  .footer-subscribe-row .button {
    flex: 0 1 auto;
    max-width: 100%;
  }

  .home-hero-grid > *,
  .home-audience-grid > *,
  .home-measure-grid > *,
  .home-academy-inner > *,
  .home-faq-grid > * {
    min-width: 0;
  }

  .home-visual,
  .home-visual-wrap,
  .home-network-art {
    max-width: 100%;
  }

  .home-main,
  main,
  .site-footer {
    max-width: 100%;
  }
}

@media (max-width: 560px) {
  .footer-subscribe-row {
    flex-direction: column;
  }

  .footer-subscribe-row input,
  .footer-subscribe-row .button {
    width: 100%;
    flex: 1 1 auto;
  }

  .social-links {
    column-gap: 14px;
    row-gap: 10px;
  }

  .home-visual-glow {
    display: none;
  }

  .home-visual {
    overflow: hidden;
    contain: paint;
  }

  .home-network-art {
    width: 100%;
  }

  .network-links { animation-duration: 32s; }
  .network-pulse-lines { animation-duration: 16s; }
  .network-core-ring { animation-duration: 10s; }
  .network-core-halo { animation-duration: 8s; }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto !important;
  }

  .network-links,
  .network-pulse-lines,
  .network-core-ring,
  .network-core-halo,
  .home-network-art *,
  .academy-art-orbit,
  .academy-art-core,
  .academy-art-node {
    animation: none !important;
    transition: none !important;
  }
}

/* Low-cost favicon-inspired network breathing: no large blur or layout animation. */
@media(max-width:800px) and (prefers-reduced-motion:no-preference){
 .network-core-halo{filter:none!important;animation:network-halo 7s ease-in-out infinite}
 .network-core-ring{animation-duration:14s}
 .network-links{animation-duration:34s}
 .network-pulse-lines{animation-duration:18s}
 .network-core-symbol{transform-origin:320px 245px;animation:network-symbol-breathe 5.5s ease-in-out infinite}
 .network-core-nodes{animation:network-node-breathe 4.2s ease-in-out infinite}
 .home-network-art{width:100%;max-width:100%}
}
@keyframes network-symbol-breathe{0%,100%{opacity:.72}50%{opacity:1}}
@keyframes network-node-breathe{0%,100%{opacity:.68}50%{opacity:1}}
