:root {
  --radius: 0.5rem;
  /* Light surfaces */
  --background: oklch(1 0 0);
  --foreground: oklch(0.18 0.04 255);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.18 0.04 255);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.18 0.04 255);
  /* Brand: deep navy */
  --primary: oklch(0.22 0.08 260);
  --primary-foreground: oklch(0.99 0 0);
  /* Petrol blue */
  --secondary: oklch(0.45 0.07 220);
  --secondary-foreground: oklch(0.99 0 0);
  --muted: oklch(0.96 0.005 250);
  --muted-foreground: oklch(0.45 0.02 255);
  --accent: oklch(0.96 0.005 250);
  --accent-foreground: oklch(0.22 0.08 260);
  /* Red accent */
  --destructive: oklch(0.55 0.22 27);
  --destructive-foreground: oklch(0.99 0 0);
  --danger: oklch(0.55 0.22 27);
  --brand: oklch(0.22 0.08 260);
  --brand-foreground: oklch(0.99 0 0);
  --petrol: oklch(0.45 0.07 220);
  --border: oklch(0.91 0.01 250);
  --input: oklch(0.91 0.01 250);
  --ring: oklch(0.45 0.07 220);
  --sidebar: oklch(0.99 0 0);
  --sidebar-foreground: oklch(0.18 0.04 255);
  --sidebar-primary: oklch(0.22 0.08 260);
  --sidebar-primary-foreground: oklch(0.99 0 0);
  --sidebar-accent: oklch(0.96 0.005 250);
  --sidebar-accent-foreground: oklch(0.22 0.08 260);
  --sidebar-border: oklch(0.91 0.01 250);
  --sidebar-ring: oklch(0.45 0.07 220);
}

.dark {
  --background: oklch(0.12 0.03 260);
  --foreground: oklch(0.98 0 0);
  --card: oklch(0.18 0.04 260);
  --card-foreground: oklch(0.98 0 0);
  --popover: oklch(0.18 0.04 260);
  --popover-foreground: oklch(0.98 0 0);
  --primary: oklch(0.98 0 0);
  --primary-foreground: oklch(0.18 0.04 260);
  --secondary: oklch(0.27 0.04 260);
  --secondary-foreground: oklch(0.98 0 0);
  --muted: oklch(0.27 0.04 260);
  --muted-foreground: oklch(0.7 0.04 255);
  --accent: oklch(0.27 0.04 260);
  --accent-foreground: oklch(0.98 0 0);
  --destructive: oklch(0.65 0.22 27);
  --destructive-foreground: oklch(0.98 0 0);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);
  --ring: oklch(0.55 0.07 220);
  --sidebar: oklch(0.18 0.04 260);
  --sidebar-foreground: oklch(0.98 0 0);
  --sidebar-primary: oklch(0.55 0.22 27);
  --sidebar-primary-foreground: oklch(0.98 0 0);
  --sidebar-accent: oklch(0.27 0.04 260);
  --sidebar-accent-foreground: oklch(0.98 0 0);
  --sidebar-border: oklch(1 0 0 / 10%);
  --sidebar-ring: oklch(0.55 0.07 220);
}

* {
  border-color: var(--border);
}
html {
  scroll-behavior: smooth;
}
body {
  background-color: var(--background);
  color: var(--foreground);
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5 {
  font-family: 'Barlow Condensed', 'Inter', sans-serif;
  font-weight: 700;
  letter-spacing: -0.01em;
}

/* Utilities */
.container-x { margin-left: auto; margin-right: auto; width: 100%; max-width: 80rem; padding-left: 1rem; padding-right: 1rem; }
@media (min-width: 640px) { .container-x { padding-left: 1.5rem; padding-right: 1.5rem; } }
@media (min-width: 1024px) { .container-x { padding-left: 2rem; padding-right: 2rem; } }

.section-y { padding-top: 4rem; padding-bottom: 4rem; }
@media (min-width: 640px) { .section-y { padding-top: 5rem; padding-bottom: 5rem; } }
@media (min-width: 1024px) { .section-y { padding-top: 7rem; padding-bottom: 7rem; } }

.text-balance { text-wrap: balance; }
.gradient-overlay {
  background: linear-gradient(180deg, rgba(7,14,38,0.55) 0%, rgba(7,14,38,0.75) 60%, rgba(7,14,38,0.9) 100%);
}
.industrial-grid {
  background-image:
    linear-gradient(rgba(255,255,255,0.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,0.04) 1px, transparent 1px);
  background-size: 48px 48px;
}
.fade-up {
  animation: fadeUp 0.7s ease-out both;
}
@keyframes fadeUp {
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}
.marquee {
  animation: marquee 30s linear infinite;
}
@keyframes marquee {
  from { transform: translateX(0); }
  to   { transform: translateX(-50%); }
}
