/*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: 22px;
  --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: #fffcfc;
  --accent-2: #fff7f8;
  --accent-3: #ffe9eb;
  --accent-4: #ffdadf;
  --accent-5: #ffccd2;
  --accent-6: #fdbcc4;
  --accent-7: #f5a8b2;
  --accent-8: #ec8e9c;
  --accent-9: #e40c5b;
  --accent-10: #d4004f;
  --accent-11: #d50050;
  --accent-12: #6a0a28;

  --accent-a1: #ff000003;
  --accent-a2: #ff002008;
  --accent-a3: #ff001816;
  --accent-a4: #ff002325;
  --accent-a5: #ff001e33;
  --accent-a6: #f8001f43;
  --accent-a7: #e2001e57;
  --accent-a8: #d5002071;
  --accent-a9: #e30053f3;
  --accent-a10: #d4004f;
  --accent-a11: #d50050;
  --accent-a12: #64001ff5;

  --accent-contrast: #fff;
  --accent-surface: #fff5f6cc;
  --accent-indicator: #e40c5b;
  --accent-track: #e40c5b;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .light, :root {
      --accent-1: oklch(99.4% 0.0038 10.68);
      --accent-2: oklch(98.3% 0.0095 10.68);
      --accent-3: oklch(95.4% 0.0271 10.68);
      --accent-4: oklch(92.7% 0.0481 10.68);
      --accent-5: oklch(89.5% 0.0625 10.68);
      --accent-6: oklch(85.7% 0.0752 10.68);
      --accent-7: oklch(80.9% 0.091 10.68);
      --accent-8: oklch(74.9% 0.1154 10.68);
      --accent-9: oklch(58.9% 0.2319 10.68);
      --accent-10: oklch(54.6% 0.2323 10.68);
      --accent-11: oklch(55% 0.2319 10.68);
      --accent-12: oklch(34.1% 0.1274 10.68);

      --accent-a1: color(display-p3 0.6745 0.0235 0.0235 / 0.012);
      --accent-a2: color(display-p3 0.8784 0.0196 0.1451 / 0.032);
      --accent-a3: color(display-p3 0.8118 0.0078 0.0588 / 0.083);
      --accent-a4: color(display-p3 0.8353 0.0078 0.1176 / 0.142);
      --accent-a5: color(display-p3 0.8392 0.0078 0.0863 / 0.193);
      --accent-a6: color(display-p3 0.8157 0.0039 0.0941 / 0.251);
      --accent-a7: color(display-p3 0.7529 0.0039 0.098 / 0.33);
      --accent-a8: color(display-p3 0.7098 0.0039 0.102 / 0.428);
      --accent-a9: color(display-p3 0.7765 0 0.2196 / 0.812);
      --accent-a10: color(display-p3 0.7137 0 0.1882 / 0.84);
      --accent-a11: color(display-p3 0.7176 0 0.1922 / 0.84);
      --accent-a12: color(display-p3 0.3255 0 0.0863 / 0.918);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.9961 0.9608 0.9647 / 0.8);
      --accent-indicator: oklch(58.9% 0.2319 10.68);
      --accent-track: oklch(58.9% 0.2319 10.68);
    }
  }
}


.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: #140b0c;
  --accent-2: #1f1314;
  --accent-3: #3d1019;
  --accent-4: #54061d;
  --accent-5: #650c26;
  --accent-6: #771a31;
  --accent-7: #922841;
  --accent-8: #be3455;
  --accent-9: #ee0c5d;
  --accent-10: #de0051;
  --accent-11: #ff8da1;
  --accent-12: #ffd0d5;

  --accent-a1: #00b30003;
  --accent-a2: #e7f1830b;
  --accent-a3: #fe334b2b;
  --accent-a4: #ff004444;
  --accent-a5: #fe125357;
  --accent-a6: #fd32606b;
  --accent-a7: #ff446d88;
  --accent-a8: #ff4470b8;
  --accent-a9: #fe0c63ed;
  --accent-a10: #ff005cdb;
  --accent-a11: #ff8da1;
  --accent-a12: #ffd0d5;

  --accent-contrast: #fff;
  --accent-surface: #281d1980;
  --accent-indicator: #ee0c5d;
  --accent-track: #ee0c5d;
}

@supports (color: color(display-p3 1 1 1)) {
  @media (color-gamut: p3) {
    .dark {
      --accent-1: oklch(16.2% 0.0166 11.4);
      --accent-2: oklch(20.3% 0.0212 11.4);
      --accent-3: oklch(25.2% 0.0717 11.4);
      --accent-4: oklch(29.1% 0.1082 11.4);
      --accent-5: oklch(33.2% 0.1209 11.4);
      --accent-6: oklch(38.2% 0.1269 11.4);
      --accent-7: oklch(44.9% 0.1405 11.4);
      --accent-8: oklch(54.3% 0.1747 11.4);
      --accent-9: oklch(60.8% 0.2395 11.4);
      --accent-10: oklch(56.6% 0.2395 11.4);
      --accent-11: oklch(78.6% 0.1948 11.4);
      --accent-12: oklch(90.6% 0.0635 11.4);

      --accent-a1: color(display-p3 0 0.8275 0 / 0.005);
      --accent-a2: color(display-p3 0.9843 0.9451 0.5647 / 0.039);
      --accent-a3: color(display-p3 0.9961 0.2706 0.3412 / 0.154);
      --accent-a4: color(display-p3 1 0.1176 0.302 / 0.243);
      --accent-a5: color(display-p3 1 0.1961 0.3686 / 0.307);
      --accent-a6: color(display-p3 1 0.2902 0.4235 / 0.379);
      --accent-a7: color(display-p3 1 0.349 0.4706 / 0.486);
      --accent-a8: color(display-p3 1 0.3569 0.4824 / 0.66);
      --accent-a9: color(display-p3 1 0.2235 0.4314 / 0.843);
      --accent-a10: color(display-p3 1 0.2078 0.4 / 0.783);
      --accent-a11: color(display-p3 1 0.6118 0.6745 / 0.937);
      --accent-a12: color(display-p3 0.9961 0.8471 0.8588 / 0.971);

      --accent-contrast: #fff;
      --accent-surface: color(display-p3 0.149 0.1098 0.0941 / 0.5);
      --accent-indicator: oklch(60.8% 0.2395 11.4);
      --accent-track: oklch(60.8% 0.2395 11.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(228, 12, 91, 1);
  --background: rgba(255, 255, 255, 1);
  --border: rgba(226, 228, 232, 1);
  --sidebar-background: rgba(242, 242, 242, 1);
  --header-background: rgba(255, 255, 255, 1);
  --card-background: rgba(255, 255, 255, 1);
  --theme-color: #fff;
}

.dark {
  color-scheme: dark;
  --accent: rgba(238, 12, 93, 1);
  --background: rgba(22, 9, 15, 1);
  --border: rgba(65, 39, 60, 1);
  --sidebar-background: rgba(22, 9, 15, 1);
  --header-background: rgba(18, 10, 14, 1);
  --card-background: rgba(22, 9, 15, 1);
  --theme-color: #16090f;
}

/* Check Point brand typography: Arial for body and headings, Consolas for code.
   Applied here because these are system fonts that cannot be bundled as woff2. */
