/* Manage 360 Global Footprint | Full stylesheet, replaces all earlier footprint.css rules */
/* Brand only: #060606 / #f7934b / #ffffff / #d9e1ec */
#footprint, #footprint * { box-sizing:border-box; }
#footprint {
  position:relative; isolation:isolate; width:100%; max-width:100%;
  background:#060606; color:#ffffff; overflow:hidden;
  padding:clamp(56px,7vw,100px) 16px clamp(45px,5vw,70px);
  font-family:'Manrope',Arial,sans-serif;
}
#footprint .m360-footprint__inner { width:100%; max-width:1400px; margin:0 auto; }
#footprint .m360-footprint__eyebrow {
  margin:0 0 14px; text-align:center; color:#f7934b;
  font-size:12px; font-weight:800; letter-spacing:.20em; line-height:1.5;
}
#footprint h2 {
  margin:0 0 16px; color:#ffffff; text-align:center;
  font-size:clamp(30px,4.3vw,60px); font-weight:800;
  letter-spacing:-.035em; line-height:1.14;
}
#footprint h2 span { color:#f7934b; }
#footprint .m360-footprint__intro {
  max-width:830px; margin:0 auto; text-align:center;
  color:#d9e1ec; font-size:clamp(14px,1.35vw,17px); line-height:1.75;
}
#footprint .m360-footprint__stage {
  position:relative; display:block; width:100%; overflow:hidden;
  margin:16px auto 0; background:#060606; border:0; border-radius:0;
}
#footprint .m360-footprint__map,
#footprint #m360-footprint-map {
  display:block; position:relative; width:100%; height:auto;
  aspect-ratio:1400 / 650; max-width:none; overflow:visible;
  background:#060606;
}
#footprint .m360-footprint__footnote {
  display:flex; justify-content:space-between; gap:16px;
  margin:0 3.25%; color:#f7934b; opacity:.73;
  font-size:10px; font-weight:700; letter-spacing:.14em; line-height:1.5;
}
#footprint .m360-footprint__outro {
  margin:28px auto 0; text-align:center; max-width:900px;
  color:#d9e1ec; font-size:clamp(14px,1.3vw,17px); font-weight:600; line-height:1.7;
}
/* Routes pulse quietly behind bright travelling signals. */
#footprint .m360-fp-route {
  fill:none; stroke:#f7934b; stroke-width:1.4; stroke-opacity:.22;
  stroke-dasharray:3 9; vector-effect:non-scaling-stroke;
  animation:m360-fp-dash 7s linear infinite;
}
@keyframes m360-fp-dash { to { stroke-dashoffset:-120; } }
#footprint .m360-fp-node-glow { fill:#f7934b; opacity:.12; animation:m360-fp-glow 1.8s ease-in-out infinite; }
#footprint .m360-fp-node-core { fill:#f7934b; stroke:#ffffff; stroke-width:1.1; animation:m360-fp-flash 1.55s ease-in-out infinite; }
#footprint .m360-fp-node-hub { fill:#ffffff; stroke:#f7934b; stroke-width:2.5; animation:m360-fp-hub 1.7s ease-in-out infinite; }
#footprint .m360-fp-node-ring { fill:none; stroke:#f7934b; stroke-width:1.5; opacity:.85; }
#footprint .m360-fp-spark { fill:#ffffff; stroke:#f7934b; stroke-width:1.8; }
@keyframes m360-fp-glow { 0%,100%{opacity:.06;} 50%{opacity:.36;} }
@keyframes m360-fp-flash { 0%,100%{opacity:1;} 45%{opacity:.35;} 55%{opacity:1;} }
@keyframes m360-fp-hub { 0%,100%{opacity:1;} 50%{opacity:.55;} }
@media(max-width:700px) {
  #footprint { padding:56px 12px 46px; }
  #footprint h2 { font-size:clamp(29px,7vw,39px); }
  #footprint .m360-footprint__stage { width:calc(100% + 24px); margin-left:-12px; margin-top:20px; }
  #footprint .m360-footprint__footnote { margin:0 12px; font-size:8px; letter-spacing:.045em; }
  #footprint .m360-footprint__outro { margin-top:22px; }
}
@media(prefers-reduced-motion:reduce) {
  #footprint .m360-fp-route,
  #footprint .m360-fp-node-glow,
  #footprint .m360-fp-node-core,
  #footprint .m360-fp-node-hub { animation:none!important; }
  #footprint .m360-fp-node-glow { opacity:.2; }
}
