/* -----------------------------------------
   Global Styles & Variables
----------------------------------------- */
:root {
  --color-emerald-400: #34d399;
  --color-emerald-500: #10b981;
  --color-slate-700: #334155;
  --color-slate-800: #1e293b;
  --color-slate-900: #0f172a;
}

html {
  scroll-behavior: smooth;
}

/* -----------------------------------------
   Utility Classes
----------------------------------------- */

/* Hide scrollbar for Chrome, Safari and Opera */
.hide-scrollbar::-webkit-scrollbar {
  display: none;
}
/* Hide scrollbar for IE, Edge and Firefox */
.hide-scrollbar {
  -ms-overflow-style: none; /* IE and Edge */
  scrollbar-width: none; /* Firefox */
}

/* Arbitrary values if Tailwind CDN fails occasionally */
.blur-\[100px\] {
  filter: blur(100px);
}

/* Custom Ping Animation (MapPin) */
@keyframes custom-ping {
  75%, 100% {
    transform: scale(2);
    opacity: 0;
  }
}
.animate-ping {
  animation: custom-ping 1s cubic-bezier(0, 0, 0.2, 1) infinite;
}

/* -----------------------------------------
   BorderBeamSVG Keyframes
----------------------------------------- */

/* HowItWorks Beam (5s cycle) */
/* head: [0.00, -0.93], near: [0.14, -0.86], far: [0.22, -0.78] */
@keyframes hiwHead {
  0%   { stroke-dashoffset: 0.00; }
  100% { stroke-dashoffset: -0.93; }
}
@keyframes hiwNear {
  0%   { stroke-dashoffset: 0.14; }
  100% { stroke-dashoffset: -0.86; }
}
@keyframes hiwFar {
  0%   { stroke-dashoffset: 0.22; }
  100% { stroke-dashoffset: -0.78; }
}

/* FAQ Beam (8s cycle) */
/* FAQ has startOffsets: head: [0.00, -1.00], near: [0.07, -0.93], far: [0.15, -0.85] */
@keyframes faqHead {
  0%   { stroke-dashoffset: 0.00; }
  100% { stroke-dashoffset: -1.00; }
}
@keyframes faqNear {
  0%   { stroke-dashoffset: 0.07; }
  100% { stroke-dashoffset: -0.93; }
}
@keyframes faqFar {
  0%   { stroke-dashoffset: 0.15; }
  100% { stroke-dashoffset: -0.85; }
}
