/* Extracted minimal theme tokens from src/app/globals.css for static build */
:root {
  --radius: 0.625rem;
  --brand-blue: oklch(0.624 0.214 264.713);
  --brand-purple: oklch(0.627 0.211 305.052);
  --background: oklch(1 0 0);
  --foreground: oklch(0.145 0 0);
  --card: oklch(1 0 0);
  --card-foreground: oklch(0.145 0 0);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.145 0 0);
  --primary: var(--brand-blue);
  --primary-foreground: oklch(0.985 0 0);
  --secondary: var(--brand-purple);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.97 0 0);
  --muted-foreground: oklch(0.556 0 0);
  --accent: var(--brand-purple);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.577 0.245 27.325);
  --border: oklch(0.922 0 0);
  --input: oklch(0.922 0 0);
  --ring: var(--brand-blue);
}

.dark {
  --background: oklch(0.145 0 0);
  --foreground: oklch(0.985 0 0);
  --card: oklch(0.205 0 0);
  --card-foreground: oklch(0.985 0 0);
  --popover: oklch(0.205 0 0);
  --popover-foreground: oklch(0.985 0 0);
  --primary: var(--brand-blue);
  --primary-foreground: oklch(0.985 0 0);
  --secondary: var(--brand-purple);
  --secondary-foreground: oklch(0.985 0 0);
  --muted: oklch(0.269 0 0);
  --muted-foreground: oklch(0.708 0 0);
  --accent: var(--brand-purple);
  --accent-foreground: oklch(0.985 0 0);
  --destructive: oklch(0.704 0.191 22.216);
  --border: oklch(1 0 0 / 10%);
  --input: oklch(1 0 0 / 15%);
  --ring: var(--brand-blue);
}

* { box-sizing: border-box; }
html { color-scheme: dark; }
body { margin: 0; background: var(--background); color: var(--foreground); font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Ubuntu, Cantarell, Noto Sans, sans-serif; }

/* Utility helpers used where Tailwind CDN might not cover */
.bg-card { background-color: var(--card); }
.bg-card\/40 { background-color: color-mix(in oklch, var(--card) 40%, transparent); }
.border-border\/60 { border-color: color-mix(in oklch, var(--border) 60%, transparent); }
.border-border\/70 { border-color: color-mix(in oklch, var(--border) 70%, transparent); }
.text-muted-foreground { color: var(--muted-foreground); }
.text-primary-foreground { color: var(--primary-foreground); }
.bg-gradient-primary-secondary { background-image: linear-gradient(90deg, var(--primary), var(--secondary)); }
.rounded-xl { border-radius: calc(var(--radius) + 4px); }
.rounded-2xl { border-radius: calc(var(--radius) + 8px); }
.rounded-md { border-radius: calc(var(--radius) - 2px); }
.rounded-sm { border-radius: calc(var(--radius) - 4px); }

/* Basic container */
.container { width: 100%; max-width: 80rem; margin-left: auto; margin-right: auto; padding-left: 1rem; padding-right: 1rem; }

/* Professional animations */
@keyframes fadeInUp {
  from { opacity: 0; transform: translateY(20px); }
  to { opacity: 1; transform: translateY(0); }
}

@keyframes fadeInScale {
  from { opacity: 0; transform: scale(0.95); }
  to { opacity: 1; transform: scale(1); }
}

