    /* Premium Vector Illustrations and Theme System */
    .features-grid {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
      gap: 24px;
      margin-top: 50px;
    }

    .feature-card {
      position: relative;
      padding: 30px 24px 24px;
      border-radius: 20px;
      background: #ffffff;
      border: 1px solid rgba(0, 0, 0, 0.08);
      box-shadow: 0 4px 20px rgba(0, 0, 0, 0.02);
      transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
      display: flex;
      flex-direction: column;
      height: 100%;
      box-sizing: border-box;
    }

    .feature-card:hover {
      transform: translateY(-6px);
      border-color: var(--theme-color);
      box-shadow: 0 12px 30px rgba(0, 0, 0, 0.06), 0 4px 20px rgba(0, 0, 0, 0.03);
    }

    .feature-card .feature-badge {
      z-index: 20;
    }

    .feature-illustration-container {
      width: 100%;
      margin-bottom: 20px;
      border-radius: 12px;
      overflow: hidden;
      box-shadow: inset 0 2px 4px rgba(0, 0, 0, 0.01);
    }

    .feature-illustration {
      position: relative;
      width: 100%;
      height: 150px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      overflow: hidden;
      border-radius: 12px;
      border: 1px solid rgba(0, 0, 0, 0.05);
      background: #fafafa;
    }

    /* Grids & Dots Overlays */
    .illustration-grid-lines {
      position: absolute;
      inset: 0;
      background-image: 
        linear-gradient(to right, rgba(99, 102, 241, 0.06) 1px, transparent 1px),
        linear-gradient(to bottom, rgba(99, 102, 241, 0.06) 1px, transparent 1px);
      background-size: 16px 16px;
      -webkit-mask-image: radial-gradient(ellipse 60% 50% at 50% 50%, #000000 70%, transparent 100%);
      mask-image: radial-gradient(ellipse 60% 50% at 50% 50%, #000000 70%, transparent 100%);
      opacity: 0.6;
      pointer-events: none;
    }

    .illustration-grid-dots {
      position: absolute;
      inset: 0;
      background-image: radial-gradient(var(--dot-color, rgba(99, 102, 241, 0.12)) 1px, transparent 1px);
      background-size: 16px 16px;
      -webkit-mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000000 70%, transparent 100%);
      mask-image: radial-gradient(ellipse 50% 50% at 50% 50%, #000000 70%, transparent 100%);
      opacity: 0.7;
      pointer-events: none;
    }

    /* Theme colors for illustrations */
    .feature-illustration[data-theme="indigo"] {
      background: linear-gradient(135deg, #f5f7ff 0%, #faf5ff 100%);
      border-color: rgba(99, 102, 241, 0.12);
    }
    .feature-illustration[data-theme="amber"] {
      background: linear-gradient(135deg, #fffbeb 0%, #fff7ed 100%);
      border-color: rgba(245, 158, 11, 0.12);
      --dot-color: #fde047;
    }
    .feature-illustration[data-theme="emerald"] {
      background: linear-gradient(135deg, #f0fdf4 0%, #f0fdfa 100%);
      border-color: rgba(16, 185, 129, 0.12);
      --dot-color: #ccfbf1;
    }
    .feature-illustration[data-theme="blue"] {
      background: linear-gradient(135deg, #eff6ff 0%, #f5f7ff 100%);
      border-color: rgba(59, 130, 246, 0.12);
    }
    .feature-illustration[data-theme="violet"] {
      background: linear-gradient(135deg, #faf5ff 0%, #eff6ff 100%);
      border-color: rgba(139, 92, 246, 0.12);
      --dot-color: #ddd6fe;
    }
    .feature-illustration[data-theme="slate"] {
      background: linear-gradient(135deg, #f8fafc 0%, #f4f4f5 100%);
      border-color: rgba(148, 163, 184, 0.12);
      --dot-color: #e4e4e7;
    }
    .feature-illustration[data-theme="rose"] {
      background: linear-gradient(135deg, #fff1f2 0%, #fff5f5 100%);
      border-color: rgba(244, 63, 94, 0.12);
      --dot-color: #ffe4e6;
    }
    .feature-illustration[data-theme="cyan"] {
      background: linear-gradient(135deg, #ecfeff 0%, #eff6ff 100%);
      border-color: rgba(6, 182, 212, 0.12);
      --dot-color: #ecfeff;
    }

    /* Text & progress elements inside SVGs */
    .illustration-label {
      font-family: monospace;
      font-size: 9px;
      color: var(--label-color, #6366f1);
      margin-top: 4px;
      text-transform: uppercase;
      letter-spacing: 0.1em;
      user-select: none;
      z-index: 10;
      font-weight: bold;
    }
    .feature-illustration[data-theme="indigo"] .illustration-label { --label-color: #6366f1; }
    .feature-illustration[data-theme="amber"] .illustration-label { --label-color: #d97706; }
    .feature-illustration[data-theme="emerald"] .illustration-label { --label-color: #059669; }
    .feature-illustration[data-theme="blue"] .illustration-label { --label-color: #2563eb; }
    .feature-illustration[data-theme="violet"] .illustration-label { --label-color: #8b5cf6; }
    .feature-illustration[data-theme="slate"] .illustration-label { --label-color: #64748b; }
    .feature-illustration[data-theme="rose"] .illustration-label { --label-color: #f43f5e; }
    .feature-illustration[data-theme="cyan"] .illustration-label { --label-color: #0891b2; }

    .illustration-progress-bar {
      width: 100px;
      height: 6px;
      background: rgba(99, 102, 241, 0.12);
      border-radius: 9999px;
      overflow: hidden;
      margin-top: 8px;
      position: relative;
      z-index: 10;
    }
    .illustration-progress-fill {
      height: 100%;
      background: #4f46e5;
      border-radius: 9999px;
      width: 20%;
      animation: fill-slide 5s ease-in-out infinite;
    }

    /* Keyframe Animations */
    @keyframes fill-slide {
      0%, 100% { width: 20%; }
      33% { width: 85%; }
      66% { width: 45%; }
    }

    .animate-rotate-slow {
      transform-origin: 50px 40px;
      animation: rotate-360 15s linear infinite;
    }
    .animate-rotate-slow-rev {
      transform-origin: 50px 50px;
      animation: rotate-360-rev 25s linear infinite;
    }
    .animate-tilt-beam {
      transform-origin: 60px 40px;
      animation: tilt-beam 4s ease-in-out infinite;
    }
    .animate-joystick-wiggle {
      transform-origin: 50px 75px;
      animation: joystick-wiggle 3s ease-in-out infinite;
    }
    .animate-eye-pan {
      animation: eye-pan 5s ease-in-out infinite;
    }
    .animate-reticle-sweep {
      transform-origin: 50px 50px;
      animation: reticle-sweep 4s ease-in-out infinite;
    }
    .animate-ipad-float {
      animation: float-y-2 3s ease-in-out infinite;
    }
    .animate-iphone-float {
      animation: float-y-2-delayed 3s ease-in-out infinite;
    }
    .animate-needle-dance {
      transform-origin: 50px 65px;
      animation: needle-dance 6s ease-in-out infinite;
    }
    .animate-lightning-bounce {
      animation: lightning-bounce 2s ease-in-out infinite;
    }
    .animate-star-spin {
      transform-origin: 68px 14px;
      animation: star-spin 3s ease-in-out infinite;
    }
    .animate-score-dash {
      transform-origin: 50px 50px;
      transform: rotate(-90deg);
      animation: score-dash 5s ease-in-out infinite;
    }
    .animate-compass-spin {
      transform-origin: 50px 50px;
      animation: compass-spin 10s ease-in-out infinite;
    }
    .animate-gear-slow {
      transform-origin: 42px 50px;
      animation: rotate-360-rev 18s linear infinite;
    }
    .animate-gear-fast {
      transform-origin: 70px 64px;
      animation: rotate-360 10s linear infinite;
    }
    .animate-planner-pulse {
      transform-origin: 34px 68px;
      animation: scale-pulse-60 2.5s infinite;
    }
    .animate-monitor-graph {
      animation: draw-graph 4s ease-in-out infinite;
    }

    @keyframes rotate-360 {
      from { transform: rotate(0deg); }
      to { transform: rotate(360deg); }
    }
    @keyframes rotate-360-rev {
      from { transform: rotate(360deg); }
      to { transform: rotate(0deg); }
    }
    @keyframes tilt-beam {
      0%, 100% { transform: rotate(-6deg); }
      50% { transform: rotate(6deg); }
    }
    @keyframes joystick-wiggle {
      0%, 100% { transform: rotate(-8deg) scaleY(1); }
      50% { transform: rotate(8deg) scaleY(0.96); }
    }
    @keyframes eye-pan {
      0%, 100% { transform: translate(-4px, -2px); }
      50% { transform: translate(4px, 2px); }
    }
    @keyframes reticle-sweep {
      0%, 100% { transform: translateX(-40px); }
      50% { transform: translateX(40px); }
    }
    @keyframes float-y-2 {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(-2px); }
    }
    @keyframes float-y-2-delayed {
      0%, 100% { transform: translateY(0); }
      50% { transform: translateY(2px); }
    }
    @keyframes needle-dance {
      0%, 100% { transform: rotate(-45deg); }
      20% { transform: rotate(65deg); }
      40% { transform: rotate(30deg); }
      60% { transform: rotate(-10deg); }
      80% { transform: rotate(50deg); }
    }
    @keyframes lightning-bounce {
      0%, 100% { transform: translate(42px, 10px) scale(1); }
      50% { transform: translate(42px, 8px) scale(1.12); }
    }
    @keyframes star-spin {
      0%, 100% { transform: translate(68px, 14px) scale(1) rotate(0deg); }
      50% { transform: translate(68px, 14px) scale(1.2) rotate(15deg); }
    }
    @keyframes score-dash {
      0%, 100% { stroke-dashoffset: 251.2; }
      50% { stroke-dashoffset: 25.12; }
    }
    @keyframes compass-spin {
      0% { transform: rotate(0deg); }
      20% { transform: rotate(45deg); }
      40% { transform: rotate(-30deg); }
      60% { transform: rotate(180deg); }
      80% { transform: rotate(120deg); }
      100% { transform: rotate(360deg); }
    }
    @keyframes scale-pulse-60 {
      0%, 100% { transform: scale(1); }
      50% { transform: scale(1.15); }
    }
    @keyframes draw-graph {
      0%, 100% { stroke-dasharray: 0 200; }
      50% { stroke-dasharray: 200 0; }
    }

    /* Target vectors strike animations */
    .target-arrow-group {
      transform-origin: 50px 50px;
      animation: arrow-strike 2.2s cubic-bezier(0.1, 0.8, 0.3, 1) infinite;
    }
    @keyframes arrow-strike {
      0% { transform: translate(-20px, -20px) scale(0.6); opacity: 0; }
      10% { opacity: 1; }
      90%, 100% { transform: translate(0px, 0px) scale(1); opacity: 1; }
    }

    .target-ripple {
      transform-origin: 50px 50px;
      animation: target-ripple-pulse 1.1s linear infinite;
    }
    .flag-ripple {
      transform-origin: 45px 78px;
      animation: target-ripple-pulse 1.6s linear infinite;
    }
    @keyframes target-ripple-pulse {
      0% { transform: scale(1); opacity: 1; }
      100% { transform: scale(2.5); opacity: 0; }
    }

    /* Interactive radar nodes custom styling */
    .radar-node {
      cursor: pointer;
    }
    .radar-node:hover .radar-node-ripple {
      r: 8px;
    }

    /* Neural paths styling */
    .feature-card:hover .neural-path-outer {
      stroke: #818cf8 !important;
    }
    .feature-card:hover .neural-path-inner {
      stroke: #c7d2fe !important;
    }
    .feature-card:hover .bulb-glass {
      fill: #fffbeb !important;
    }
