/* Shared by index.html and the self-contained hero.svg. No external runtime. */
.ntg-art {
  --ntg-cycle: 3.6s;
  --ntg-muted: .2;
  display: block; width: 100%; height: auto;
  overflow: hidden; background: #fdfcf5;
}
.ntg-art .ntg-motion {
  animation-duration: var(--ntg-cycle);
  animation-iteration-count: infinite;
  animation-timing-function: cubic-bezier(.4,0,.2,1);
  animation-fill-mode: both;
  transform-box: view-box;
}
.ntg-art[data-running="false"] .ntg-motion { animation-play-state: paused; }
.ntg-art .ntg-hand-no { transform-origin: 235px 394px; animation-name: ntg-hand-no; }
.ntg-art .ntg-only-left { transform-origin: 620px 399px; animation-name: ntg-only-left; }
.ntg-art .ntg-only-right { transform-origin: 1016px 399px; animation-name: ntg-only-right; }
.ntg-art .ntg-hand-voice { transform-origin: 1194px 429px; animation-name: ntg-hand-voice; }
.ntg-art .ntg-focus-no { animation-name: ntg-focus-no; }
.ntg-art .ntg-focus-only { animation-name: ntg-focus-only; }
.ntg-art .ntg-focus-voice { animation-name: ntg-focus-voice; }
.ntg-art .ntg-draw-no { animation-name: ntg-draw-no; }
.ntg-art .ntg-draw-only { animation-name: ntg-draw-only; }
.ntg-art .ntg-draw-voice { animation-name: ntg-draw-voice; }
.ntg-art .ntg-wave-a { animation-name: ntg-wave-a; }
.ntg-art .ntg-wave-b { animation-name: ntg-wave-b; }
.ntg-art .ntg-wave-c { animation-name: ntg-wave-c; }
.ntg-art .ntg-contact { transform-origin: 832px 145px; animation-name: ntg-contact; }
.ntg-art .ntg-label {
  font-family: Arial, Helvetica, sans-serif; font-size: 27px; font-weight: 700;
  text-anchor: middle; fill: #08234b; letter-spacing: 1px;
}
.ntg-art .ntg-accent { fill: none; stroke: #ff5a0a; stroke-width: 5;
  stroke-linecap: round; stroke-linejoin: round; }
.ntg-art .ntg-guide { opacity: .15; }
@keyframes ntg-hand-no {
  0%, 7% { opacity: var(--ntg-muted); transform: translate(18px,-3px) rotate(5deg); }
  11% { opacity: 1; transform: translate(18px,-3px) rotate(5deg); }
  24%, 27% { opacity: 1; transform: translate(-17px,7px) rotate(-10deg); }
  31% { opacity: var(--ntg-muted); transform: translate(-17px,7px) rotate(-10deg); }
  38%, 100% { opacity: var(--ntg-muted); transform: translate(18px,-3px) rotate(5deg); }
}
@keyframes ntg-only-left {
  0%, 31% { opacity: var(--ntg-muted); transform: translate(-33px,4px) rotate(-3deg); }
  35% { opacity: 1; transform: translate(-33px,4px) rotate(-3deg); }
  46%, 52% { opacity: 1; transform: translate(0,0) rotate(0); }
  57% { opacity: var(--ntg-muted); transform: translate(0,0) rotate(0); }
  65%, 100% { opacity: var(--ntg-muted); transform: translate(-33px,4px) rotate(-3deg); }
}
@keyframes ntg-only-right {
  0%, 31% { opacity: var(--ntg-muted); transform: translate(33px,4px) rotate(3deg); }
  35% { opacity: 1; transform: translate(33px,4px) rotate(3deg); }
  46%, 52% { opacity: 1; transform: translate(0,0) rotate(0); }
  57% { opacity: var(--ntg-muted); transform: translate(0,0) rotate(0); }
  65%, 100% { opacity: var(--ntg-muted); transform: translate(33px,4px) rotate(3deg); }
}
@keyframes ntg-hand-voice {
  0%, 57% { opacity: var(--ntg-muted); transform: translate(-16px,2px) rotate(-2deg); }
  61% { opacity: 1; transform: translate(-16px,2px) rotate(-2deg); }
  75%, 80% { opacity: 1; transform: translate(14px,-6px) rotate(3deg); }
  85% { opacity: var(--ntg-muted); transform: translate(14px,-6px) rotate(3deg); }
  93%, 100% { opacity: var(--ntg-muted); transform: translate(-16px,2px) rotate(-2deg); }
}
@keyframes ntg-focus-no {
  0%,7%,31%,100% { opacity: var(--ntg-muted); }
  11%,27% { opacity: 1; }
}
@keyframes ntg-focus-only {
  0%,31%,57%,100% { opacity: var(--ntg-muted); }
  35%,52% { opacity: 1; }
}
@keyframes ntg-focus-voice {
  0%,57%,85%,100% { opacity: var(--ntg-muted); }
  61%,80% { opacity: 1; }
}
@keyframes ntg-draw-no {
  0%,7% { stroke-dashoffset: 1; opacity: 0; }
  11% { opacity: 1; stroke-dashoffset: .85; }
  24%,27% { opacity: 1; stroke-dashoffset: 0; }
  33%,100% { opacity: 0; stroke-dashoffset: 0; }
}
@keyframes ntg-draw-only {
  0%,31% { stroke-dashoffset: 1; opacity: 0; }
  35% { opacity: 1; stroke-dashoffset: .85; }
  46%,52% { opacity: 1; stroke-dashoffset: 0; }
  58%,100% { opacity: 0; stroke-dashoffset: 0; }
}
@keyframes ntg-draw-voice {
  0%,57% { stroke-dashoffset: 1; opacity: 0; }
  61% { opacity: 1; stroke-dashoffset: .85; }
  75%,80% { opacity: 1; stroke-dashoffset: 0; }
  86%,100% { opacity: 0; stroke-dashoffset: 0; }
}
@keyframes ntg-wave-a { 0%,60%,85%,100% { opacity: .17; } 66%,77% { opacity: 1; } }
@keyframes ntg-wave-b { 0%,63%,87%,100% { opacity: .17; } 69%,79% { opacity: 1; } }
@keyframes ntg-wave-c { 0%,66%,89%,100% { opacity: .17; } 72%,81% { opacity: 1; } }
@keyframes ntg-contact {
  0%,43%,59%,100% { opacity: 0; transform: scale(.7); }
  48% { opacity: .85; transform: scale(1); }
  54% { opacity: 0; transform: scale(1.5); }
}
/* Static, high-contrast composition when nonessential motion is disabled. */
@media (prefers-reduced-motion: reduce) {
  .ntg-art .ntg-motion { animation: none !important; opacity: 1 !important; transform: none !important; }
  .ntg-art .ntg-contact { opacity: 0 !important; }
}
.ntg-art[data-static="true"] .ntg-motion {
  animation: none !important; opacity: 1 !important; transform: none !important;
}
.ntg-art[data-static="true"] .ntg-contact { opacity: 0 !important; }