body,
h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: Arial, Helvetica, sans-serif;
}

code,
pre,
kbd,
samp {
  font-family: Consolas, "SFMono-Regular", Menlo, monospace;
}

/* "AI Security" wordmark next to the logo: these docs cover the AI Security
   product line. Rendered via CSS so the logo SVG itself stays unmodified. */
a[data-fern-logo]::after {
  content: "AI Security";
  margin-left: 10px;
  padding-left: 10px;
  border-left: 1px solid #e2e4e8;
  font-family: Arial, Helvetica, sans-serif;
  font-size: 14px;
  font-weight: 600;
  line-height: 1;
  letter-spacing: 0.01em;
  color: #41273c;
  white-space: nowrap;
}

/* Fern toggles dark mode via a class on <html>; data-theme kept as a fallback. */
html.dark a[data-fern-logo]::after,
.dark a[data-fern-logo]::after,
[data-theme="dark"] a[data-fern-logo]::after {
  color: #ffffff;
  border-left-color: #41273c;
}

.hero {
  padding: 0.5rem 2rem;
  max-width: 1200px;
  margin: 0 auto;
}

.hero-content {
  text-align: center;
  margin-bottom: 1rem;
}

.hero h1 {
  font-size: 3.5rem;
  font-weight: 700;
  line-height: 1.2;
  margin-bottom: 1rem;
}

.highlight {
  background: linear-gradient(120deg, #ee0c5d 0%, #b70d4e 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.subtitle {
  font-size: 1.25rem;
  color: var(--text-secondary);
  max-width: 600px;
  margin: 0 auto 2rem;
}

.cta-buttons {
  display: flex;
  gap: 1rem;
  justify-content: center;
  margin-top: 2rem;
}

.button {
  padding: 0.75rem 1.5rem;
  border-radius: 8px;
  font-weight: 500;
  transition: all 0.2s ease;
  text-decoration: none;
}

.button.primary {
  background: #e40c5b;
  color: white;
  border-radius: 8px;
  padding: 0.5rem 1rem;
  font-weight: 600;
}

.button.primary:hover {
  background: #b70d4e;
}
.button.primary:focus-visible {
  background: #b70d4e; outline: none;
}

.button.secondary {
  background: #41273c;
  color: white;
  border-radius: 8px;
  padding: 0.5rem 1rem;
  font-weight: 600;
}

.button.secondary:hover {
  background: #2e1b2a;
}
.button.secondary:focus-visible {
  background: #2e1b2a; outline: none;
}

.button.tertiary {
  background: #f2f2f2;
  color: black;
  border-radius: 8px;
  padding: 0.5rem 1rem;
  font-weight: 600;
}

.button.tertiary:hover {
  background: #efefefff;
}
.button.tertiary:focus-visible {
  background: #efefefff; outline: none;
}

.feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 2rem;
  margin-top: 4rem;
}

.feature-card {
  padding: 1.5rem;
  border-radius: 12px;
  background: var(--background-secondary);
  border: 1px solid var(--border-color);
  transition: all 0.2s ease;
}

.feature-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}
.feature-card:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1); outline: none;
}

.feature-card h3 {
  font-size: 1.25rem;
  margin-bottom: 0.75rem;
  color: var(--text-primary);
}

.feature-card p {
  color: var(--text-secondary);
  line-height: 1.5;
}

/* Dark mode adjustments */
[data-theme="dark"] .feature-card {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(255, 255, 255, 0.1);
}

[data-theme="dark"] .feature-card:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3);
}
[data-theme="dark"] .feature-card:focus-visible {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.3); outline: none;
}

.fern-sidebar-link {
  cursor: pointer;
}

.fern-sidebar-link:not(:last-child) {
  margin-bottom: 4px;
}
