/*fern-site-stylesheet*/:root {
  --header-height: 64px;
  --header-height-real: 64px;
  --mobile-header-height-real: 64px;
  --content-width: 640px;
  --sidebar-width: 288px;
  --page-width: 100vw;
  --logo-height: 30px;
  --font-body: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-code: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace;
}

:root {
  --typography-body-font-family: var(--font-body);
  --typography-heading-font-family: var(--font-heading);
  --typography-code-font-family: var(--font-code);
}


.light, :root {
  --accent-1: #fdfdff;
  --accent-2: #f7f8ff;
  --accent-3: #eff1ff;
  --accent-4: #e3e7ff;
  --accent-5: #d5dcff;
  --accent-6: #c5ceff;
  --accent-7: #b1baff;
  --accent-8: #949dfd;
  --accent-9: #6a67ff;
  --accent-10: #5f59f0;
  --accent-11: #534cd7;
  --accent-12: #27266a;

  --accent-a1: #0000ff02;
  --accent-a2: #0020ff08;
  --accent-a3: #0020ff10;
  --accent-a4: #0025ff1c;
  --accent-a5: #002bff2a;
  --accent-a6: #0028ff3a;
  --accent-a7: #001eff4e;
  --accent-a8: #0116fb6b;
  --accent-a9: #0500ff98;
  --accent-a10: #0900e8a6;
  --accent-a11: #0a00c6b3;
  --accent-a12: #010050d9;

  --accent-contrast: #fff;
  --accent-surface: #f5f6ffcc;
  --accent-indicator: #6a67ff;
  --accent-track: #6a67ff;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.4% 0.0029 278.4);
      --accent-2: oklch(98.1% 0.0108 278.4);
      --accent-3: oklch(96.1% 0.0207 278.4);
      --accent-4: oklch(93.5% 0.0415 278.4);
      --accent-5: oklch(90.4% 0.0621 278.4);
      --accent-6: oklch(86.4% 0.0828 278.4);
      --accent-7: oklch(80.8% 0.1046 278.4);
      --accent-8: oklch(72.9% 0.1394 278.4);
      --accent-9: oklch(60.2% 0.2193 278.4);
      --accent-10: oklch(56% 0.2193 278.4);
      --accent-11: oklch(51% 0.2053 278.4);
      --accent-12: oklch(31.4% 0.1151 278.4);

      --accent-a1: color(display-p3 0.0196 0.0196 1 / 0.008);
      --accent-a2: color(display-p3 0.0196 0.1451 0.8784 / 0.032);
      --accent-a3: color(display-p3 0.0078 0.1294 0.9412 / 0.063);
      --accent-a4: color(display-p3 0.0039 0.1137 0.9294 / 0.106);
      --accent-a5: color(display-p3 0.0039 0.149 0.9294 / 0.161);
      --accent-a6: color(display-p3 0.0039 0.1294 0.9294 / 0.22);
      --accent-a7: color(display-p3 0.0039 0.098 0.9373 / 0.299);
      --accent-a8: color(display-p3 0.0039 0.0706 0.9176 / 0.412);
      --accent-a9: color(display-p3 0.0157 0 0.9412 / 0.597);
      --accent-a10: color(display-p3 0.0314 0 0.8549 / 0.651);
      --accent-a11: color(display-p3 0.0353 0 0.7333 / 0.702);
      --accent-a12: color(display-p3 0.0039 0 0.2941 / 0.851);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9608 0.9686 1 / 0.8);
      --accent-indicator: oklch(60.2% 0.2193 278.4);
      --accent-track: oklch(60.2% 0.2193 278.4);
    }
  }
}


