/* Indo-Prime Industries — shared site styles
   Design tokens mirror the original design system exactly. */

:root {
  --radius: 0.5rem;
  --background: oklch(0.99 0.005 240);
  --foreground: oklch(0.18 0.04 245);
  --surface: oklch(0.96 0.01 240);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.18 0.04 245);
  --primary: oklch(0.32 0.12 245);
  --primary-foreground: oklch(0.99 0.005 240);
  --secondary: oklch(0.94 0.015 240);
  --secondary-foreground: oklch(0.22 0.08 245);
  --muted: oklch(0.95 0.01 240);
  --muted-foreground: oklch(0.48 0.03 245);
  --accent: oklch(0.68 0.19 50);
  --accent-foreground: oklch(0.15 0.04 245);
  --border: oklch(0.90 0.01 240);
  --input: oklch(0.92 0.01 240);
  --ring: oklch(0.32 0.12 245);
  --shadow-elev: 0 10px 40px -10px oklch(0.25 0.08 240 / 0.25);
  --gradient-hero: linear-gradient(135deg, oklch(0.32 0.12 240) 0%, oklch(0.22 0.09 245) 100%);
  --gradient-accent: linear-gradient(135deg, oklch(0.72 0.18 55) 0%, oklch(0.62 0.20 35) 100%);
  --font-display: "Plus Jakarta Sans", system-ui, sans-serif;
  --font-sans: "Inter", system-ui, sans-serif;
}

* { border-color: var(--border); }

html { scroll-behavior: smooth; }

body {
  background-color: var(--background);
  color: var(--foreground);
  font-family: var(--font-sans);
}

h1, h2, h3, h4 { font-family: var(--font-display); letter-spacing: -0.02em; }

.font-display { font-family: var(--font-display); }

/* Background / text / border utility hooks driven by CSS variables,
   registered into the Tailwind CDN config so classes like bg-card,
   text-muted-foreground, border-border etc. work exactly as in the
   original build. */

.bg-gradient-hero { background: var(--gradient-hero); }
.bg-gradient-accent { background: var(--gradient-accent); }
.shadow-elev { box-shadow: var(--shadow-elev); }

@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: none; }
}
.animate-fadeUp { animation: fadeUp 0.7s ease-out both; }
.animate-fadeUp-1 { animation: fadeUp 0.6s ease-out both; }
.animate-fadeUp-2 { animation: fadeUp 0.8s ease-out 0.1s both; }
.animate-fadeUp-3 { animation: fadeUp 0.9s ease-out 0.2s both; }
.animate-fadeUp-4 { animation: fadeUp 1s ease-out 0.3s both; }

@keyframes marquee {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}
.marquee-track {
  animation: marquee 35s linear infinite;
}

@keyframes spin {
  to { transform: rotate(360deg); }
}
.animate-spin { animation: spin 1s linear infinite; }

/* Sticky header blur */
.header-blur {
  backdrop-filter: blur(8px);
  background-color: color-mix(in oklab, var(--background) 85%, transparent);
}

/* Active nav link */
.nav-link.is-active {
  color: var(--foreground);
  font-weight: 600;
  background-color: var(--secondary);
}

[data-lucide] { display: inline-block; }
