/* ── Inventor-Loco icon system ──────────────────────────────── */

/* Stroke-based icons (nav, UI utility, contact) */
.icon {
  display: inline-block;
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.5;
  stroke-linecap: square;
  stroke-linejoin: miter;
  vertical-align: middle;
  flex-shrink: 0;
}

/* Size variants */
.icon-sm { width: 16px; height: 16px; }
.icon-md { width: 24px; height: 24px; }
.icon-lg { width: 32px; height: 32px; }
.icon-xl { width: 40px; height: 40px; }

/* Fill-based brand glyphs (ORCID, Scholar, GitHub, LinkedIn, Scopus) */
.icon-brand {
  display: inline-block;
  width: 24px;
  height: 24px;
  fill: currentColor;
  stroke: none;
  vertical-align: middle;
  flex-shrink: 0;
}

/* Course icon chips — coloured by --swatch / --swatch-soft */
.course-chip {
  width: 48px;
  height: 48px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--swatch-soft, var(--soft));
  border-radius: 4px;
  color: var(--swatch, var(--ink));
}
.course-chip .icon {
  width: 30px;
  height: 30px;
  stroke-width: 1.6;
}

/* Hero animation containers */
.hero-anim {
  width: 100%;
  display: block;
  aspect-ratio: 16 / 7;
  overflow: hidden;
}
.hero-anim object,
.hero-anim svg {
  width: 100%;
  height: 100%;
  display: block;
}

/* Footer & mini-list link icon layout */
.footer-links a,
.mini-k { display: inline-flex; align-items: center; gap: 0.3rem; }

/* Reduced-motion: freeze all SVG animations */
@media (prefers-reduced-motion: reduce) {
  svg animate,
  svg animateMotion,
  svg animateTransform { display: none; }
}