.light, :root {
  --grayscale-1: #fdfcfd;
  --grayscale-2: #faf9fb;
  --grayscale-3: #f2eff3;
  --grayscale-4: #eae7ec;
  --grayscale-5: #e3dfe6;
  --grayscale-6: #dbd8e0;
  --grayscale-7: #d0cdd7;
  --grayscale-8: #bcbac7;
  --grayscale-9: #8e8c99;
  --grayscale-10: #84828e;
  --grayscale-11: #65636d;
  --grayscale-12: #211f26;

  --grayscale-a1: #55005503;
  --grayscale-a2: #2b005506;
  --grayscale-a3: #30004010;
  --grayscale-a4: #20003618;
  --grayscale-a5: #20003820;
  --grayscale-a6: #14003527;
  --grayscale-a7: #10003332;
  --grayscale-a8: #08003145;
  --grayscale-a9: #05001d73;
  --grayscale-a10: #0500197d;
  --grayscale-a11: #0400119c;
  --grayscale-a12: #020008e0;

  --grayscale-contrast: #000;
  --grayscale-surface: #ffffffcc;
  --grayscale-indicator: #8e8c99;
  --grayscale-track: #8e8c99;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --grayscale-1: color(display-p3 0.991 0.988 0.992);
      --grayscale-2: color(display-p3 0.98 0.976 0.984);
      --grayscale-3: color(display-p3 0.946 0.938 0.952);
      --grayscale-4: color(display-p3 0.915 0.906 0.925);
      --grayscale-5: color(display-p3 0.886 0.876 0.901);
      --grayscale-6: color(display-p3 0.856 0.846 0.875);
      --grayscale-7: color(display-p3 0.814 0.804 0.84);
      --grayscale-8: color(display-p3 0.735 0.728 0.777);
      --grayscale-9: color(display-p3 0.555 0.549 0.596);
      --grayscale-10: color(display-p3 0.514 0.508 0.552);
      --grayscale-11: color(display-p3 0.395 0.388 0.424);
      --grayscale-12: color(display-p3 0.128 0.122 0.147);

      --grayscale-a1: #55005503;
      --grayscale-a2: #2b005506;
      --grayscale-a3: #30004010;
      --grayscale-a4: #20003618;
      --grayscale-a5: #20003820;
      --grayscale-a6: #14003527;
      --grayscale-a7: #10003332;
      --grayscale-a8: #08003145;
      --grayscale-a9: #05001d73;
      --grayscale-a10: #0500197d;
      --grayscale-a11: #0400119c;
      --grayscale-a12: #020008e0;

      --grayscale-contrast: #000;
      --grayscale-surface: color(display-p3 1 1 1 / 80%);
      --grayscale-indicator: color(display-p3 0.555 0.549 0.596);
      --grayscale-track: color(display-p3 0.555 0.549 0.596);
    }
  }
}


.dark {
  --accent-1: #000;
  --accent-2: #0d0f21;
  --accent-3: #1c1b4c;
  --accent-4: #26226e;
  --accent-5: #302c81;
  --accent-6: #393890;
  --accent-7: #4545a6;
  --accent-8: #5352c5;
  --accent-9: #6a67ff;
  --accent-10: #5f59f0;
  --accent-11: #a3acff;
  --accent-12: #dae0ff;

  --accent-a1: #00000000;
  --accent-a2: #6574ff21;
  --accent-a3: #5e5bff4c;
  --accent-a4: #594fff6e;
  --accent-a5: #5f57ff81;
  --accent-a6: #6564ff90;
  --accent-a7: #6a6affa6;
  --accent-a8: #6c6affc5;
  --accent-a9: #6a67ff;
  --accent-a10: #655ffff0;
  --accent-a11: #a3acff;
  --accent-a12: #dae0ff;

  --accent-contrast: #fff;
  --accent-surface: #1a1e4280;
  --accent-indicator: #6a67ff;
  --accent-track: #6a67ff;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(0% 0.0284 278.4);
      --accent-2: oklch(17.7% 0.0374 278.4);
      --accent-3: oklch(25.7% 0.0873 278.4);
      --accent-4: oklch(31% 0.1269 278.4);
      --accent-5: oklch(35.4% 0.1374 278.4);
      --accent-6: oklch(39.8% 0.1414 278.4);
      --accent-7: oklch(44.7% 0.1523 278.4);
      --accent-8: oklch(50.6% 0.1748 278.4);
      --accent-9: oklch(60.2% 0.2193 278.4);
      --accent-10: oklch(56% 0.2193 278.4);
      --accent-11: oklch(77.6% 0.1638 278.4);
      --accent-12: oklch(91.3% 0.0532 278.4);

      --accent-a1: color(display-p3 0 0 0 / 0);
      --accent-a2: color(display-p3 0.4078 0.4706 0.9961 / 0.126);
      --accent-a3: color(display-p3 0.3843 0.3725 1 / 0.287);
      --accent-a4: color(display-p3 0.349 0.3216 1 / 0.416);
      --accent-a5: color(display-p3 0.3804 0.3569 1 / 0.487);
      --accent-a6: color(display-p3 0.4118 0.4039 1 / 0.546);
      --accent-a7: color(display-p3 0.4314 0.4314 1 / 0.628);
      --accent-a8: color(display-p3 0.4353 0.4314 1 / 0.746);
      --accent-a9: color(display-p3 0.4275 0.4196 1 / 0.965);
      --accent-a10: color(display-p3 0.4078 0.3843 1 / 0.906);
      --accent-a11: color(display-p3 0.6627 0.6902 1 / 0.977);
      --accent-a12: color(display-p3 0.8667 0.8863 1 / 0.989);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.1098 0.1176 0.251 / 0.5);
      --accent-indicator: oklch(60.2% 0.2193 278.4);
      --accent-track: oklch(60.2% 0.2193 278.4);
    }
  }
}


