/* ==========================================================================
   LAPTY - Flying Bug Branding Animation System
   Smooth flight, wing fluttering, and precision docking
   ========================================================================== */

/* Bug-A Anatomy within the Logo */
.lapty-bug-a {
  transform-box: fill-box;
  transform-origin: center center;
  cursor: pointer;
  transition: transform 0.3s cubic-bezier(0.34, 1.56, 0.64, 1);
  will-change: transform;
}

/* Hover Lift */
.brand-logo-link:hover .lapty-bug-a {
  filter: drop-shadow(0 0 10px rgba(255, 102, 0, 0.7));
}

/* Wing Fluttering */
.bug-wing-left {
  transform-box: fill-box;
  transform-origin: 80% 20%;
}

.bug-wing-right {
  transform-box: fill-box;
  transform-origin: 20% 20%;
}

/* Dynamic Flying State */
.lapty-bug-a.is-flying {
  animation: bugFlightLoop 2.2s cubic-bezier(0.4, 0, 0.2, 1) forwards;
  filter: drop-shadow(0 0 12px rgba(255, 102, 0, 0.8));
}

.lapty-bug-a.is-flying .bug-wing-left {
  animation: wingFlutterLeft 0.1s ease-in-out infinite alternate;
}

.lapty-bug-a.is-flying .bug-wing-right {
  animation: wingFlutterRight 0.1s ease-in-out infinite alternate;
}

/* High Speed Wing Flutter */
@keyframes wingFlutterLeft {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(-30deg) scaleX(0.85); fill: #FFA040; }
}

@keyframes wingFlutterRight {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(30deg) scaleX(0.85); fill: #FFA040; }
}

/* Precision Flight Loop: Takes off, loops smoothly in the air, and docks right back into LAPTY */
@keyframes bugFlightLoop {
  0% {
    transform: translate(0, 0) scale(1) rotate(0deg);
  }
  20% {
    transform: translate(0, -22px) scale(1.22) rotate(-8deg);
  }
  40% {
    transform: translate(25px, -35px) scale(1.28) rotate(15deg);
  }
  65% {
    transform: translate(-15px, -20px) scale(1.15) rotate(-10deg);
  }
  85% {
    transform: translate(0, -6px) scale(1.05) rotate(2deg);
  }
  100% {
    transform: translate(0, 0) scale(1) rotate(0deg);
  }
}

/* Glowing energy core pulse */
.bug-core-glow {
  animation: corePulse 2s infinite ease-in-out;
}

@keyframes corePulse {
  0%, 100% { opacity: 0.8; transform: scale(1); }
  50% { opacity: 1; transform: scale(1.3); }
}

