/*fern-site-stylesheet*/@font-face {
    font-family: 'LimitlessSans';
    src: url('/_fern-files/8451.ferndocs.com/c9a27a8418e4fd9bb784badefdcabb526927790d899918200dafdfa5f25d9054/docs/assets/LimitlessSans-Regular.woff2') format('woff2');
    font-weight: 400;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'LimitlessSans';
    src: url('/_fern-files/8451.ferndocs.com/97479202243b1cf548fa42b665b9f2aa9b0c8978ebd46ca4d08438601e5da688/docs/assets/LimitlessSans-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}
@font-face {
    font-family: 'LimitlessSans';
    src: url('/_fern-files/8451.ferndocs.com/97479202243b1cf548fa42b665b9f2aa9b0c8978ebd46ca4d08438601e5da688/docs/assets/LimitlessSans-Bold.woff2') format('woff2');
    font-weight: 700;
    font-style: normal;
    font-display: swap;
}

: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: 'LimitlessSans', ui-sans-serif, system-ui, sans-serif, 'Apple Color Emoji', 'Segoe UI Emoji', 'Segoe UI Symbol', 'Noto Color Emoji';
  --font-heading: 'LimitlessSans', 'LimitlessSans', 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);
}


:root {
  --accent-1: #fdfcff;
  --accent-2: #fbf8ff;
  --accent-3: #f5ecff;
  --accent-4: #efe0ff;
  --accent-5: #e7d3ff;
  --accent-6: #dcc3ff;
  --accent-7: #cfaefe;
  --accent-8: #be91f9;
  --accent-9: #522281;
  --accent-10: #633695;
  --accent-11: #7b4eb0;
  --accent-12: #471474;

  --accent-a1: #5500ff03;
  --accent-a2: #6e00ff07;
  --accent-a3: #7900ff13;
  --accent-a4: #7c00ff1f;
  --accent-a5: #7400ff2c;
  --accent-a6: #6b00ff3c;
  --accent-a7: #6800fc51;
  --accent-a8: #6900f26e;
  --accent-a9: #37006edd;
  --accent-a10: #390079c9;
  --accent-a11: #41008db1;
  --accent-a12: #370068eb;

  --accent-contrast: #fff;
  --accent-surface: #faf6ffcc;
  --accent-indicator: #522281;
  --accent-track: #522281;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    :root {
      --accent-1: oklch(99.3% 0.0056 302.7);
      --accent-2: oklch(98.3% 0.0116 302.7);
      --accent-3: oklch(95.8% 0.0334 302.7);
      --accent-4: oklch(93% 0.0531 302.7);
      --accent-5: oklch(89.9% 0.0711 302.7);
      --accent-6: oklch(86% 0.0906 302.7);
      --accent-7: oklch(80.8% 0.116 302.7);
      --accent-8: oklch(73.9% 0.1525 302.7);
      --accent-9: oklch(37.5% 0.1512 302.7);
      --accent-10: oklch(43.8% 0.1512 302.7);
      --accent-11: oklch(52% 0.1525 302.7);
      --accent-12: oklch(33.3% 0.1512 302.7);

      --accent-a1: color(display-p3 0.349 0.0235 1 / 0.012);
      --accent-a2: color(display-p3 0.302 0.0235 0.8627 / 0.028);
      --accent-a3: color(display-p3 0.3725 0.0078 0.949 / 0.075);
      --accent-a4: color(display-p3 0.3686 0.0039 0.9373 / 0.118);
      --accent-a5: color(display-p3 0.3765 0.0039 0.9333 / 0.169);
      --accent-a6: color(display-p3 0.3412 0.0039 0.9333 / 0.232);
      --accent-a7: color(display-p3 0.3412 0.0039 0.9255 / 0.314);
      --accent-a8: color(display-p3 0.3373 0.0039 0.8824 / 0.424);
      --accent-a9: color(display-p3 0.1804 0 0.4 / 0.855);
      --accent-a10: color(display-p3 0.1882 0 0.4431 / 0.781);
      --accent-a11: color(display-p3 0.2118 0 0.5137 / 0.687);
      --accent-a12: color(display-p3 0.1765 0 0.3804 / 0.906);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9765 0.9647 1 / 0.8);
      --accent-indicator: oklch(37.5% 0.1512 302.7);
      --accent-track: oklch(37.5% 0.1512 302.7);
    }
  }
}