.dark {
  --grayscale-1: #121113;
  --grayscale-2: #1a191b;
  --grayscale-3: #232225;
  --grayscale-4: #2b292d;
  --grayscale-5: #323035;
  --grayscale-6: #3c393f;
  --grayscale-7: #49474e;
  --grayscale-8: #625f69;
  --grayscale-9: #6f6d78;
  --grayscale-10: #7c7a85;
  --grayscale-11: #b5b2bc;
  --grayscale-12: #eeeef0;

  --grayscale-a1: #00000000;
  --grayscale-a2: #f5f4f609;
  --grayscale-a3: #ebeaf814;
  --grayscale-a4: #eee5f81d;
  --grayscale-a5: #efe6fe25;
  --grayscale-a6: #f1e6fd30;
  --grayscale-a7: #eee9ff40;
  --grayscale-a8: #eee7ff5d;
  --grayscale-a9: #eae6fd6e;
  --grayscale-a10: #ece9fd7c;
  --grayscale-a11: #f5f1ffb7;
  --grayscale-a12: #fdfdffef;

  --grayscale-contrast: #fff;
  --grayscale-surface: rgba(0, 0, 0, 0.05);
  --grayscale-indicator: #6f6d78;
  --grayscale-track: #6f6d78;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.07 0.067 0.074);
      --grayscale-2: color(display-p3 0.101 0.098 0.105);
      --grayscale-3: color(display-p3 0.138 0.134 0.144);
      --grayscale-4: color(display-p3 0.167 0.161 0.175);
      --grayscale-5: color(display-p3 0.196 0.189 0.206);
      --grayscale-6: color(display-p3 0.232 0.225 0.245);
      --grayscale-7: color(display-p3 0.286 0.277 0.302);
      --grayscale-8: color(display-p3 0.383 0.373 0.408);
      --grayscale-9: color(display-p3 0.434 0.428 0.467);
      --grayscale-10: color(display-p3 0.487 0.48 0.519);
      --grayscale-11: color(display-p3 0.707 0.7 0.735);
      --grayscale-12: color(display-p3 0.933 0.933 0.94);

      --grayscale-a1: #00000000;
      --grayscale-a2: #f5f4f609;
      --grayscale-a3: #ebeaf814;
      --grayscale-a4: #eee5f81d;
      --grayscale-a5: #efe6fe25;
      --grayscale-a6: #f1e6fd30;
      --grayscale-a7: #eee9ff40;
      --grayscale-a8: #eee7ff5d;
      --grayscale-a9: #eae6fd6e;
      --grayscale-a10: #ece9fd7c;
      --grayscale-a11: #f5f1ffb7;
      --grayscale-a12: #fdfdffef;

      --grayscale-contrast: #fff;
      --grayscale-surface: color(display-p3 0 0 0 / 5%);
      --grayscale-indicator: color(display-p3 0.434 0.428 0.467);
      --grayscale-track: color(display-p3 0.434 0.428 0.467);
    }
  }
}

.light, :root {
  color-scheme: light;
  --accent: rgba(106, 103, 255, 1);
  --background: rgba(255, 255, 255, 1);
  --border: initial;
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(106, 103, 255, 1);
  --background: rgba(0, 0, 0, 1);
  --border: initial;
  --sidebar-background: initial;
  --header-background: color-mix(in srgb, var(--background), transparent 30%);
  --card-background: initial;
  --theme-color: #000;
}

.hero-section {
  text-align: center;
  padding: 120px 40px;
  min-height: 600px;
  margin: -24px -24px 0;
  background: var(--fern-color-bg-primary);
  position: relative;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.hero-content {
  max-width: 800px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: center;
}

.hero-images {
  position: relative;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-template-rows: repeat(3, 1fr);
  gap: 20px;
  margin-left: 40px;
  z-index: 1;
}

.hero-image {
  width: 120px;
  height: 120px;
  border-radius: 24px;
  background: white;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.1);
  overflow: hidden;
}