/* Flight Spark Particle */
.flight-spark {
  position: absolute;
  width: 5px;
  height: 5px;
  background: radial-gradient(circle, #FFA040 0%, #FF5500 80%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 999;
  animation: sparkFade 0.7s ease-out forwards;
}

@keyframes sparkFade {
  0% { transform: scale(1); opacity: 1; }
  100% { transform: scale(0.2) translate(var(--dx), var(--dy)); opacity: 0; }
}

/* ==========================================================================
   LAPTY Feature Grid & Icon Animation System
   ========================================================================== */

/* Background Floating Glow Orbs & Rounded Island Container */
.features-section {
  position: relative;
  overflow: hidden;
  margin: 16px 24px;
  border-radius: 36px;
  border: 1px solid var(--color-slate-200);
  background: linear-gradient(180deg, #FFFFFF 0%, #FFFDF9 50%, #FFFFFF 100%);
  box-shadow: 0 4px 24px -2px rgba(15, 23, 42, 0.03);
}

@media (max-width: 991px) {
  .features-section {
    margin: 12px 16px;
    border-radius: 28px;
  }
}

@media (max-width: 576px) {
  .features-section {
    margin: 8px 10px;
    border-radius: 20px;
  }
}

.features-bg-glow {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(85px);
  z-index: 0;
}

.features-bg-glow.glow-1 {
  top: 5%;
  left: -6%;
  width: 460px;
  height: 460px;
  background: radial-gradient(circle, rgba(254, 215, 170, 0.45) 0%, rgba(254, 215, 170, 0) 70%);
  animation: floatOrbOne 14s ease-in-out infinite alternate;
}

.features-bg-glow.glow-2 {
  bottom: 5%;
  right: -6%;
  width: 500px;
  height: 500px;
  background: radial-gradient(circle, rgba(253, 186, 116, 0.35) 0%, rgba(253, 186, 116, 0) 70%);
  animation: floatOrbTwo 16s ease-in-out infinite alternate;
}

@keyframes floatOrbOne {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(40px, 60px) scale(1.15); }
}

@keyframes floatOrbTwo {
  0% { transform: translate(0, 0) scale(1); }
  100% { transform: translate(-50px, -40px) scale(1.18); }
}

/* Feature Card Container */
.feature-card {
  position: relative;
  background: #FFFFFF;
  border: 1px solid rgba(226, 232, 240, 0.85);
  border-radius: 20px;
  padding: 34px 30px;
  transition: transform 0.4s cubic-bezier(0.16, 1, 0.3, 1), box-shadow 0.4s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.35s ease;
  box-shadow: 0 4px 20px -2px rgba(15, 23, 42, 0.03);
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.feature-card::before {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: linear-gradient(90deg, #F97316 0%, #FBBF24 50%, #EA580C 100%);
  opacity: 0;
  transform: scaleX(0.3);
  transform-origin: left center;
  transition: opacity 0.35s ease, transform 0.4s cubic-bezier(0.16, 1, 0.3, 1);
}

.feature-card:hover {
  transform: translateY(-6px);
  border-color: rgba(251, 146, 60, 0.45);
  box-shadow: 0 20px 42px -12px rgba(249, 115, 22, 0.12), 0 6px 18px -4px rgba(15, 23, 42, 0.04);
}

.feature-card:hover::before {
  opacity: 1;
  transform: scaleX(1);
}

/* Card Header */
.feature-card-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 24px;
}

/* Feature Live Metric Badge */
.feature-metric-badge {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 0.76rem;
  font-weight: 700;
  background: #F8FAFC;
  border: 1px solid #E2E8F0;
  color: #475569;
  letter-spacing: 0.01em;
  transition: all 0.3s ease;
}

.feature-card:hover .feature-metric-badge {
  background: #FFF7ED;
  border-color: #FED7AA;
  color: #C2410C;
  transform: translateY(-1px);
}

.metric-live-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: #F97316;
  box-shadow: 0 0 0 2px rgba(249, 115, 22, 0.25);
  animation: metricDotPulse 2s infinite ease-in-out;
}

.metric-live-dot.metric-green {
  background: #10B981;
  box-shadow: 0 0 0 2px rgba(16, 185, 129, 0.25);
}

.metric-live-dot.metric-blue {
  background: #3B82F6;
  box-shadow: 0 0 0 2px rgba(59, 130, 246, 0.25);
}

.metric-live-dot.metric-purple {
  background: #8B5CF6;
  box-shadow: 0 0 0 2px rgba(139, 92, 246, 0.25);
}

.metric-live-dot.metric-orange {
  background: #EA580C;
  box-shadow: 0 0 0 2px rgba(234, 88, 12, 0.25);
}

.metric-live-dot.metric-cyan {
  background: #06B6D4;
  box-shadow: 0 0 0 2px rgba(6, 182, 212, 0.25);
}

@keyframes metricDotPulse {
  0%, 100% { transform: scale(1); opacity: 1; }
  50% { transform: scale(1.4); opacity: 0.7; }
}

/* ==========================================================================
   ENHANCED ANIMATED ICON BOXES
   ========================================================================== */
.feature-icon-wrapper {
  position: relative;
  width: 58px;
  height: 58px;
  border-radius: 16px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 100%);
  border: 1.5px solid rgba(251, 146, 60, 0.35);
  box-shadow: 0 8px 20px -4px rgba(234, 88, 12, 0.16), inset 0 1px 1px rgba(255, 255, 255, 0.9);
  transition: transform 0.45s cubic-bezier(0.34, 1.56, 0.64, 1), box-shadow 0.4s ease, border-color 0.3s ease;
  margin-bottom: 0;
  cursor: pointer;
}

