:root {
  --muted: #4f627d;
  --hero-copy: #354f70;
}

body {
  font-family: "IBM Plex Sans", Inter, system-ui, sans-serif !important;
  font-weight: 500;
}

p,
li,
.hero-copy,
.page-lead,
.section-head p,
.service-card p,
.offer-card p,
.industry-card p,
.country-card p,
.detail-card p,
.directory-card p,
.outcome-card p {
  font-weight: 500;
}

h1,
h2,
h3,
h4,
.page-title,
.section-title {
  font-family: "IBM Plex Sans", Inter, system-ui, sans-serif !important;
  font-weight: 800;
}

.cywolf-cursor-aura,
.cywolf-cursor-dot,
.cywolf-magnetic-outline {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 2147483000;
  pointer-events: none;
  opacity: 0;
  will-change: transform, opacity;
}

.cywolf-cursor-aura {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(24, 200, 255, .58);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(11, 95, 255, .12) 0 24%, rgba(24, 200, 255, .07) 25% 48%, transparent 70%);
  box-shadow: 0 0 22px rgba(24, 200, 255, .18);
  transition: opacity 160ms ease, transform 90ms cubic-bezier(.22, 1, .36, 1);
}

.cywolf-cursor-dot {
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: #0b5fff;
  box-shadow: 0 0 8px rgba(24, 200, 255, .72);
  transition: opacity 120ms ease;
}

.cywolf-magnetic-outline {
  border: 1px solid rgba(24, 200, 255, .72);
  border-radius: 14px;
  box-shadow: 0 0 0 3px rgba(11, 95, 255, .06), 0 10px 30px rgba(11, 95, 255, .12);
  transition: left 180ms cubic-bezier(.22, 1, .36, 1), top 180ms cubic-bezier(.22, 1, .36, 1), width 180ms cubic-bezier(.22, 1, .36, 1), height 180ms cubic-bezier(.22, 1, .36, 1), opacity 140ms ease, transform 90ms cubic-bezier(.22, 1, .36, 1);
}

@media (hover: none), (pointer: coarse), (prefers-reduced-motion: reduce) {
  .cywolf-cursor-aura,
  .cywolf-cursor-dot,
  .cywolf-magnetic-outline {
    display: none !important;
  }
}
