/* ── Force footer dark regardless of page theme ── */
#gn2Foot,
.site-footer {
  background: #0a0704 !important;
  color: #fff;
}

/* ── Keyframes ── */
@keyframes gn2Blob1    { 0%,100%{border-radius:60% 40% 30% 70%/60% 30% 70% 40%;transform:rotate(0deg) scale(1)}   50%{border-radius:30% 60% 70% 40%/50% 60% 30% 60%;transform:rotate(180deg) scale(1.1)} }
@keyframes gn2Blob2    { 0%,100%{border-radius:40% 60% 60% 40%/40% 40% 60% 60%} 50%{border-radius:60% 40% 40% 60%/60% 60% 40% 40%;transform:rotate(-140deg) scale(1.05)} }
@keyframes gn2Blob3    { 0%,100%{border-radius:70% 30% 50% 50%/30% 60% 40% 70%} 50%{border-radius:30% 70% 30% 70%/60% 30% 70% 40%;transform:rotate(90deg)} }
@keyframes gn2Shimmer  { 0%{background-position:200% center} 100%{background-position:-200% center} }
@keyframes gn2PulseRing{ 0%{transform:scale(1);opacity:0.8} 100%{transform:scale(2.2);opacity:0} }
@keyframes gn2Blink    { 0%,100%{opacity:1;transform:scale(1)} 50%{opacity:0.1;transform:scale(0.7)} }
@keyframes gn2Glow     { 0%,100%{text-shadow:0 0 12px rgba(200,135,58,0.7),0 0 32px rgba(200,135,58,0.35),0 0 60px rgba(200,135,58,0.15)} 50%{text-shadow:0 0 24px rgba(232,169,90,1),0 0 70px rgba(200,135,58,0.6),0 0 120px rgba(200,135,58,0.3)} }
@keyframes gn2Spin     { to{transform:rotate(360deg)} }
@keyframes gn2SpinRev  { to{transform:rotate(-360deg)} }
@keyframes gn2Flicker  { 0%,19%,21%,23%,25%,54%,56%,100%{opacity:1} 20%,24%,55%{opacity:0.3} }
@keyframes gn2Scan     { 0%{top:-4px} 100%{top:calc(100% + 4px)} }
@keyframes gn2NeonPulse{ 0%,100%{box-shadow:0 0 6px #c8873a,0 0 18px rgba(200,135,58,0.45),inset 0 0 6px rgba(200,135,58,0.1)} 50%{box-shadow:0 0 16px #e8a95a,0 0 42px rgba(200,135,58,0.75),inset 0 0 12px rgba(200,135,58,0.2)} }
@keyframes gn2Float    { 0%,100%{transform:translateY(0px) rotate(0deg)} 33%{transform:translateY(-12px) rotate(1deg)} 66%{transform:translateY(-6px) rotate(-1deg)} }
@keyframes gn2CountUp  { from{opacity:0;transform:translateY(12px)} to{opacity:1;transform:none} }
@keyframes gn2BorderFlow { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
@keyframes gn2Ripple   { 0%{transform:scale(0);opacity:0.6} 100%{transform:scale(4);opacity:0} }
@keyframes gn2FadeSlide{ 0%{opacity:0;transform:translateX(-12px)} 100%{opacity:1;transform:none} }
@keyframes gn2Marquee  { 0%{transform:translateX(0)} 100%{transform:translateX(-50%)} }
@keyframes gn2StarTwinkle { 0%,100%{opacity:0.2;transform:scale(0.8)} 50%{opacity:1;transform:scale(1.2)} }
@keyframes gn2GradShift { 0%,100%{background-position:0% 50%} 50%{background-position:100% 50%} }
@keyframes gn2Wiggle   { 0%,100%{transform:rotate(0deg)} 25%{transform:rotate(-8deg)} 75%{transform:rotate(8deg)} }
@keyframes gn2MagnetPop { 0%{transform:scale(1)} 50%{transform:scale(1.12)} 100%{transform:scale(1)} }

/* ── Scroll reveal ── */
.gn2-rev { opacity:0; transform:translateY(32px); transition:opacity 0.7s cubic-bezier(0.16,1,0.3,1),transform 0.7s cubic-bezier(0.16,1,0.3,1); }
.gn2-rev.gn2-vis { opacity:1; transform:none; }
.gn2-d1{transition-delay:0.04s} .gn2-d2{transition-delay:0.14s} .gn2-d3{transition-delay:0.24s} .gn2-d4{transition-delay:0.34s} .gn2-d5{transition-delay:0.44s}

/* ── Gold shimmer text ── */
.gn2-shim {
  background:linear-gradient(90deg,#8a5a1a 0%,#c8873a 20%,#f5d28a 40%,#fffde0 50%,#f5d28a 60%,#c8873a 80%,#8a5a1a 100%);
  background-size:300% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text;
  animation:gn2Shimmer 2.8s linear infinite;
}

/* ── Nav link underline ── */
.gn2-lnk {
  position:relative; display:inline-flex; align-items:center; gap:8px;
  transition:color 0.2s, transform 0.25s cubic-bezier(0.34,1.56,0.64,1);
}
.gn2-lnk::after {
  content:''; position:absolute; bottom:-1px; left:0;
  width:0; height:2px;
  background:linear-gradient(90deg,#c8873a,#f5d28a,#c8873a);
  background-size:200% auto;
  animation:gn2Shimmer 2s linear infinite paused;
  transition:width 0.32s ease; border-radius:2px;
}
.gn2-lnk:hover { color:#f5d28a !important; transform:translateX(7px); }
.gn2-lnk:hover::after { width:100%; animation-play-state:running; }

/* ── Magnetic btn base ── */
.gn2-mag {
  position:relative; display:inline-flex; align-items:center; gap:9px;
  transition:transform 0.18s cubic-bezier(0.34,1.56,0.64,1), box-shadow 0.25s ease;
  cursor:pointer; overflow:hidden;
}
.gn2-mag::after {
  content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,transparent,rgba(255,255,255,0.18),transparent);
  transform:translateX(-100%); transition:transform 0.5s ease;
}
.gn2-mag:hover::after { transform:translateX(100%); }

/* ── Ripple container ── */
.gn2-ripple { position:absolute; border-radius:50%; background:rgba(255,255,255,0.35); animation:gn2Ripple 0.65s ease-out forwards; pointer-events:none; transform-origin:center; }

/* ── Orbit rings ── */
.gn2r { position:absolute; border-radius:50%; border:1px solid rgba(200,135,58,0.14); pointer-events:none; }
.gn2r1 { width:120px;height:120px;top:-20px;right:-20px; animation:gn2Spin 10s linear infinite; border-top-color:rgba(200,135,58,0.8); }
.gn2r2 { width:180px;height:180px;top:-50px;right:-50px; animation:gn2SpinRev 17s linear infinite; border-right-color:rgba(232,169,90,0.55); }
.gn2r3 { width:240px;height:240px;top:-80px;right:-80px; animation:gn2Spin 26s linear infinite; border-bottom-color:rgba(200,135,58,0.28); }

/* ── Floating card ── */
.gn2-float { animation:gn2Float 6s ease-in-out infinite; }

/* ── Counter numbers ── */
.gn2-stat-num {
  font-size:28px; font-weight:800; font-family:Arial,sans-serif;
  background:linear-gradient(135deg,#c8873a,#f5d28a,#c8873a);
  background-size:200% auto;
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  animation:gn2GradShift 3s ease infinite;
}
.gn2-stat-label { font-family:Arial,sans-serif; font-size:10px; color:rgba(255,255,255,0.35); letter-spacing:0.14em; text-transform:uppercase; margin-top:2px; }

/* ── Marquee ticker ── */
.gn2-marquee-track { display:flex; width:max-content; animation:gn2Marquee 18s linear infinite; }
.gn2-marquee-item  { white-space:nowrap; padding:0 28px; font-family:Arial,sans-serif; font-size:11px; font-weight:700; letter-spacing:0.1em; color:rgba(200,135,58,0.5); text-transform:uppercase; }
.gn2-marquee-item span { color:rgba(200,135,58,0.25); margin-right:8px; }

/* ── Gradient border card ── */
.gn2-card-wrap {
  padding:1.5px; border-radius:18px;
  background:linear-gradient(135deg,#c8873a,#2e1f14,#f5d28a,#2e1f14,#c8873a);
  background-size:300% 300%;
  animation:gn2GradShift 4s ease infinite;
}

/* ── Tag pill ── */
.gn2-tag {
  display:inline-flex; align-items:center; gap:6px;
  font-family:Arial,sans-serif; font-size:9.5px; font-weight:700;
  letter-spacing:0.14em; text-transform:uppercase;
  color:#f5d28a; background:rgba(200,135,58,0.12);
  border:1px solid rgba(200,135,58,0.3);
  padding:4px 11px; border-radius:999px; width:fit-content;
  position:relative; z-index:1;
}

/* ── Star field dots ── */
.gn2-star {
  position:absolute; border-radius:50%;
  background:#f5d28a; pointer-events:none;
  animation:gn2StarTwinkle var(--dur,3s) ease-in-out infinite;
  animation-delay:var(--del,0s);
}