: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) {
    :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: #121211;
  --accent-3: #1f1f1d;
  --accent-4: #282826;
  --accent-5: #30302e;
  --accent-6: #3a3a37;
  --accent-7: #484845;
  --accent-8: #60605e;
  --accent-9: #fff;
  --accent-10: #f6f6f4;
  --accent-11: #b3b3b0;
  --accent-12: #eeeeec;

  --accent-a1: #00000000;
  --accent-a2: #fffff112;
  --accent-a3: #ffffef1f;
  --accent-a4: #fffff328;
  --accent-a5: #fffff530;
  --accent-a6: #fffff23a;
  --accent-a7: #fffff548;
  --accent-a8: #fffffa60;
  --accent-a9: #ffffff;
  --accent-a10: #fffffdf6;
  --accent-a11: #fffffbb3;
  --accent-a12: #fffffdee;

  --accent-contrast: #311921;
  --accent-surface: #24242280;
  --accent-indicator: #fff;
  --accent-track: #fff;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(0% 0.0023 106.5);
      --accent-2: oklch(18.3% 0.0022 106.5);
      --accent-3: oklch(23.9% 0.0032 106.5);
      --accent-4: oklch(27.5% 0.0036 106.5);
      --accent-5: oklch(30.8% 0.004 106.5);
      --accent-6: oklch(34.7% 0.004 106.5);
      --accent-7: oklch(40% 0.004 106.5);
      --accent-8: oklch(49% 0.004 106.5);
      --accent-9: oklch(100% 0 none);
      --accent-10: oklch(97.3% 0.0027 106.5);
      --accent-11: oklch(76.7% 0.004 106.5);
      --accent-12: oklch(94.8% 0.0027 106.5);

      --accent-a1: color(display-p3 0 0 0 / 0);
      --accent-a2: color(display-p3 0.9961 0.9961 0.9412 / 0.071);
      --accent-a3: color(display-p3 1 1 0.9333 / 0.122);
      --accent-a4: color(display-p3 1 1 0.9529 / 0.157);
      --accent-a5: color(display-p3 0.9961 0.9961 0.9569 / 0.189);
      --accent-a6: color(display-p3 1 1 0.949 / 0.228);
      --accent-a7: color(display-p3 1 1 0.9569 / 0.283);
      --accent-a8: color(display-p3 1 1 0.9804 / 0.377);
      --accent-a9: color(display-p3 1 1 1);
      --accent-a10: color(display-p3 1 1 0.9922 / 0.965);
      --accent-a11: color(display-p3 1 1 0.9843 / 0.702);
      --accent-a12: color(display-p3 1 1 0.9922 / 0.934);

      --accent-contrast: #311921;
      --accent-surface: color(display-p3 0.1412 0.1412 0.1333 / 0.5);
      --accent-indicator: oklch(100% 0 none);
      --accent-track: oklch(100% 0 none);
    }
  }
}