.hero-title {
  font-size: 56px;
  font-weight: 800;
  margin-bottom: 24px;
  color: var(--fern-color-text-primary);
  line-height: 1.2;
}

.hero-subtitle {
  font-size: 20px;
  color: var(--fern-color-text-secondary) !important;
  margin: 0 0 32px;
  line-height: 1.6;
  font-weight: 400;
}

.button-group {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
  width: 100%;
  margin-top: 48px;
}

/* Common button styles */
.button-group a {
  padding: 16px 32px;
  border-radius: 8px;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.3s ease;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}

/* Primary button */
.hero-section .button-group a:first-child {
  background: var(--fern-color-accent-primary);
  color: var(--fern-color-text-on-primary);
  box-shadow: 0 4px 20px rgba(99, 102, 241, 0.3);
}

/* Secondary button */
.hero-section .button-group a:last-child {
  background: transparent;
  color: var(--fern-color-accent-primary);
  border: 2px solid var(--fern-color-accent-primary);
}

/* Button hover effects */
.button-group a:hover {
  transform: translateY(-2px);
}
.button-group a:focus-visible {
  transform: translateY(-2px);
}

.hero-section .button-group a:first-child:hover {
  background: var(--fern-color-accent-primary-darker);
  box-shadow: 0 6px 25px rgba(99, 102, 241, 0.4);
}
.hero-section .button-group a:first-child:focus-visible {
  background: var(--fern-color-accent-primary-darker);
  box-shadow: 0 6px 25px rgba(99, 102, 241, 0.4);
}

.hero-section .button-group a:last-child:hover {
  background: var(--fern-color-accent-primary-transparent);
}
.hero-section .button-group a:last-child:focus-visible {
  background: var(--fern-color-accent-primary-transparent);
}

.features-section {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 32px;
  padding: 80px 40px;
  background: var(--fern-color-bg-primary);
}

.feature {
  padding: 32px;
  border-radius: 16px;
  background: var(--fern-color-bg-elevated);
  border: 1px solid var(--fern-color-border);
  transition: all 0.3s ease;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.feature:hover {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  border-color: var(--fern-color-accent-primary);
}
.feature:focus-visible {
  transform: translateY(-4px);
  box-shadow: 0 20px 40px rgba(0, 0, 0, 0.1);
  border-color: var(--fern-color-accent-primary);
}

.feature h2 {
  margin-top: 24px;
  font-size: 24px;
  color: var(--fern-color-text-primary);
  font-weight: 700;
}

.feature p {
  color: var(--fern-color-text-secondary);
  margin: 16px 0 0;
  line-height: 1.6;
}

.feature-icon {
  width: 48px;
  height: 48px;
  border-radius: 12px;
  background: var(--fern-color-bg-elevated);
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid var(--fern-color-border);
}

.feature-icon svg {
  stroke: var(--fern-color-accent-primary);
}

.cta-section {
  text-align: center;
  padding: 80px 40px;
  background: var(--fern-color-bg-primary);
}

/* Override Fern's default button styles */
.fern-button,
.fern-mdx-link {
  border-radius: 8px !important;
}

.group.cursor-pointer.fern-button.filled.normal.primary {
  background: var(--fern-color-accent-primary);
  color: var(--fern-color-text-on-primary);
  border-radius: 8px !important;
  padding: 16px 32px;
  font-weight: 600;
  border: none;
  transition: all 0.3s ease;
}

.group.cursor-pointer.fern-button.filled.normal.primary:hover {
  background: var(--fern-color-accent-primary-darker);
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(99, 102, 241, 0.4);
}
.group.cursor-pointer.fern-button.filled.normal.primary:focus-visible {
  background: var(--fern-color-accent-primary-darker);
  transform: translateY(-2px);
  box-shadow: 0 6px 25px rgba(99, 102, 241, 0.4);
}

@media (max-width: 768px) {

  .hero-section {
    flex-direction: column;
    text-align: center;
    padding: 80px 20px;
  }

  .hero-content {
    max-width: 100%;
  }

  .hero-images {
    margin: 40px 0 0;
    grid-template-columns: repeat(2, 1fr);
  }

  .button-group {
    justify-content: center;
  }

  .features-section {
    padding: 60px 20px;
  }

}