/* V4: retain V3 motion, strengthen interaction-card hover contrast. */
.motion-trace { pointer-events:none; }
.nav a { position:relative;transition:color 150ms ease; }
.nav a::after {
  content:"";position:absolute;left:0;right:0;bottom:-6px;height:1px;
  background:currentColor;transform:scaleX(0);transform-origin:left;
  transition:transform 180ms ease;
}
.nav a[aria-current="location"] { color:var(--teal); }
.nav a[aria-current="location"]::after { transform:scaleX(1); }
.brand,.bottom a { transition:color 150ms ease; }
.bottom a:hover { color:var(--teal); }
/* ScrollTrigger may restore inline smooth scrolling after a geometry refresh. */
html[data-motion-mode="reduced"] { scroll-behavior:auto !important; }
@media (hover:hover) and (pointer:fine) {
  .layer,#runtime .core,#interaction .card {
    transition:border-color 180ms ease,background-color 180ms ease;
  }
  .layer h4,#runtime .node-title h3,#interaction .card h3,#interaction .card p {
    transition:color 180ms ease;
  }
  .layer:nth-child(1):hover { border-color:#326957; }
  .layer:nth-child(1):hover h4 { color:#326957; }
  .layer:nth-child(2):hover { border-color:#8a5239; }
  .layer:nth-child(2):hover h4 { color:#8a5239; }
  .layer:nth-child(3):hover { border-color:#685b8d; }
  .layer:nth-child(3):hover h4 { color:#685b8d; }
  #runtime .core:hover { background-color:#1a3027;border-color:#83b59b; }
  #runtime .core:hover h3 { color:var(--teal); }
  #interaction .stage-c .card:hover { background-color:#244638;border-color:#386c58; }
  #interaction .stage-c .card:hover h3 { color:#f4f6f2; }
  #interaction .stage-c .card:hover p { color:#d9e6dc; }
  .knowledge-art .concept-network,
  .knowledge-art .phone-theory,
  .knowledge-art .phone-narrative,
  .knowledge-art rect[fill-opacity] { pointer-events:visiblePainted; }
}
@media (prefers-reduced-motion:reduce) {
  html { scroll-behavior:auto !important; }
  .motion-trace { display:none; }
  .nav a::after { transition:none; }
  [data-reveal-kind] { opacity:1 !important;transform:none !important;clip-path:none !important; }
}
