:root {
  --mrn-orange-50: #fff7ed;
  --mrn-orange-100: #ffedd5;
  --mrn-orange-200: #fed7aa;
  --mrn-orange-300: #fdba74;
  --mrn-orange-400: #fb923c;
  --mrn-orange-500: #f97316;
  --mrn-orange-600: #ea580c;
  --mrn-orange-700: #c2410c;
  --mrn-orange-800: #9a3412;
  --mrn-orange-900: #7c2d12;

  --mrn-navy-50: #eef2ff;
  --mrn-navy-100: #e0e7ff;
  --mrn-navy-200: #c7d2fe;
  --mrn-navy-300: #a5b4fc;
  --mrn-navy-400: #818cf8;
  --mrn-navy-500: #6366f1;
  --mrn-navy-600: #4f46e5;
  --mrn-navy-700: #4338ca;
  --mrn-navy-800: #1e1b4b;
  --mrn-navy-900: #0b1020;

  --mrn-grad-orange: linear-gradient(90deg, var(--mrn-orange-500), var(--mrn-orange-600), var(--mrn-orange-400));
  --mrn-grad-orange-soft: linear-gradient(135deg, rgba(249, 115, 22, 0.18), rgba(234, 88, 12, 0.06));
  --mrn-grad-navy: linear-gradient(135deg, var(--mrn-navy-900), var(--mrn-navy-800));

  --mrn-wave-stop-1: rgba(249, 115, 22, 0.65);
  --mrn-wave-stop-2: rgba(255, 247, 237, 1);

  --mrn-anim-ease: cubic-bezier(0.22, 1, 0.36, 1);
}

/* Global helper: safe media responsiveness */
img,
svg,
video {
  max-width: 100%;
  height: auto;
}

/* Global scroll animations (opt-in via JS) */
.mrn-animate {
  opacity: 0;
  transform: translateY(22px);
  transition: opacity 720ms var(--mrn-anim-ease), transform 720ms var(--mrn-anim-ease);
  will-change: opacity, transform;
}

.mrn-animate.mrn-animate--up {
  transform: translateY(26px);
}

.mrn-animate.mrn-animate--down {
  transform: translateY(-26px);
}

.mrn-animate.mrn-animate--left {
  transform: translateX(-26px);
}

.mrn-animate.mrn-animate--right {
  transform: translateX(26px);
}

.mrn-animate.mrn-animate--zoom {
  transform: scale(0.965);
}

.mrn-animate.mrn-animate--pop {
  transform: translateY(16px) scale(0.985);
}

.mrn-animate.mrn-animate--tilt {
  transform: translateY(20px) rotateX(7deg);
  transform-origin: 50% 100%;
}

.mrn-animate.mrn-animate--slow {
  transition-duration: 980ms;
}

.mrn-animate.mrn-animate--fast {
  transition-duration: 520ms;
}

.mrn-animate.is-inview {
  opacity: 1;
  transform: translate3d(0, 0, 0) scale(1) rotateX(0deg);
}

.mrn-animate.mrn-delay-1 {
  transition-delay: 80ms;
}

.mrn-animate.mrn-delay-2 {
  transition-delay: 140ms;
}

.mrn-animate.mrn-delay-3 {
  transition-delay: 200ms;
}

@media (prefers-reduced-motion: reduce) {
  .mrn-animate {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

/* Mobile-only readability glass panel (opt-in via class) */
@media (max-width: 768px) {
  .mrn-mobile-glass {
    background: rgba(255, 255, 255, 0.92);
    border: 1px solid rgba(226, 232, 240, 0.95);
    border-radius: 22px;
    box-shadow: 0 18px 44px rgba(15, 23, 42, 0.10);
  }

  @supports ((-webkit-backdrop-filter: blur(1px)) or (backdrop-filter: blur(1px))) {
    .mrn-mobile-glass {
      background: rgba(255, 255, 255, 0.84);
      -webkit-backdrop-filter: blur(14px);
      backdrop-filter: blur(14px);
    }
  }

  .mrn-mobile-glass--pad {
    padding: 18px 14px;
  }
}
