/* ═══════════════════════════════════════════════════════
   DX Solutions — Premium Gold + Navy Light Theme
   ═══════════════════════════════════════════════════════ */

/* ── CSS Custom Properties ── */
:root {
  --gold: #d97706;
  --gold-light: #f59e0b;
  --gold-lighter: #fbbf24;
  --gold-dark: #b45309;
  --gold-glow: rgba(217, 119, 6, 0.15);
  --navy: #0f172a;
  --navy-light: #1e293b;
  --navy-lighter: #334155;
  --text: #0f172a;
  --text-secondary: #475569;
  --text-muted: #94a3b8;
  --text-light: #cbd5e1;
  --border: #e2e8f0;
  --shadow: 0 1px 3px rgba(0,0,0,0.06), 0 1px 2px rgba(0,0,0,0.04);
  --shadow-md: 0 4px 6px rgba(0,0,0,0.05), 0 2px 4px rgba(0,0,0,0.04);
  --shadow-lg: 0 10px 25px rgba(0,0,0,0.06), 0 4px 10px rgba(0,0,0,0.04);
}

/* ── Base ── */
* { margin: 0; padding: 0; box-sizing: border-box; }
body {
  font-family: 'Inter', sans-serif;
  overflow-x: hidden;
  background: #ffffff;
  color: var(--text);
}
::-webkit-scrollbar { width: 8px; }
::-webkit-scrollbar-track { background: #f1f5f9; }
::-webkit-scrollbar-thumb { background: var(--gold); border-radius: 4px; }
::-webkit-scrollbar-thumb:hover { background: var(--gold-dark); }

/* ═══════════════════════════════════════════════════════
   REVEAL ANIMATIONS
   ═══════════════════════════════════════════════════════ */
.reveal,
.reveal-left,
.reveal-right,
.reveal-scale,
.stagger-card {
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal { transform: translateY(40px); opacity: 0; }
.reveal.visible { transform: translateY(0); opacity: 1; }
.reveal-left { transform: translateX(-50px); opacity: 0; }
.reveal-left.visible { transform: translateX(0); opacity: 1; }
.reveal-right { transform: translateX(50px); opacity: 0; }
.reveal-right.visible { transform: translateX(0); opacity: 1; }
.reveal-scale { transform: scale(0.9); opacity: 0; }
.reveal-scale.visible { transform: scale(1); opacity: 1; }
.stagger-card { transform: translateY(30px); opacity: 0; }
.stagger-card.visible { transform: translateY(0); opacity: 1; }
.stagger-card:nth-child(1) { transition-delay: 0ms; }
.stagger-card:nth-child(2) { transition-delay: 60ms; }
.stagger-card:nth-child(3) { transition-delay: 120ms; }
.stagger-card:nth-child(4) { transition-delay: 180ms; }
.stagger-card:nth-child(5) { transition-delay: 240ms; }
.stagger-card:nth-child(6) { transition-delay: 300ms; }
.stagger-card:nth-child(7) { transition-delay: 360ms; }
.stagger-card:nth-child(8) { transition-delay: 420ms; }
.stagger-card:nth-child(9) { transition-delay: 480ms; }
.stagger-card:nth-child(10) { transition-delay: 540ms; }
.stagger-card:nth-child(11) { transition-delay: 600ms; }
.stagger-card:nth-child(12) { transition-delay: 660ms; }
.stagger-card:nth-child(13) { transition-delay: 720ms; }
.stagger-card:nth-child(14) { transition-delay: 780ms; }

/* ═══════════════════════════════════════════════════════
   LIGHT THEME OVERRIDES — via specificity
   ═══════════════════════════════════════════════════════ */

/* Body & global backgrounds */
body.bg-slate-950,
body .bg-slate-950:not(footer):not(#hero) { background: #ffffff; }

/* Section gradient overrides */
body .from-slate-950 { --tw-gradient-from: #f8fafc; }
body .via-slate-900\/50,
body .via-slate-900\/40,
body .via-slate-900\/30 { --tw-gradient-stops: var(--tw-gradient-from), #f1f5f9, var(--tw-gradient-to); }
body .to-slate-950 { --tw-gradient-to: #ffffff; }

/* Card backgrounds - using cascade instead of !important */
:is(#about, #services, #why-choose-us, #projects, #policies, #team, #contact) .bg-white-03,
:is(#about, #services, #why-choose-us, #projects, #policies, #team, #contact) .bg-white\\/5 {
  background: #ffffff;
  box-shadow: var(--shadow);
  border: 1px solid var(--border);
}

/* Blur circles light mode */
:is(#about, #services, #why-choose-us, #projects, #policies, #team, #contact)
  [class*="bg-amber-"][class*="/3"],
:is(#about, #services, #why-choose-us, #projects, #policies, #team, #contact)
  [class*="bg-amber-"][class*="/2"] {
  background: rgba(217, 119, 6, 0.04);
}

/* Tag badges */
[class*="bg-amber-"][class*="/10"] { background: rgba(217, 119, 6, 0.08); }
[class*="border-amber-"][class*="/20"] { border-color: rgba(217, 119, 6, 0.15); }
[class*="hover:border-amber-"][class*="/20"]:hover { border-color: rgba(217, 119, 6, 0.3); }
[class*="hover:bg-white/"][class*="/5"]:hover,
[class*="hover:bg-white/"][class*="/10"]:hover,
[class*="hover:bg-white/"][class*="06"]:hover { background: #fffbeb; }

/* Section alternating backgrounds */
#services { background: linear-gradient(180deg, #ffffff 0%, #f8fafc 50%, #ffffff 100%); }
#why-choose-us { background: linear-gradient(180deg, #f8fafc 0%, #fffbeb 50%, #f8fafc 100%); }
#projects { background: #f8fafc; }
#policies { background: linear-gradient(180deg, #ffffff 0%, #f8fafc 50%, #fffbeb 100%); }
#team { background: linear-gradient(180deg, #fffbeb 0%, #ffffff 50%, #f8fafc 100%); }
#contact { background: linear-gradient(180deg, #f8fafc 0%, #ffffff 50%, #f8fafc 100%); }

/* Gradient decorative backgrounds → transparent */
.bg-gradient-to-b.from-slate-950.via-slate-900\/50.to-slate-950,
.bg-gradient-to-b.from-slate-950.via-slate-900\/40.to-slate-950,
.bg-gradient-to-b.from-slate-950.via-slate-900\/30.to-slate-950 { background: transparent; }

/* ═══════════════════════════════════════════════════════
   TEXT COLOR FIXES — index.html dark-mode classes on light bg
   ═══════════════════════════════════════════════════════ */

/* Convert all text-white to dark text in LIGHT sections (not hero/footer/loader) */
body section:not(#hero):not(footer) .text-white,
body section:not(#hero):not(footer) .text-white\/95,
body section:not(#hero):not(footer) .text-white\/90 { color: #0f172a !important; }
body section:not(#hero):not(footer) .text-white\/80,
body section:not(#hero):not(footer) .text-white\/70 { color: #1e293b !important; }
body section:not(#hero):not(footer) .text-white\/60,
body section:not(#hero):not(footer) .text-white\/50 { color: #475569 !important; }
body section:not(#hero):not(footer) .text-white\/40,
body section:not(#hero):not(footer) .text-white\/30 { color: #64748b !important; }
body section:not(#hero):not(footer) .text-white\/20,
body section:not(#hero):not(footer) .text-white\/10 { color: #94a3b8 !important; }

/* ── Android-specific text contrast fixes ── */
@media (max-width: 768px) {
  body section:not(#hero):not(footer) .text-white\/60,
  body section:not(#hero):not(footer) .text-white\/50 { color: #334155 !important; }
  body section:not(#hero):not(footer) .text-white\/40,
  body section:not(#hero):not(footer) .text-white\/30 { color: #475569 !important; }
  section:not(#hero):not(footer) .text-slate-500 { color: #475569 !important; }
  section:not(#hero):not(footer) p.text-sm.leading-relaxed { color: #475569 !important; }
  p { -webkit-font-smoothing: antialiased; }
}

/* ── Fix text-white/50 + text-white/80 paired selectors (e.g., contact info) ── */
.text-white\/50 + .text-white\/80 { color: #0f172a; }

/* ── Darken text-slate-500 for better readability on light backgrounds ── */
section .text-slate-500 { color: #475569 !important; }
section .text-slate-600 { color: #334155 !important; }

/* ═══════════════════════════════════════════════════════
   PAGE LOADER
   ═══════════════════════════════════════════════════════ */
#pageLoader { background: #ffffff; }
#pageLoader .loader-logo .text-lg.font-bold.tracking-tight.text-white { color: #0f172a !important; }
#pageLoader .loader-logo .flex.flex-col.items-center span:first-child { color: #0f172a !important; }
#pageLoader .loader-ring {
  border-color: rgba(217, 119, 6, 0.15);
  border-top-color: var(--gold);
}
#pageLoader .loader-text { color: #64748b; font-weight: 500; }
#pageLoader .loader-bar { background: #f1f5f9; }
#pageLoader .loader-bar-fill { animation-duration: 0.8s; }
#pageLoader svg path[fill="#ffffff"] { fill: #0f172a; }
#pageLoader svg path[fill="#292a2e"] { fill: var(--gold); }


/* ═══════════════════════════════════════════════════════
   SCROLL PROGRESS
   ═══════════════════════════════════════════════════════ */
#scrollProgress {
  background: linear-gradient(90deg, var(--gold-dark), var(--gold), var(--gold-lighter));
}

/* ═══════════════════════════════════════════════════════
   NAVBAR
   ═══════════════════════════════════════════════════════ */
header#navbar.bg-slate-950\/90,
header#navbar.bg-white\/90 {
  background: rgba(255, 255, 255, 0.92);
  backdrop-filter: blur(20px);
  border-bottom: 1px solid var(--border);
  box-shadow: var(--shadow);
}
.nav-link { color: var(--text-secondary); font-weight: 500; }
.nav-link:hover { color: var(--gold); }
.nav-link.active { color: var(--gold-dark); }
.nav-link::after {
  background: var(--gold);
  height: 2.5px;
  border-radius: 2px;
  transition: width 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);
}
#mobileMenu > div {
  background: rgba(255, 255, 255, 0.98);
  border-top-color: var(--border);
  box-shadow: 0 10px 25px rgba(0,0,0,0.06);
}
.mobile-link { color: var(--text-secondary); }
.mobile-link:hover {
  color: var(--gold-dark);
  background: rgba(217, 119, 6, 0.06);
}
#menuBtn span { background: var(--text); }
header#navbar svg path[fill="#ffffff"] { fill: var(--text); }
header#navbar svg path[fill="#292a2e"] { fill: var(--navy); }

/* ═══════════════════════════════════════════════════════
   HERO SECTION (dark navy)
   ═══════════════════════════════════════════════════════ */
#hero { background: #0f172a; }
.hero-overlay {
  background: linear-gradient(135deg,
    rgba(15, 23, 42, 0.88) 0%,
    rgba(15, 23, 42, 0.65) 50%,
    rgba(15, 23, 42, 0.82) 100%
  );
}
#hero .bg-white\/5 {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.1);
  box-shadow: none;
}
#hero .text-white { color: #ffffff; }
#hero .text-white\/70,
#hero .text-white\/80 { color: rgba(255,255,255,0.8); }
#hero .text-white\/60 { color: rgba(255,255,255,0.6); }
#hero .text-white\/50 { color: rgba(255,255,255,0.5); }
#hero .text-white\/40 { color: rgba(255,255,255,0.4); }
#hero .text-4xl.font-extrabold.text-amber-400 { color: var(--gold-lighter); }
#hero .animate-bounce svg text,
#hero .animate-bounce svg path { stroke: rgba(255, 255, 255, 0.5); }

/* ═══════════════════════════════════════════════════════
   BUTTONS
   ═══════════════════════════════════════════════════════ */
.bg-amber-500 { background: var(--gold); }
.bg-amber-500:hover,
.hover\:bg-amber-400:hover { background: var(--gold-dark); }
.hover\:shadow-amber-500\/25:hover {
  box-shadow: 0 10px 25px rgba(217, 119, 6, 0.25);
}
/* Text on amber buttons: keep white, NOT slate-950 */
.bg-amber-500 .text-slate-950,
a.bg-amber-500,
button.bg-amber-500,
.btn-shine { color: #ffffff; }

/* ═══════════════════════════════════════════════════════
   ABOUT SECTION
   ═══════════════════════════════════════════════════════ */
#about .bg-white\/5,
#about .bg-white-03 { background: #ffffff; box-shadow: var(--shadow); border-color: var(--border); }
#about .hover\:border-amber-500\/20:hover { border-color: rgba(217, 119, 6, 0.3); }
.from-slate-950\/60 { --tw-gradient-from: rgba(255, 255, 255, 0.3); }
.about-img-badge.bg-slate-900 {
  background: #ffffff;
  border-color: var(--border);
  box-shadow: var(--shadow-lg);
}

/* ═══════════════════════════════════════════════════════
   SERVICE CARDS
   ═══════════════════════════════════════════════════════ */
.icon-wrapper {
  background: linear-gradient(135deg, rgba(217, 119, 6, 0.1), rgba(217, 119, 6, 0.03));
}
.service-card .icon-wrapper svg {
  transition: transform 0.5s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.service-card:hover .icon-wrapper svg {
  transform: rotate(10deg) scale(1.15);
}

/* ═══════════════════════════════════════════════════════
   WHY CHOOSE US
   ═══════════════════════════════════════════════════════ */
#why-choose-us .grid-cols-2.lg\:grid-cols-4 .rounded-2xl {
  background: #ffffff;
  border-color: var(--border);
  box-shadow: var(--shadow);
}
#why-choose-us .grid-cols-2.lg\:grid-cols-4 .rounded-2xl:hover {
  border-color: rgba(217, 119, 6, 0.3);
  box-shadow: var(--shadow-md);
}

/* ═══════════════════════════════════════════════════════
   TEAM SECTION
   ═══════════════════════════════════════════════════════ */
#team .bg-white-03,
#team .bg-white\/\[0\.03\] { background: #ffffff; box-shadow: var(--shadow-md); border-color: var(--border); }
#team .rounded-full.border-2 { border-color: rgba(217, 119, 6, 0.2); }
#team .group:hover .rounded-full.border-2 {
  border-color: rgba(217, 119, 6, 0.4);
  box-shadow: 0 0 30px rgba(217, 119, 6, 0.15);
}

/* ═══════════════════════════════════════════════════════
   FOOTER (Navy Dark)
   ═══════════════════════════════════════════════════════ */
footer { background: var(--navy); border-top-color: rgba(255,255,255,0.06); }
footer .text-slate-900 { color: var(--text-light); }
footer [class*="text-slate-900/50"] { color: rgba(203, 213, 225, 0.5); }
footer [class*="text-slate-900/60"] { color: rgba(203, 213, 225, 0.6); }
footer [class*="text-slate-900/40"] { color: rgba(203, 213, 225, 0.4); }
footer [class*="text-slate-900/30"] { color: rgba(203, 213, 225, 0.3); }
footer [class*="text-slate-900/20"] { color: rgba(203, 213, 225, 0.2); }
footer .text-amber-400 { color: var(--gold); }
footer .text-amber-400\/70 { color: rgba(217, 119, 6, 0.7); }
footer .text-amber-400\/50 { color: rgba(217, 119, 6, 0.5); }
footer [class*="border-white/5"],
footer [class*="border-slate-200"] { border-color: rgba(255,255,255,0.06); }
footer a { color: rgba(203, 213, 225, 0.6); transition: color 0.3s ease, transform 0.3s ease; display: inline-block; }
footer a:hover { color: var(--gold-light); transform: translateX(4px); }
footer .text-xs.text-white\/30,
footer .text-xs.text-white\/20 { color: rgba(203, 213, 225, 0.4); }
footer .text-xs.font-semibold.text-white\/50 { color: rgba(203, 213, 225, 0.5); }
footer svg path[fill="#ffffff"] { fill: var(--text-light); }
footer svg path[fill="#292a2e"] { fill: var(--navy-lighter); }



/* ═══════════════════════════════════════════════════════
   CONTACT SECTION
   ═══════════════════════════════════════════════════════ */
.form-input {
  background: #ffffff;
  border-color: var(--border);
  color: var(--text);
}
.form-input::placeholder { color: var(--text-muted); }
.form-input:focus {
  border-color: var(--gold);
  box-shadow: 0 0 0 4px rgba(217, 119, 6, 0.1);
}
.glass-card {
  background: rgba(255, 255, 255, 0.7);
  backdrop-filter: blur(12px);
  border-color: var(--border);
}
.w-11.h-11.rounded-xl.bg-amber-500\/10 { background: rgba(217, 119, 6, 0.08); }
.w-11.h-11.rounded-xl.bg-amber-500\/10 .text-amber-400 { color: var(--gold); }
.group:hover .w-11.h-11.rounded-xl.bg-amber-500\/10 { background: rgba(217, 119, 6, 0.15); }
.contact-item .text-xs.text-white\/40 { color: var(--text-muted); }
.contact-item .text-sm.font-semibold.text-white { color: var(--text); }
.contact-item:hover .text-sm.font-semibold.text-white { color: var(--gold-dark); }
.text-white\/50 + .text-white\/80 { color: var(--text); }
.text-amber-400.font-medium { color: var(--gold); }

/* Maps badge */
.absolute.top-3.left-3.z-10.inline-flex {
  background: rgba(255, 255, 255, 0.95);
  border-color: var(--border);
  color: var(--text-secondary);
}

/* ═══════════════════════════════════════════════════════
   STAGGER CARD HOVER
   ═══════════════════════════════════════════════════════ */
.stagger-card { position: relative; }
.stagger-card::before {
  content: '';
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background: linear-gradient(135deg, rgba(217, 119, 6, 0.04), transparent 60%);
  opacity: 0;
  transition: opacity 0.5s ease;
  pointer-events: none;
}
.stagger-card:hover::before { opacity: 1; }

/* ═══════════════════════════════════════════════════════
   ANDROID / MOBILE TEXT RENDERING FIXES (consolidated)
   ═══════════════════════════════════════════════════════ */
@media (max-width: 768px) {
  /* Fix gradient text on Android */
  .text-transparent.bg-clip-text.bg-gradient-to-r {
    color: var(--gold) !important;
    -webkit-text-fill-color: transparent;
  }
  /* Ensure all headings are visible */
  h1, h2, h3, h4, h5, h6 { -webkit-font-smoothing: antialiased; }
  /* Fix any SVG text issues */
  svg text { fill: currentColor; }
  /* Footer contrast boost on mobile */
  footer .text-white\/60, footer .text-sm.text-white\/60 { color: rgba(203, 213, 225, 0.7) !important; }
  footer .text-white\/40, footer .text-sm.text-white\/40 { color: rgba(203, 213, 225, 0.55) !important; }
  footer .text-white\/30, footer .text-xs.text-white\/30 { color: rgba(203, 213, 225, 0.5) !important; }
  footer .text-white\/20, footer .text-xs.text-white\/20 { color: rgba(203, 213, 225, 0.4) !important; }
}

/* ═══════════════════════════════════════════════════════
   ANIMATIONS & KEYFRAMES
   ═══════════════════════════════════════════════════════ */

/* Floating */
@keyframes float {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-12px); }
}
@keyframes float-slow {
  0%, 100% { transform: translateY(0px); }
  50% { transform: translateY(-8px); }
}
.float-anim { animation: float 4s ease-in-out infinite; }
.float-slow { animation: float-slow 6s ease-in-out infinite; }
.float-delayed { animation: float 5s ease-in-out 1s infinite; }

/* Shimmer */
@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}
.shimmer-text {
  background: linear-gradient(90deg, var(--gold-dark), var(--gold), var(--gold-lighter), var(--gold), var(--gold-dark));
  background-size: 200% auto;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  animation: shimmer 3s linear infinite;
  /* Android fallback: some browsers don't support background-clip text */
  color: var(--gold);
}
@supports not (background-clip: text) {
  .shimmer-text { color: var(--gold); -webkit-text-fill-color: unset; }
}

/* Gradient shift */
@keyframes gradientShift {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}
.gradient-shift {
  background-size: 200% 200%;
  animation: gradientShift 8s ease infinite;
}

/* Pulse glow */
@keyframes pulseGlow {
  0%, 100% { box-shadow: 0 0 5px rgba(217, 119, 6, 0.1); }
  50% { box-shadow: 0 0 25px rgba(217, 119, 6, 0.2), 0 0 50px rgba(217, 119, 6, 0.1); }
}
.pulse-glow { animation: pulseGlow 3s ease-in-out infinite; }

/* Button ripple */
@keyframes ripple {
  0% { transform: scale(0); opacity: 0.5; }
  100% { transform: scale(4); opacity: 0; }
}
.btn-shine:active::before {
  content: '';
  position: absolute;
  inset: 0;
  background: rgba(255, 255, 255, 0.3);
  border-radius: inherit;
  animation: ripple 0.6s ease-out;
  pointer-events: none;
}

/* Card lift */
.card-lift {
  transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1),
              box-shadow 0.4s ease;
}
.card-lift:hover {
  transform: translateY(-8px) scale(1.02);
  box-shadow: 0 20px 40px rgba(0,0,0,0.08), 0 8px 16px rgba(0,0,0,0.04);
}

/* Scale reveal */
.reveal-scale-in {
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.7s cubic-bezier(0.16, 1, 0.3, 1),
              transform 0.7s cubic-bezier(0.16, 1, 0.3, 1);
}
.reveal-scale-in.visible { opacity: 1; transform: scale(1); }

/* Hero CSS particles */
#hero::before {
  content: '';
  position: absolute;
  inset: 0;
  background-image:
    radial-gradient(1px 1px at 10% 20%, rgba(255,255,255,0.15), transparent),
    radial-gradient(1px 1px at 20% 40%, rgba(255,255,255,0.1), transparent),
    radial-gradient(1.5px 1.5px at 30% 10%, rgba(255,255,255,0.12), transparent),
    radial-gradient(1px 1px at 40% 60%, rgba(255,255,255,0.08), transparent),
    radial-gradient(1px 1px at 50% 80%, rgba(255,255,255,0.15), transparent),
    radial-gradient(1.5px 1.5px at 60% 30%, rgba(255,255,255,0.1), transparent),
    radial-gradient(1px 1px at 70% 50%, rgba(255,255,255,0.12), transparent),
    radial-gradient(1px 1px at 80% 90%, rgba(255,255,255,0.08), transparent),
    radial-gradient(1.5px 1.5px at 90% 15%, rgba(255,255,255,0.15), transparent),
    radial-gradient(1px 1px at 15% 70%, rgba(255,255,255,0.1), transparent),
    radial-gradient(1px 1px at 85% 35%, rgba(255,255,255,0.12), transparent),
    radial-gradient(1.5px 1.5px at 25% 85%, rgba(255,255,255,0.08), transparent),
    radial-gradient(1px 1px at 55% 45%, rgba(255,255,255,0.1), transparent),
    radial-gradient(1px 1px at 75% 65%, rgba(255,255,255,0.15), transparent),
    radial-gradient(1.5px 1.5px at 45% 5%, rgba(255,255,255,0.12), transparent),
    radial-gradient(1px 1px at 65% 75%, rgba(255,255,255,0.08), transparent),
    radial-gradient(1px 1px at 95% 55%, rgba(255,255,255,0.1), transparent),
    radial-gradient(1.5px 1.5px at 5% 45%, rgba(255,255,255,0.12), transparent),
    radial-gradient(1px 1px at 35% 95%, rgba(255,255,255,0.08), transparent),
    radial-gradient(1px 1px at 100% 10%, rgba(255,255,255,0.1), transparent);
  pointer-events: none;
  z-index: 1;
  animation: particleFloat 20s linear infinite;
}
@keyframes particleFloat {
  0% { transform: translateY(0); opacity: 0.5; }
  50% { opacity: 1; }
  100% { transform: translateY(-30px); opacity: 0.5; }
}

/* Border glow */
@keyframes borderGlow {
  0%, 100% { border-color: rgba(217, 119, 6, 0.1); }
  50% { border-color: rgba(217, 119, 6, 0.3); }
}
.border-glow { animation: borderGlow 4s ease-in-out infinite; }

/* Image zoom */
.img-zoom { overflow: hidden; }
.img-zoom img { transition: transform 0.6s cubic-bezier(0.34, 1.56, 0.64, 1); }
.img-zoom:hover img { transform: scale(1.08); }

/* Counter */
.counter-value { display: inline-block; }

/* Accent line */
.accent-line {
  width: 60px;
  height: 3px;
  background: linear-gradient(90deg, var(--gold-dark), var(--gold), var(--gold-lighter));
  border-radius: 2px;
  margin: 12px 0;
}
.accent-line.center { margin: 12px auto; }

/* Gradient text override */
.text-transparent.bg-clip-text.bg-gradient-to-r {
  background-image: linear-gradient(to right, var(--gold-dark), var(--gold), var(--gold-lighter));
}
