/* Contact and legal headers share the exact TOP logo artwork and line treatment. */
:is(.contact-page,.legal-page) .brand { display: block; width: 220px; height: 58px; flex-shrink: 0; letter-spacing: 0; }
:is(.contact-page,.legal-page) .header-outline-mark { display: block; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 0 6px #d9bd7950); }
:is(.contact-page,.legal-page) .header-outline-base circle:first-of-type,:is(.contact-page,.legal-page) .header-outline-flow circle:first-of-type { r: 48px; }
:is(.contact-page,.legal-page) .header-outline-base,:is(.contact-page,.legal-page) .header-outline-flow { fill: none; stroke-linecap: round; stroke-linejoin: round; }
:is(.contact-page,.legal-page) .header-outline-base { stroke: #bca66c; stroke-width: 2.5; opacity: .7; }
:is(.contact-page,.legal-page) .header-outline-flow { stroke: #ffe28a; stroke-width: 3.7; stroke-dasharray: 92 720; filter: drop-shadow(0 0 5px #ffd86d); animation: contactLogoLineTravel 4.2s linear infinite; }
:is(.contact-page,.legal-page).blue-edition .header-outline-base { stroke: #5598be; }
:is(.contact-page,.legal-page).blue-edition .header-outline-flow { stroke: #dce7ee; filter: drop-shadow(0 0 5px #f8fdff) drop-shadow(0 0 13px #aabfcc); }
@keyframes contactLogoLineTravel { to { stroke-dashoffset: -830; } }
@media (max-width: 560px) {
  :is(.contact-page,.legal-page) .brand { width: 146px; height: 44px; }
  :is(.contact-page,.legal-page) .header .wrap { height: 64px; }
  :is(.contact-page,.legal-page) .nav .cta { padding: 10px 12px; font-size: 10px; white-space: nowrap; }
}
@media (prefers-reduced-motion: reduce) {
  :is(.contact-page,.legal-page) .header-outline-flow { animation: none; }
}
