:root {
  --lp-brand-50: oklch(97.00% 0.0000 89.88);
  --lp-brand-100: oklch(94.00% 0.0000 89.88);
  --lp-brand-200: oklch(88.00% 0.0000 89.88);
  --lp-brand-300: oklch(78.00% 0.0000 89.88);
  --lp-brand-400: oklch(68.00% 0.0000 89.88);
  --lp-brand-500: oklch(58.00% 0.0000 89.88);
  --lp-brand-600: oklch(48.00% 0.0000 89.88);
  --lp-brand-700: oklch(40.00% 0.0000 89.88);
  --lp-brand-800: oklch(32.00% 0.0000 89.88);
  --lp-brand-900: oklch(22.00% 0.0000 89.88);
  --lp-brand-950: oklch(14.00% 0.0000 89.88);
  --lp-neutral-50: oklch(97.00% 0.0049 89.88);
  --lp-neutral-100: oklch(94.00% 0.0054 89.88);
  --lp-neutral-200: oklch(88.00% 0.0065 89.88);
  --lp-neutral-300: oklch(78.00% 0.0081 89.88);
  --lp-neutral-400: oklch(68.00% 0.0098 89.88);
  --lp-neutral-500: oklch(58.00% 0.0115 89.88);
  --lp-neutral-600: oklch(48.00% 0.0108 89.88);
  --lp-neutral-700: oklch(40.00% 0.0095 89.88);
  --lp-neutral-800: oklch(32.00% 0.0081 89.88);
  --lp-neutral-900: oklch(22.00% 0.0065 89.88);
  --lp-neutral-950: oklch(14.00% 0.0051 89.88);
  --lp-space-2xs: clamp(0.25rem, 0.5vw, 0.375rem);
  --lp-space-xs: clamp(0.5rem, 0.75vw, 0.75rem);
  --lp-space-sm: clamp(0.75rem, 1vw, 1rem);
  --lp-space-md: clamp(1rem, 1.5vw, 1.5rem);
  --lp-space-lg: clamp(1.5rem, 2.5vw, 2.5rem);
  --lp-space-xl: clamp(2.5rem, 4vw, 4rem);
  --lp-space-2xl: clamp(3rem, 6vw, 5rem);
  --lp-space-3xl: clamp(4rem, 8vw, 7rem);
  --lp-type-xs: clamp(0.75rem, 0.7vw + 0.55rem, 0.8125rem);
  --lp-type-sm: clamp(0.875rem, 0.8vw + 0.62rem, 0.975rem);
  --lp-type-body: clamp(1rem, 0.75vw + 0.82rem, 1.1rem);
  --lp-type-lg: clamp(1.1rem, 0.9vw + 0.85rem, 1.3rem);
  --lp-type-h3: clamp(1.3rem, 1.2vw + 0.95rem, 1.7rem);
  --lp-type-h2: clamp(1.7rem, 2.1vw + 1rem, 2.75rem);
  --lp-type-h1: clamp(2.4rem, 3.2vw + 1rem, 4rem);
  --lp-type-display: clamp(2.55rem, 4vw + 0.6rem, 4.75rem);
  --lp-radius-none: 0;
  --lp-radius-sm: 6px;
  --lp-radius-md: 12px;
  --lp-radius-lg: 18px;
  --lp-radius-xl: 28px;
  --lp-radius-pill: 999px;
  --lp-shadow-xs: 0 1px 2px oklch(14% 0.01 89.88 / 0.04);
  --lp-shadow-sm: 0 1px 2px oklch(14% 0.01 89.88 / 0.04), 0 3px 8px oklch(14% 0.01 89.88 / 0.05);
  --lp-shadow-md: 0 4px 12px oklch(14% 0.01 89.88 / 0.06), 0 10px 24px oklch(14% 0.01 89.88 / 0.05);
  --lp-shadow-lg: 0 10px 20px oklch(14% 0.01 89.88 / 0.06), 0 22px 44px oklch(14% 0.01 89.88 / 0.08);
  --lp-shadow-xl: 0 14px 32px oklch(14% 0.01 89.88 / 0.08), 0 32px 64px oklch(14% 0.01 89.88 / 0.1), 0 1px 0 oklch(100% 0 0 / 0.5) inset;
  --lp-shadow-glow: 0 0 40px color-mix(in oklch, var(--lp-accent) 28%, transparent);
  --lp-font-heading: "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --lp-font-body: "Outfit", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --lp-fallback-hex: #050505;

  --lp-bg: #f9fafa;
  --lp-bg-elev-1: #f1f3f3;
  --lp-bg-elev-2: #e6e9e9;
  --lp-surface: #ffffff;
  --lp-text: #050505;
  --lp-text-dim: #3d4242;
  --lp-text-mute: #6b7272;
  --lp-border: color-mix(in oklch, #050505 14%, transparent);
  --lp-primary: #050505;
  /* Logo orange locked from brand mark (#f89f3a) */
  --lp-accent: #f89f3a;
  --lp-accent-strong: #e8891f;
  --lp-accent-soft: color-mix(in srgb, #f89f3a 22%, transparent);
  --lp-accent-muted: color-mix(in srgb, #f89f3a 12%, transparent);
  --lp-primary-soft: color-mix(in oklch, var(--lp-primary) 14%, transparent);
  --lp-primary-strong: #000000;
  --lp-on-primary: #f9fafa;
  --lp-on-accent: #1a1008;

  /* legacy/alternate names used by V2 section CSS → real role tokens */
  --lp-brand: var(--lp-primary);
  --lp-brand-primary: var(--lp-primary);
  --lp-brand-hover: var(--lp-primary-strong);
  --lp-brand-contrast: var(--lp-on-primary);
  --lp-secondary: var(--lp-primary-strong);
  --lp-color-primary: var(--lp-primary);
  --lp-color-bg: var(--lp-bg);
  --lp-color-surface: var(--lp-bg-elev-1);
  --lp-color-surface-hover: var(--lp-bg-elev-2);
  --lp-muted-bg: var(--lp-bg-elev-1);
  --lp-color-border: var(--lp-border);
  --lp-color-text: var(--lp-text);
  --lp-color-muted: var(--lp-text-dim);
  --lp-color-text-muted: var(--lp-text-dim);
  --lp-text-muted: var(--lp-text-dim);
  --lp-text-soft: var(--lp-text-dim);
  --lp-font: var(--lp-font-body);
  --lp-logo-bar-bg: var(--lp-bg-elev-1);
  --lp-logo-bar-label: var(--lp-text-dim);
  /* section-local vars — overridden inline per tabs/marquee section, but
     defaulted here so the always-emitted rules never dangle. */
  --lp-tabs-accent: var(--lp-primary);
  --lp-marquee-accent: var(--lp-primary);
  --lp-marquee-duration: 40s;
  --lp-marquee-direction: normal;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme]) {

  --lp-bg: #f9fafa;
  --lp-bg-elev-1: oklch(92.53% 0.0010 197.14);
  --lp-bg-elev-2: oklch(86.62% 0.0009 197.14);
  --lp-surface: oklch(98.56% 0.0010 197.14);
  --lp-text: var(--lp-neutral-950);
  --lp-text-dim: var(--lp-neutral-700);
  --lp-text-mute: var(--lp-neutral-500);
  --lp-border: color-mix(in oklch, var(--lp-text) 18%, transparent);
  --lp-primary: oklch(32.00% 0.0000 89.88);
  --lp-accent: #f89f3a;
  --lp-accent-strong: #e8891f;
  --lp-accent-soft: color-mix(in srgb, #f89f3a 22%, transparent);
  --lp-primary-soft: color-mix(in oklch, var(--lp-primary) 20%, transparent);
  --lp-primary-strong: oklch(from var(--lp-primary) calc(l - 0.08) c h);
  --lp-on-primary: var(--lp-neutral-50);
  --lp-on-accent: #1a1008;
  }
}
[data-theme="dark"] {

  --lp-bg: var(--lp-neutral-950);
  --lp-bg-elev-1: oklch(from var(--lp-neutral-950) calc(l + 0.04) c h);
  --lp-bg-elev-2: oklch(from var(--lp-neutral-950) calc(l + 0.08) c h);
  --lp-surface: var(--lp-neutral-900);
  --lp-text: var(--lp-neutral-50);
  --lp-text-dim: var(--lp-neutral-300);
  --lp-text-mute: var(--lp-neutral-500);
  --lp-border: oklch(from var(--lp-neutral-700) l c h / 0.5);
  --lp-primary: oklch(60.00% 0.0000 89.88);
  --lp-accent: #f89f3a;
  --lp-accent-strong: #e8891f;
  --lp-accent-soft: color-mix(in srgb, #f89f3a 22%, transparent);
  --lp-primary-soft: color-mix(in oklch, oklch(60.00% 0.0000 89.88) 22%, transparent);
  --lp-primary-strong: oklch(from oklch(60.00% 0.0000 89.88) calc(l - 0.08) c h);
  --lp-on-primary: var(--lp-neutral-950);
  --lp-on-accent: #1a1008;
}
[data-theme="light"] {

  --lp-bg: var(--lp-neutral-50);
  --lp-bg-elev-1: var(--lp-neutral-100);
  --lp-bg-elev-2: var(--lp-neutral-200);
  --lp-surface: oklch(99% 0 0);
  --lp-text: var(--lp-neutral-950);
  --lp-text-dim: var(--lp-neutral-700);
  --lp-text-mute: var(--lp-neutral-500);
  --lp-border: oklch(from var(--lp-neutral-200) l c h / 0.7);
  --lp-primary: oklch(32.00% 0.0000 89.88);
  --lp-accent: #f89f3a;
  --lp-accent-strong: #e8891f;
  --lp-accent-soft: color-mix(in srgb, #f89f3a 22%, transparent);
  --lp-primary-soft: color-mix(in oklch, oklch(32.00% 0.0000 89.88) 18%, transparent);
  --lp-primary-strong: oklch(from oklch(32.00% 0.0000 89.88) calc(l - 0.08) c h);
  --lp-on-primary: oklch(99% 0 0);
  --lp-on-accent: #1a1008;
}

:root {
  --lp-error: oklch(from var(--lp-primary) l max(c, 0.15) 25);
  --lp-success: oklch(from var(--lp-primary) l max(c, 0.15) 150);
  --lp-overlay: var(--lp-neutral-950);
  --lp-gradient-mesh: radial-gradient(60% 55% at 15% 0%, var(--lp-primary-soft), transparent 65%), radial-gradient(55% 50% at 100% 100%, color-mix(in oklch, var(--lp-primary) 16%, transparent), transparent 70%);
}