/* Hover State on Card or Icon */
.feature-card:hover .feature-icon-wrapper {
  transform: scale(1.12) translateY(-3px);
  box-shadow: 0 14px 28px -6px rgba(249, 115, 22, 0.3), 0 0 0 4px rgba(251, 146, 60, 0.16);
  border-color: #F97316;
}

/* Aura Glow Ring */
.icon-pulse-glow {
  position: absolute;
  inset: -4px;
  border-radius: 20px;
  background: radial-gradient(circle, rgba(249, 115, 22, 0.22) 0%, rgba(249, 115, 22, 0) 70%);
  opacity: 0.6;
  pointer-events: none;
  transition: opacity 0.4s ease, inset 0.4s ease;
  animation: auraIdlePulse 3.2s ease-in-out infinite alternate;
  z-index: 0;
}

.feature-card:hover .icon-pulse-glow {
  opacity: 1;
  inset: -7px;
  background: radial-gradient(circle, rgba(249, 115, 22, 0.42) 0%, rgba(249, 115, 22, 0) 75%);
  animation: auraActivePulse 1.6s ease-in-out infinite alternate;
}

@keyframes auraIdlePulse {
  0% { transform: scale(0.96); opacity: 0.4; }
  100% { transform: scale(1.04); opacity: 0.75; }
}

@keyframes auraActivePulse {
  0% { transform: scale(1); opacity: 0.7; }
  100% { transform: scale(1.1); opacity: 1; }
}

/* Ripple Ping Ring */
.icon-ripple-ring {
  position: absolute;
  inset: 0;
  border-radius: 16px;
  border: 1.5px solid #F97316;
  opacity: 0;
  pointer-events: none;
  z-index: 1;
}

.feature-card:hover .icon-ripple-ring {
  animation: ripplePing 1.2s cubic-bezier(0, 0.2, 0.8, 1) infinite;
}

@keyframes ripplePing {
  0% { transform: scale(1); opacity: 0.8; }
  100% { transform: scale(1.4); opacity: 0; }
}

/* Shimmer Sweep */
.feature-icon-wrapper::after {
  content: '';
  position: absolute;
  top: -50%;
  left: -80%;
  width: 50%;
  height: 200%;
  background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.75), transparent);
  transform: rotate(25deg);
  opacity: 0;
  pointer-events: none;
  z-index: 3;
}

.feature-card:hover .feature-icon-wrapper::after {
  opacity: 1;
  animation: iconShimmerPass 0.8s ease-in-out forwards;
}

@keyframes iconShimmerPass {
  0% { left: -80%; opacity: 0; }
  30% { opacity: 0.8; }
  100% { left: 140%; opacity: 0; }
}

/* Base Icon SVG Properties */
.feature-icon-wrapper svg,
.feature-icon-wrapper i {
  width: 26px;
  height: 26px;
  stroke: #EA580C;
  stroke-width: 2.2;
  fill: none;
  position: relative;
  z-index: 2;
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1), stroke 0.3s ease, filter 0.3s ease;
  will-change: transform;
}

/* ==========================================================================
   INDIVIDUAL ICON ANIMATIONS & PALETTES
   ========================================================================== */

/* 1. Zap / Instant Automated Delivery */
.feature-icon-wrapper.icon-zap {
  background: linear-gradient(135deg, #FFF7ED 0%, #FFEDD5 100%);
  border-color: rgba(249, 115, 22, 0.4);
}

.feature-icon-wrapper.icon-zap svg {
  stroke: #EA580C;
  animation: zapIdle 3s ease-in-out infinite;
}

.feature-card:hover .feature-icon-wrapper.icon-zap svg {
  animation: zapAction 0.65s ease-in-out infinite alternate;
  stroke: #F97316;
  filter: drop-shadow(0 0 8px rgba(249, 115, 22, 0.75));
}

@keyframes zapIdle {
  0%, 100% { transform: scale(1) translateY(0); }
  50% { transform: scale(1.05) translateY(-2px); }
}

@keyframes zapAction {
  0% { transform: scale(1) rotate(-8deg); filter: drop-shadow(0 0 4px rgba(249, 115, 22, 0.6)); }
  50% { transform: scale(1.22) rotate(6deg) translateY(-2px); filter: drop-shadow(0 0 12px rgba(255, 102, 0, 0.9)); }
  100% { transform: scale(1.15) rotate(-4deg); filter: drop-shadow(0 0 8px rgba(249, 115, 22, 0.8)); }
}

/* 2. Shield / Pristine 0% Spam IPs */
.feature-icon-wrapper.icon-shield {
  background: linear-gradient(135deg, #ECFDF5 0%, #FEF3C7 100%);
  border-color: rgba(16, 185, 129, 0.35);
}

.feature-icon-wrapper.icon-shield svg {
  stroke: #059669;
  animation: shieldIdle 3.2s ease-in-out infinite;
}

.feature-icon-wrapper.icon-shield .icon-pulse-glow {
  background: radial-gradient(circle, rgba(16, 185, 129, 0.25) 0%, rgba(16, 185, 129, 0) 70%);
}

.feature-icon-wrapper.icon-shield .icon-ripple-ring {
  border-color: #10B981;
}

.feature-card:hover .feature-icon-wrapper.icon-shield svg {
  animation: shieldAction 1.2s ease-in-out infinite;
  stroke: #10B981;
  filter: drop-shadow(0 0 8px rgba(16, 185, 129, 0.75));
}

@keyframes shieldIdle {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.06) translateY(-1px); }
}