.dark {
  --grayscale-1: #111110;
  --grayscale-2: #191918;
  --grayscale-3: #222221;
  --grayscale-4: #2a2a28;
  --grayscale-5: #31312e;
  --grayscale-6: #3b3a37;
  --grayscale-7: #494844;
  --grayscale-8: #62605b;
  --grayscale-9: #6f6d66;
  --grayscale-10: #7c7b74;
  --grayscale-11: #b5b3ad;
  --grayscale-12: #eeeeec;

  --grayscale-a1: #00000000;
  --grayscale-a2: #f4f4f309;
  --grayscale-a3: #f6f6f513;
  --grayscale-a4: #fefef31b;
  --grayscale-a5: #fbfbeb23;
  --grayscale-a6: #fffaed2d;
  --grayscale-a7: #fffbed3c;
  --grayscale-a8: #fff9eb57;
  --grayscale-a9: #fffae965;
  --grayscale-a10: #fffdee73;
  --grayscale-a11: #fffcf4b0;
  --grayscale-a12: #fffffded;

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

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --grayscale-1: color(display-p3 0.067 0.067 0.063);
      --grayscale-2: color(display-p3 0.098 0.098 0.094);
      --grayscale-3: color(display-p3 0.135 0.135 0.129);
      --grayscale-4: color(display-p3 0.164 0.163 0.156);
      --grayscale-5: color(display-p3 0.193 0.192 0.183);
      --grayscale-6: color(display-p3 0.23 0.229 0.217);
      --grayscale-7: color(display-p3 0.285 0.282 0.267);
      --grayscale-8: color(display-p3 0.384 0.378 0.357);
      --grayscale-9: color(display-p3 0.434 0.428 0.403);
      --grayscale-10: color(display-p3 0.487 0.481 0.456);
      --grayscale-11: color(display-p3 0.707 0.703 0.68);
      --grayscale-12: color(display-p3 0.933 0.933 0.926);

      --grayscale-a1: #00000000;
      --grayscale-a2: #f4f4f309;
      --grayscale-a3: #f6f6f513;
      --grayscale-a4: #fefef31b;
      --grayscale-a5: #fbfbeb23;
      --grayscale-a6: #fffaed2d;
      --grayscale-a7: #fffbed3c;
      --grayscale-a8: #fff9eb57;
      --grayscale-a9: #fffae965;
      --grayscale-a10: #fffdee73;
      --grayscale-a11: #fffcf4b0;
      --grayscale-a12: #fffffded;

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

:root {
  color-scheme: light;
  --accent: rgba(82, 34, 129, 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: light;
  --background: #000000;
  --accent: #ffffff;
}

/* Product Switcher Toggle Theme */
:root [data-product-switcher-theme="toggle"] .fern-product-selector {
  background-color: var(--grayscale-3);
  border-radius: 9999px;
  padding: 4px;
  gap: 4px;
  height: 36px;
  align-items: center;
}

:root [data-product-switcher-theme="toggle"] .fern-product-selector .product-dropdown-trigger {
  padding: 2px 16px;
  border-radius: 9999px;
  font-size: 14px;
  font-weight: 600;
  border: none;
  background-color: transparent;
  color: var(--grayscale-11);
  cursor: pointer;
  transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out;
  white-space: nowrap;
  display: flex;
  align-items: center;
  text-decoration: none;
  height: 100%;
}

:root [data-product-switcher-theme="toggle"] .fern-product-selector .product-dropdown-trigger:not([data-active="true"]):hover {
  background-color: var(--grayscale-4);
}

:root [data-product-switcher-theme="toggle"] .fern-product-selector[data-state="open"] .product-dropdown-trigger,
:root [data-product-switcher-theme="toggle"] .fern-product-selector .product-dropdown-trigger[data-active="true"] {
  background-color: var(--background);
  color: var(--grayscale-12);
}

:root [data-product-switcher-theme="toggle"] .fern-product-selector .product-dropdown-trigger:not([data-active="true"]):focus-visible {
  background-color: var(--grayscale-4);
  outline: none;
}

.dark [data-product-switcher-theme="toggle"] .fern-product-selector {
  background-color: var(--grayscale-4);
}

.dark [data-product-switcher-theme="toggle"] .fern-product-selector .product-dropdown-trigger:not([data-active="true"]):hover {
  background-color: var(--grayscale-5);
}
.dark [data-product-switcher-theme="toggle"] .fern-product-selector .product-dropdown-trigger:not([data-active="true"]):focus-visible {
  background-color: var(--grayscale-5); outline: none;
}

.dark [data-product-switcher-theme="toggle"] .fern-product-selector[data-state="open"] .product-dropdown-trigger,
.dark [data-product-switcher-theme="toggle"] .fern-product-selector .product-dropdown-trigger[data-active="true"] {
  background-color: var(--grayscale-6);
}

/* ============================================================
   Home Page — Custom Landing Page Styles
   ============================================================ */

/* Hero band — extends behind fixed header (65px), diagonal cut matches Figma */
.hp-hero {
  clip-path: polygon(0 0, 100% 0, 100% 60%, 0 100%);
  height: 248px;
  margin-top: -65px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

/* Image positioned per Figma node 6:16 — shows wave/terrain bottom portion */
.hp-hero-img {
  display: block;
  height: 205.71%;
  left: 0;
  max-width: none;
  object-fit: cover;
  position: absolute;
  top: -105.69%;
  width: 100%;
}

/* ── Main white section ── */
.hp-main {
  background: white;
  padding: 72px clamp(24px, 12.5vw, 180px) 0;
}

.hp-title {
  color: #522281;
  font-size: clamp(36px, 4.6vw, 66px);
  font-weight: 700;
  letter-spacing: -2px;
  line-height: 1;
  margin: 0 0 20px;
}

.hp-subtitle {
  color: #8451ec;
  font-size: 18.9px;
  font-weight: 700;
  letter-spacing: -0.3px;
  line-height: 25px;
  margin: 0 0 20px;
}

.hp-divider {
  border: none;
  border-top: 1px solid #dfdbfa;
  margin: 0;
}

/* ── Cards grid — 3 equal columns matching Figma ── */
.hp-cards {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 49.5px;
  padding: 20px 0 60px;
}

/* Center single card in the middle column */
.hp-cards .hp-card-link:only-child {
  grid-column: 2;
}

.hp-card-link {
  display: block;
  text-decoration: none !important;
}

.hp-card-image {
  aspect-ratio: 327 / 231;
  border-radius: 6px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

.hp-card-image img {
  display: block;
  height: 100%;
  left: 0;
  object-fit: cover;
  position: absolute;
  top: 0;
  width: 100%;
}

/* Hover overlay — exact values from the provided screenshot */
.hp-card-image::after {
  background-blend-mode: multiply, normal, overlay;
  background-image:
    linear-gradient(180deg, rgba(82, 33, 129, .35), rgba(82, 33, 129, .35)),
    linear-gradient(180deg, rgba(82, 33, 129, .5),  rgba(82, 33, 129, .5)),
    linear-gradient(180deg, rgba(82, 33, 129, .55), rgba(82, 33, 129, .55));
  border-radius: .375rem;
  content: "";
  display: block;
  height: 100%;
  left: 0;
  mix-blend-mode: hard-light;
  opacity: 0;
  position: absolute;
  top: 0;
  transition: opacity .2s ease-in-out;
  width: 100%;
}

@media (hover: hover) {
  .hp-card-link:hover .hp-card-image::after {
    opacity: .3;
  }
}

.hp-card-title {
  color: #20203c;
  font-size: 19px;
  font-weight: 700;
  letter-spacing: -0.3px;
  line-height: 25px;
  margin: 22px 0 0;
}

/* ── CTA section ── */
.hp-cta-section {
  background: white;
  padding: 0 clamp(24px, 12.5vw, 180px) 120px;
}

/* Card container — matches Figma node 6:217 */
.hp-cta-card {
  background: white;
  border-radius: 6px;
  box-shadow: 0 2px 16px rgba(0, 0, 0, 0.07);
  height: 296px;
  overflow: hidden;
  position: relative;
  width: 100%;
}

/*
  Decorative sunburst SVG — matches Figma node 6:219
  inset: top -22%, right -2%, bottom -65.5%, left 52%
  (absolute positioning values relative to the card)
*/
.hp-cta-graphic-wrap {
  background: white;
  position: absolute;
  top: -22%;
  right: -2%;
  bottom: -65.5%;
  left: 52%;
}

.hp-cta-graphic-wrap img {
  display: block;
  height: 100%;
  max-width: none;
  object-fit: contain;
  object-position: center;
  position: absolute;
  width: 100%;
}

/* Text + button — matches Figma node 6:315: px-48 py-64, gap-36 */
.hp-cta-content {
  display: flex;
  flex-direction: column;
  gap: 36px;
  max-width: 544px;
  padding: 64px 48px;
  position: relative;
  z-index: 1;
}

.hp-cta-text {
  color: #535665;
  font-size: 16px;
  font-weight: 400;
  line-height: 28px;
  margin: 0;
}

/* Button — matches Figma node 6:319: bg #8451ec, h-48, rounded-3, uppercase */
.hp-cta-btn {
  align-items: center;
  background: #8451ec;
  border: 1px solid #8451ec;
  border-radius: 3px;
  color: white !important;
  display: inline-flex;
  font-size: 16px;
  font-weight: 400;
  gap: 10px;
  height: 48px;
  letter-spacing: -0.2px;
  padding: 0 22px;
  text-decoration: none !important;
  text-transform: uppercase;
  width: fit-content;
}

.hp-cta-btn:hover {
  background: #6b3cc7;
  border-color: #6b3cc7;
}
.hp-cta-btn:focus-visible {
  background: #6b3cc7;
  border-color: #6b3cc7;
}

@media (max-width: 640px) {

  /* Cards — single column on mobile */
  .hp-cards {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  /* Reduce section padding so card has room to breathe */
  .hp-cta-section {
    padding: 0 24px 80px;
  }

  /* CTA card — auto height so content isn't clipped */
  .hp-cta-card {
    height: auto;
  }

  /* Reduce content padding */
  .hp-cta-content {
    padding: 32px 24px;
    gap: 24px;
    max-width: 100%;
  }

  /* Hide decorative graphic on mobile to avoid overlap */
  .hp-cta-graphic-wrap {
    display: none;
  }

  /* Button full-width on mobile */
  .hp-cta-btn {
    width: 100%;
    justify-content: center;
  }

}

.hp-cta-btn .lucide-external-link {
  display: none;
}

#fern-search-button .fern-kbd{
  display: none;
}

[data-theme=default]#fern-header {
  background-color: white !important;
}

/* ── Landing page only (.hp-hero only exists on the landing page) ── */
body:has(.hp-hero) [data-testid="product-toggle"] {
  display: none !important;
}
body:has(.hp-hero) [data-radix-popper-content-wrapper]:has(a.fern-anchor) {
  display: none !important;
}