@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap');

:root {
  color-scheme: dark;
  --kt-bg: #08070b;
  --kt-panel: #121016;
  --kt-text: #f5f1f8;
  --kt-muted: #a99fb2;
  --kt-accent: #b785ff;
  --kt-brand: #8B44FF;
  --kt-violet: #C13BFF;
  --kt-cyan: #00E5FF;
  --kt-ok: #34F5C5;
  --kt-warn: #FFC53D;
  --kt-error: #FF5D7A;
  --kt-glass: rgba(18, 16, 22, .82);
  --kt-glass-raised: rgba(245, 241, 248, .035);
  --kt-border: rgba(222, 208, 242, .13);
  --kt-border-active: rgba(183, 133, 255, .48);
  --kt-light: rgba(183, 133, 255, .09);
  --kt-glow: 0 0 32px rgba(183, 133, 255, .13);
  --kt-shadow: 0 20px 60px rgba(0, 0, 0, .26);
  --kt-font-body: 'Inter', system-ui, -apple-system, sans-serif;
  --kt-font-display: 'Space Grotesk', 'Inter', system-ui, sans-serif;
  --kt-font-mono: 'JetBrains Mono', Consolas, monospace;
  --kt-space-1: .25rem;
  --kt-space-2: .5rem;
  --kt-space-3: .75rem;
  --kt-space-4: 1rem;
  --kt-space-6: 1.5rem;
  --kt-space-8: 2rem;
  --kt-space-12: 3rem;
  --kt-space-16: 4rem;
  --kt-space-24: 6rem;
  --kt-radius-sm: 8px;
  --kt-radius: 16px;
  --kt-radius-lg: 24px;
  --kt-ease: cubic-bezier(.22, 1, .36, 1);
  --kt-ease-in-out: cubic-bezier(.4, 0, .2, 1);
  --kt-duration-fast: 160ms;
  --kt-duration-feedback: 220ms;
  --kt-duration: 260ms;
  --kt-duration-reveal: 600ms;
  --kt-content-width: 1320px;
  --kt-gutter: clamp(20px, 4.4vw, 80px);
}

*, *::before, *::after { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 110px; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--kt-bg); color: var(--kt-text); font-family: var(--kt-font-body); -webkit-font-smoothing: antialiased; }
button, input, select, textarea { font: inherit; }
button, [role='button'] { cursor: pointer; }
button:disabled { cursor: not-allowed; }
a { color: inherit; }
img, svg { max-width: 100%; }
[hidden] { display: none !important; }
:where(a, button, input, textarea, select, summary, [tabindex]):focus-visible { outline: 2px solid var(--kt-accent); outline-offset: 5px; }
::selection { background: rgba(183, 133, 255, .35); color: var(--kt-text); }
.kt-container { width: min(var(--kt-content-width), calc(100% - var(--kt-gutter) * 2)); margin-inline: auto; }
.kt-eyebrow { display: flex; align-items: center; gap: 10px; color: var(--kt-accent); font: 500 10px/1.6 var(--kt-font-mono); letter-spacing: .16em; text-transform: uppercase; }
.kt-button { position: relative; display: inline-flex; align-items: center; justify-content: center; gap: 14px; min-height: 48px; padding: 13px 22px; border: 1px solid var(--kt-border); border-radius: var(--kt-radius-sm); background: var(--kt-glass-raised); color: var(--kt-text); font: 600 12px/1.5 var(--kt-font-body); text-decoration: none; transition: background-color var(--kt-duration-feedback) var(--kt-ease-in-out), color var(--kt-duration-feedback) var(--kt-ease-in-out), border-color var(--kt-duration-feedback) var(--kt-ease-in-out), box-shadow var(--kt-duration-feedback) var(--kt-ease-in-out); }
.kt-button:hover { border-color: var(--kt-border-active); background: var(--kt-light); box-shadow: var(--kt-glow); }
.kt-button:active { box-shadow: inset 0 0 0 1px var(--kt-border-active); }
.kt-button--primary { border-color: var(--kt-accent); background: var(--kt-accent); color: var(--kt-bg); box-shadow: 0 4px 28px rgba(183, 133, 255, .15); }
.kt-button--primary:hover { border-color: var(--kt-accent); background: var(--kt-accent); box-shadow: 0 4px 40px rgba(183, 133, 255, .28); }
.kt-button--ghost { background: transparent; }
.kt-button svg { flex: 0 0 auto; width: 16px; height: 16px; }
.kt-skip { position: fixed; z-index: 10000; top: 12px; left: 12px; padding: 14px 20px; transform: translateY(-180%); background: var(--kt-accent); color: var(--kt-bg); font: 600 13px var(--kt-font-body); text-decoration: none; }
.kt-skip:focus { transform: none; }
.kt-sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; border: 0; }
.kt-panel { border: 1px solid var(--kt-border); border-radius: var(--kt-radius); background: var(--kt-glass); box-shadow: var(--kt-shadow); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
[data-kt-reveal] { scroll-margin-top: 110px; }
.kt-reveal-pending { opacity: 0; transform: translate3d(0, 20px, 0); }
.kt-reveal-visible { opacity: 1; transform: none; transition: opacity var(--kt-duration-reveal) var(--kt-ease), transform var(--kt-duration-reveal) var(--kt-ease); transition-delay: var(--kt-reveal-delay, 0ms); }
@supports not (backdrop-filter: blur(1px)) { .kt-panel { background: var(--kt-panel); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; transition-delay: 0ms !important; }
  .kt-reveal-pending, .kt-reveal-visible { opacity: 1; transform: none; }
}