@keyframes shieldAction {
  0%, 100% { transform: scale(1) translateY(0); }
  40% { transform: scale(1.22) translateY(-3px); }
  70% { transform: scale(1.12) translateY(-1px); }
}

/* 3. Monitor / Direct Native RDP Access */
.feature-icon-wrapper.icon-monitor {
  background: linear-gradient(135deg, #EFF6FF 0%, #FFEDD5 100%);
  border-color: rgba(59, 130, 246, 0.35);
}

.feature-icon-wrapper.icon-monitor svg {
  stroke: #2563EB;
  animation: monitorFloat 3.5s ease-in-out infinite;
}

.feature-icon-wrapper.icon-monitor .icon-pulse-glow {
  background: radial-gradient(circle, rgba(59, 130, 246, 0.25) 0%, rgba(59, 130, 246, 0) 70%);
}

.feature-icon-wrapper.icon-monitor .icon-ripple-ring {
  border-color: #3B82F6;
}

.feature-card:hover .feature-icon-wrapper.icon-monitor svg {
  animation: monitorAction 1.4s ease-in-out infinite alternate;
  stroke: #3B82F6;
  filter: drop-shadow(0 0 10px rgba(59, 130, 246, 0.8));
}

@keyframes monitorFloat {
  0%, 100% { transform: translateY(0); }
  50% { transform: translateY(-3px); }
}

@keyframes monitorAction {
  0% { transform: translateY(0) scale(1); }
  100% { transform: translateY(-4px) scale(1.2); }
}

/* 4. Hard Drive / Pure Gen4 NVMe Storage */
.feature-icon-wrapper.icon-drive {
  background: linear-gradient(135deg, #F5F3FF 0%, #FFEDD5 100%);
  border-color: rgba(139, 92, 246, 0.35);
}

.feature-icon-wrapper.icon-drive svg {
  stroke: #7C3AED;
  animation: driveIdle 3s ease-in-out infinite;
}

.feature-icon-wrapper.icon-drive .icon-pulse-glow {
  background: radial-gradient(circle, rgba(139, 92, 246, 0.25) 0%, rgba(139, 92, 246, 0) 70%);
}

.feature-icon-wrapper.icon-drive .icon-ripple-ring {
  border-color: #8B5CF6;
}

.feature-card:hover .feature-icon-wrapper.icon-drive svg {
  animation: driveAction 0.5s ease-in-out infinite alternate;
  stroke: #8B5CF6;
  filter: drop-shadow(0 0 8px rgba(139, 92, 246, 0.75));
}

@keyframes driveIdle {
  0%, 100% { transform: scale(1); }
  50% { transform: scale(1.05) translateY(-1px); }
}

@keyframes driveAction {
  0% { transform: scale(1.1) translateY(0); }
  50% { transform: scale(1.22) translateY(-2px); }
  100% { transform: scale(1.15) translateY(1px); }
}

/* 5. Activity / 1+ Tbps Anti-DDoS Mitigation */
.feature-icon-wrapper.icon-activity {
  background: linear-gradient(135deg, #FEF2F2 0%, #FFEDD5 100%);
  border-color: rgba(239, 68, 68, 0.35);
}

.feature-icon-wrapper.icon-activity svg {
  stroke: #DC2626;
  animation: ecgHeartbeat 2.2s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
}

.feature-icon-wrapper.icon-activity .icon-pulse-glow {
  background: radial-gradient(circle, rgba(239, 68, 68, 0.25) 0%, rgba(239, 68, 68, 0) 70%);
}

.feature-icon-wrapper.icon-activity .icon-ripple-ring {
  border-color: #EF4444;
}

.feature-card:hover .feature-icon-wrapper.icon-activity svg {
  animation: ecgFastHeartbeat 0.9s cubic-bezier(0.215, 0.61, 0.355, 1) infinite;
  stroke: #EF4444;
  filter: drop-shadow(0 0 10px rgba(239, 68, 68, 0.8));
}

@keyframes ecgHeartbeat {
  0%, 100% { transform: scale(1); }
  14% { transform: scale(1.22) rotate(-3deg); }
  28% { transform: scale(0.96) rotate(2deg); }
  42% { transform: scale(1.14); }
  56% { transform: scale(1); }
}

@keyframes ecgFastHeartbeat {
  0%, 100% { transform: scale(1.1); }
  14% { transform: scale(1.28) rotate(-4deg); }
  28% { transform: scale(0.95) rotate(3deg); }
  42% { transform: scale(1.2); }
  56% { transform: scale(1.1); }
}

/* 6. Settings / Full Self-Service Control */
.feature-icon-wrapper.icon-settings {
  background: linear-gradient(135deg, #FFFBEB 0%, #FFEDD5 100%);
  border-color: rgba(245, 158, 11, 0.35);
}

.feature-icon-wrapper.icon-settings svg {
  stroke: #D97706;
  animation: gearOscillate 4s ease-in-out infinite;
}

.feature-icon-wrapper.icon-settings .icon-pulse-glow {
  background: radial-gradient(circle, rgba(245, 158, 11, 0.25) 0%, rgba(245, 158, 11, 0) 70%);
}

.feature-icon-wrapper.icon-settings .icon-ripple-ring {
  border-color: #F59E0B;
}

.feature-card:hover .feature-icon-wrapper.icon-settings svg {
  animation: gearSpinSmooth 1.6s cubic-bezier(0.4, 0, 0.2, 1) infinite;
  stroke: #F59E0B;
  filter: drop-shadow(0 0 8px rgba(245, 158, 11, 0.75));
}

@keyframes gearOscillate {
  0%, 100% { transform: rotate(0deg); }
  25% { transform: rotate(18deg); }
  75% { transform: rotate(-18deg); }
}

@keyframes gearSpinSmooth {
  0% { transform: rotate(0deg) scale(1.15); }
  100% { transform: rotate(360deg) scale(1.15); }
}

/* ==========================================================================
   LAPTY - Cyber-Bug HD Solo Loading Indicator (Precision Card-Centered)
   ========================================================================== */
.bug-loading-overlay {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(14px) saturate(190%);
  -webkit-backdrop-filter: blur(14px) saturate(190%);
  border-radius: inherit;
  z-index: 1000;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.3s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.3s ease;
  box-shadow: inset 0 0 35px rgba(255, 102, 0, 0.05);
}

.bug-loading-overlay.is-active {
  opacity: 1;
  visibility: visible;
  pointer-events: all;
}

/* Solo Small HD Bug Loader Container (Centered, Precision Vectors) */
.bug-solo-loader {
  position: relative;
  width: 90px;
  height: 90px;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: scale(0.9);
  transition: transform 0.35s cubic-bezier(0.34, 1.56, 0.64, 1);
  pointer-events: none;
}

.bug-loading-overlay.is-active .bug-solo-loader {
  transform: scale(1);
}

/* HD Outer Cyber Radar Ring */
.solo-bug-ring-outer {
  position: absolute;
  width: 86px;
  height: 86px;
  border-radius: 50%;
  border: 1.5px dashed rgba(255, 102, 0, 0.7);
  box-shadow: 0 0 16px rgba(255, 102, 0, 0.22);
  animation: loaderRingSpin 3.2s linear infinite;
  pointer-events: none;
}

/* HD Inner Micro-Dot Cyber Ring */
.solo-bug-ring-inner {
  position: absolute;
  width: 70px;
  height: 70px;
  border-radius: 50%;
  border: 1.2px dotted rgba(255, 160, 50, 0.55);
  animation: loaderRingSpinReverse 5.2s linear infinite;
  pointer-events: none;
}

/* HD Radial Glowing Fusion Aura */
.solo-bug-aura {
  position: absolute;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(255, 102, 0, 0.38) 0%, rgba(255, 136, 0, 0.12) 55%, transparent 75%);
  animation: loaderAuraPulse 1.6s ease-in-out infinite alternate;
  pointer-events: none;
}

/* Button Loading State */
.btn-bug-loading {
  position: relative;
  pointer-events: none;
  opacity: 0.88;
}

/* Graphic Area & Rings */
.bug-loader-graphic {
  position: relative;
  width: 150px;
  height: 150px;
  margin: 0 auto 16px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.loader-orbital-ring {
  position: absolute;
  border-radius: 50%;
  pointer-events: none;
}

.loader-orbital-ring.ring-1 {
  width: 130px;
  height: 130px;
  border: 1.5px dashed rgba(255, 102, 0, 0.45);
  animation: loaderRingSpin 3.5s linear infinite;
}

.loader-orbital-ring.ring-2 {
  width: 150px;
  height: 150px;
  border: 1px dashed rgba(255, 165, 0, 0.3);
  animation: loaderRingSpinReverse 5.5s linear infinite;
}

.loader-pulse-glow {
  position: absolute;
  width: 90px;
  height: 90px;
  background: radial-gradient(circle, rgba(255, 102, 0, 0.25) 0%, transparent 70%);
  border-radius: 50%;
  animation: loaderAuraPulse 2s ease-in-out infinite alternate;
}

@keyframes loaderRingSpin {
  from { transform: rotate(0deg); }
  to { transform: rotate(360deg); }
}

@keyframes loaderRingSpinReverse {
  from { transform: rotate(360deg); }
  to { transform: rotate(0deg); }
}

@keyframes loaderAuraPulse {
  0% { transform: scale(0.85); opacity: 0.5; }
  100% { transform: scale(1.3); opacity: 0.9; }
}

/* The Animated Bug Group (Stationary, Perfectly Centered - No Hover) */
.loader-bug-wrapper {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  transform: none !important;
}

/* Wings Fluttering */
.loader-wing {
  transform-box: fill-box;
}

.loader-wing-left {
  transform-origin: 85% 20%;
  animation: loaderWingFlutterLeft 0.08s ease-in-out infinite alternate;
}

.loader-wing-right {
  transform-origin: 15% 20%;
  animation: loaderWingFlutterRight 0.08s ease-in-out infinite alternate;
}

@keyframes loaderWingFlutterLeft {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(-26deg) scaleX(0.84); fill: #FFA040; }
}

@keyframes loaderWingFlutterRight {
  0% { transform: rotate(0deg); }
  100% { transform: rotate(26deg) scaleX(0.84); fill: #FFA040; }
}

/* Core Pulsing Glow */
.loader-bug-core {
  transform-box: fill-box;
  transform-origin: 50% 50%;
  animation: loaderCorePulse 0.9s ease-in-out infinite alternate;
}

@keyframes loaderCorePulse {
  0% { transform: scale(0.9); opacity: 0.7; }
  100% { transform: scale(1.4); opacity: 1; filter: drop-shadow(0 0 6px #FF5500); }
}

/* Antennae Micro Twitch */
.loader-antenna-left,
.loader-antenna-right {
  transform-box: fill-box;
}

.loader-antenna-left {
  transform-origin: 85% 95%;
  animation: loaderAntennaTwitch 2.4s ease-in-out infinite;
}

.loader-antenna-right {
  transform-origin: 15% 95%;
  animation: loaderAntennaTwitch 2.4s ease-in-out infinite reverse;
}

@keyframes loaderAntennaTwitch {
  0%, 100% { transform: rotate(0deg); }
  45% { transform: rotate(-4deg); }
  55% { transform: rotate(3deg); }
}

/* Button Small Bug Spinner */
.btn-bug-spinner {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  vertical-align: middle;
}