@keyframes slideInLeft {
  from { opacity: 0; transform: translateX(-30px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes slideInRight {
  from { opacity: 0; transform: translateX(30px); }
  to { opacity: 1; transform: translateX(0); }
}

@keyframes shimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

.animate-fade-up { animation: fadeInUp 0.6s ease-out forwards; animation-fill-mode: both; }
.animate-fade-scale { animation: fadeInScale 0.5s ease-out forwards; animation-fill-mode: both; }
.animate-slide-left { animation: slideInLeft 0.7s ease-out forwards; animation-fill-mode: both; }
.animate-slide-right { animation: slideInRight 0.7s ease-out forwards; animation-fill-mode: both; }

/* Enhanced hover effects */
.hover-lift { 
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1); 
}
.hover-lift:hover { 
  transform: translateY(-8px) scale(1.02); 
  box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
  border-color: var(--primary);
}

.hover-scale { transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1); }
.hover-scale:hover { transform: scale(1.05); }

/* Card hover effects */
.card-hover {
  position: relative;
  overflow: visible;
  z-index: 1;
  contain: layout paint;
  backface-visibility: hidden;
  transform: translateZ(0);
  will-change: transform;
  transition: transform 180ms ease, box-shadow 180ms ease, border-color 180ms ease, background-color 180ms ease, color 180ms ease;
}

.card-hover::before { display: none; }

.card-hover:hover {
  transform: translateY(-4px) scale(1.01) translateZ(0);
  box-shadow: 0 16px 32px -12px rgba(0, 0, 0, 0.28);
  border-color: var(--primary);
  background: var(--card);
  z-index: 5;
}

.card-hover h3,
.card-hover p { transition: color 180ms ease, transform 180ms ease; }

.card-hover:hover h3 { color: var(--primary); transform: scale(1.02); }
.card-hover:hover p { color: var(--foreground); }

/* Grid container for cards */
.cards-grid {
  isolation: isolate;
}

/* Wide card: no transform or heavy shadow to avoid drift */
.card-hover.md\:col-span-3 {
  will-change: auto;
  transition: border-color 160ms ease, background-color 160ms ease, color 160ms ease;
}
.card-hover.md\:col-span-3:hover {
  transform: none;
  box-shadow: none;
  border-color: var(--primary);
  background: var(--card);
}

/* Optional: disable scale on specific cards */
.card-hover.no-scale:hover { transform: translateY(-2px) translateZ(0); }

/* CTA card: no transform to avoid jank */
.cta-card { will-change: auto; }
.cta-card:hover { transform: none; box-shadow: 0 8px 16px -12px rgba(0,0,0,0.25); }

/* Special handling for centered CTA blocks */
.card-hover.text-center {
  max-width: none;
}

.card-hover.text-center:hover {
  transform: translateY(-6px) scale(1.015);
}

/* Premium button effects */
.btn-primary {
  position: relative;
  overflow: hidden;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.btn-primary::before {
  content: '';
  position: absolute;
  top: 0;
  left: -100%;
  width: 100%;
  height: 100%;
  background: linear-gradient(90deg, transparent, rgba(255,255,255,0.2), transparent);
  transition: left 0.5s;
}

.btn-primary:hover::before {
  left: 100%;
}

.btn-primary:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 25px -5px rgba(0, 0, 0, 0.25);
}

/* Glass morphism effects */
.glass {
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border: 1px solid rgba(255, 255, 255, 0.1);
}

/* Gradient text without infinite animation to avoid repaints */
.gradient-text {
  background: linear-gradient(45deg, var(--primary), var(--secondary), var(--primary));
  background-size: 200% 200%;
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

/* Card entrance delays */
.delay-100 { animation-delay: 0.1s; }
.delay-200 { animation-delay: 0.2s; }
.delay-300 { animation-delay: 0.3s; }
.delay-400 { animation-delay: 0.4s; }
.delay-500 { animation-delay: 0.5s; }
.delay-600 { animation-delay: 0.6s; }

/* Navigation and simple hover transitions */
nav a { transition: transform 150ms ease, color 150ms ease; will-change: transform; }
nav a:hover { transform: translateY(-1px); }

.btn-primary { will-change: transform; }
.btn-primary::before { display: none; }
.btn-primary:hover { transform: translateY(-2px); box-shadow: 0 10px 20px -8px rgba(0,0,0,0.35); }

/* Disable entrance animations for performance */
.animate-fade-up,
.animate-fade-scale,
.animate-slide-left,
.animate-slide-right { animation: none !important; }

/* Center and constrain wide cards */
.justify-center-card { justify-self: center; width: 100%; max-width: 48rem; }

/* Social links: size to content, no transform */
.social-link { display: inline-flex; align-items: center; gap: 0.5rem; width: fit-content; transition: color 160ms ease; text-decoration: none; }
.social-link:hover { color: var(--secondary); }
.social-link img { height: 18px; width: 18px; object-fit: contain; }
.social-link, .social-link img { transform: none !important; }


