.med-icon { width: 22px; height: 22px; display: block; flex-shrink: 0; }
[data-icon] { display: inline-flex; align-items: center; justify-content: center; vertical-align: middle; flex-shrink: 0; line-height: 1; }
.button [data-icon] .med-icon, .text-link [data-icon] .med-icon { width: 19px; height: 19px; }
.button [data-icon], .text-link [data-icon] { transition: transform .2s ease; }
.button:hover [data-icon], .text-link:hover [data-icon] { transform: translate(2px, -2px); }
.launch-symbol { color: var(--blue); }
.launch-symbol .med-icon { width: 23px; height: 23px; }
.location-icon .med-icon { width: 17px; height: 17px; }
.note-plus { width: 30px; height: 30px; background: #e8eff8; border-radius: 9px; }
.note-plus .med-icon { width: 18px; height: 18px; }
.principle-icon { width: 42px; height: 42px; background: #eaf0f8; border: 1px solid #dbe5f3; border-radius: 13px; color: #345f98; }
.principle-icon .med-icon { width: 25px; height: 25px; }
.profile-icon .med-icon { width: 25px; height: 25px; }
.audience-symbol { width: 59px; height: 59px; border: 1px solid #d9e4f2; border-radius: 18px; background: #edf3fa; color: #416ba2; }
.audience-symbol .med-icon { width: 31px; height: 31px; }
.step-arrow .med-icon { width: 20px; height: 20px; }
.hotspot-icon { width: 27px; height: 29px; color: #b8d4f9; }
.hotspot-icon .med-icon { width: 22px; height: 22px; }
.pod-hotspot[aria-pressed="true"] .hotspot-icon { color: #38659e; }
.eco-node .node-symbol { color: #abcaf0; }
.eco-node .node-symbol .med-icon { width: 21px; height: 21px; }
.ecosystem-map .eco-node[aria-pressed="true"] .node-symbol { color: #365f96; }
.motion-symbol .med-icon, .eco-motion-icon .med-icon { width: 17px; height: 17px; }
.pod-view-controls [data-icon] .med-icon { width: 17px; height: 17px; }
.pod-insight-mark .med-icon { width: 25px; height: 25px; }
.future-tabs button > [data-icon] { color: #758daa; }
.future-tabs button[aria-selected="true"] > [data-icon] { color: #37639b; }
.future-tabs [data-icon] .med-icon { width: 23px; height: 23px; }
.audience-content li::before { content: ''; width: 11px; height: 6px; border-left: 1.7px solid #4b7cc4; border-bottom: 1.7px solid #4b7cc4; transform: rotate(-45deg); margin-top: 7px; flex-shrink: 0; }
.faq-list summary > [data-icon] { width: 30px; height: 30px; border-radius: 50%; background: #e8eef7; color: #3f6496; }
.faq-list summary > [data-icon] .med-icon { width: 18px; height: 18px; }
.footer-top > a:last-child { display: inline-flex; align-items: center; gap: 10px; }
.footer-top > a:last-child .med-icon { width: 17px; height: 17px; }
@media (max-width: 900px) {
  .audience-symbol { width: 47px; height: 47px; border-radius: 14px; }
  .audience-symbol .med-icon { width: 28px; height: 28px; }
}
@media (max-width: 640px) {
  .principle-icon { width: 33px; height: 33px; border-radius: 10px; }
  .principle-icon .med-icon { width: 21px; height: 21px; }
  .hotspot-icon { width: 17px; height: 25px; }
  .hotspot-icon .med-icon { width: 17px; height: 17px; }
  .pod-hotspot { gap: 6px; }
  .pod-hotspot strong { overflow-wrap: anywhere; }
  .eco-node .node-symbol .med-icon { width: 19px; height: 19px; }
  .future-tabs [data-icon] .med-icon { width: 22px; height: 22px; }
  .future-tabs button { min-height: 87px; }
}
@media (prefers-reduced-motion: reduce) { .button [data-icon], .text-link [data-icon] { transition: none; } }
