:root {
  --radius: 0.625rem;
  --background: oklch(1 0 0);
  --foreground: oklch(0.22 0.015 45);
  --card: oklch(0.995 0.002 45);
  --card-foreground: oklch(0.22 0.015 45);
  --popover: oklch(1 0 0);
  --popover-foreground: oklch(0.22 0.015 45);
  --primary: oklch(0.62 0.22 45);
  --primary-foreground: oklch(0.985 0.01 45);
  --secondary: oklch(0.96 0.015 45);
  --secondary-foreground: oklch(0.35 0.08 45);
  --muted: oklch(0.965 0.005 45);
  --muted-foreground: oklch(0.52 0.02 45);
  --accent: oklch(0.72 0.18 50);
  --accent-foreground: oklch(0.20 0.04 50);
  --border: oklch(0.92 0.015 45);
  --input: oklch(0.92 0.015 45);
  --ring: oklch(0.62 0.22 45);
}

body {
  font-family: 'Outfit', 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
  background-color: var(--background);
  color: var(--foreground);
  /* 专属定制流光渐变背景，淡雅高级，非黑色 */
  background-image: 
    radial-gradient(at 0% 0%, oklch(0.97 0.015 45) 0px, transparent 50%),
    radial-gradient(at 100% 0%, oklch(0.96 0.02 20) 0px, transparent 50%),
    radial-gradient(at 50% 100%, oklch(0.98 0.01 45) 0px, transparent 50%);
  background-attachment: fixed;
}

/* 滚动淡入动效 (IntersectionObserver) */
.reveal {
  opacity: 0;
  transform: translateY(30px);
  transition: opacity 0.8s cubic-bezier(0.16, 1, 0.3, 1), transform 0.8s cubic-bezier(0.16, 1, 0.3, 1);
}

.reveal.active {
  opacity: 1;
  transform: translateY(0);
}

/* 延迟类 */
.delay-100 { transition-delay: 100ms; }
.delay-200 { transition-delay: 200ms; }
.delay-300 { transition-delay: 300ms; }
.delay-400 { transition-delay: 400ms; }

/* 折叠面板 (FAQ Accordion) 动画 */
.accordion-content {
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}
