/* Header (launch bar, navbar, mega-menus, mobile menu, language picker) and footer, from the
   launch-site design export. Both partials sit in a .ck-chrome wrapper; every rule here is
   scoped to it or to #LPNavBar / #CkFooter, so nothing reaches the page content.
   The utilities block is generated: tools/build_chrome_css.py. The rest is written by hand. */

:where(.ck-chrome) > * {
  font-family: "Plus Jakarta Sans", -apple-system, system-ui, "Segoe UI", Roboto, sans-serif;
  line-height: 1.5;
  -webkit-text-size-adjust: 100%;
  tab-size: 4;
  font-feature-settings: "kern" 1;
  color: #042f2e;
}
.ck-chrome { display: contents; }
:where(.ck-chrome) a {
  color: #042f2e;
  text-decoration: none;
}
.ck-chrome details > summary { list-style: none; }
.ck-chrome details > summary::-webkit-details-marker { display: none; }
/* Tailwind's preflight, scoped to the header and footer, so page styles (styles-v2.css on the HubSpot pages,
   site-styles.css on the launch-site pages) don't reach them. One class stronger than the export's
   :where(.ck-chrome) version, so it holds whichever stylesheet loads later; still below the utilities. */
.ck-chrome *,
.ck-chrome ::before,
.ck-chrome ::after {
  box-sizing: border-box;
  border-width: 0;
  border-style: solid;
  border-color: #e5e7eb;
}
.ck-chrome ::before,
.ck-chrome ::after { --tw-content: ''; }
.ck-chrome hr {
  height: 0;
  color: inherit;
  border-top-width: 1px;
}
.ck-chrome abbr:where([title]) {
  -webkit-text-decoration: underline dotted;
  text-decoration: underline dotted;
}
.ck-chrome h1,
.ck-chrome h2,
.ck-chrome h3,
.ck-chrome h4,
.ck-chrome h5,
.ck-chrome h6 {
  font-size: inherit;
  font-weight: inherit;
}
.ck-chrome a {
  color: inherit;
  text-decoration: inherit;
}
.ck-chrome b,
.ck-chrome strong { font-weight: bolder; }
.ck-chrome code,
.ck-chrome kbd,
.ck-chrome samp,
.ck-chrome pre {
  font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  font-feature-settings: normal;
  font-variation-settings: normal;
  font-size: 1em;
}
.ck-chrome small { font-size: 80%; }
.ck-chrome sub,
.ck-chrome sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}
.ck-chrome sub { bottom: -0.25em; }
.ck-chrome sup { top: -0.5em; }
.ck-chrome table {
  text-indent: 0;
  border-color: inherit;
  border-collapse: collapse;
}
.ck-chrome button,
.ck-chrome input,
.ck-chrome optgroup,
.ck-chrome select,
.ck-chrome textarea {
  font-family: inherit;
  font-feature-settings: inherit;
  font-variation-settings: inherit;
  font-size: 100%;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
  color: inherit;
  margin: 0;
  padding: 0;
}
.ck-chrome button,
.ck-chrome select { text-transform: none; }
.ck-chrome button,
.ck-chrome input:where([type='button']),
.ck-chrome input:where([type='reset']),
.ck-chrome input:where([type='submit']) {
  -webkit-appearance: button;
  background-color: transparent;
  background-image: none;
}
.ck-chrome :-moz-focusring { outline: auto; }
.ck-chrome :-moz-ui-invalid { box-shadow: none; }
.ck-chrome progress { vertical-align: baseline; }
.ck-chrome ::-webkit-inner-spin-button,
.ck-chrome ::-webkit-outer-spin-button { height: auto; }
.ck-chrome [type='search'] {
  -webkit-appearance: textfield;
  outline-offset: -2px;
}
.ck-chrome ::-webkit-search-decoration { -webkit-appearance: none; }
.ck-chrome ::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit;
}
.ck-chrome summary { display: list-item; }
.ck-chrome blockquote,
.ck-chrome dl,
.ck-chrome dd,
.ck-chrome h1,
.ck-chrome h2,
.ck-chrome h3,
.ck-chrome h4,
.ck-chrome h5,
.ck-chrome h6,
.ck-chrome hr,
.ck-chrome figure,
.ck-chrome p,
.ck-chrome pre {
  margin: 0;
}
.ck-chrome fieldset {
  margin: 0;
  padding: 0;
}
.ck-chrome legend { padding: 0; }
.ck-chrome ol,
.ck-chrome ul,
.ck-chrome menu {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ck-chrome dialog { padding: 0; }
.ck-chrome textarea { resize: vertical; }
.ck-chrome input::-moz-placeholder,
.ck-chrome textarea::-moz-placeholder {
  opacity: 1;
  color: #9ca3af;
}
.ck-chrome input::placeholder,
.ck-chrome textarea::placeholder {
  opacity: 1;
  color: #9ca3af;
}
.ck-chrome button,
.ck-chrome [role="button"] { cursor: pointer; }
.ck-chrome :disabled { cursor: default; }
.ck-chrome img,
.ck-chrome svg,
.ck-chrome video,
.ck-chrome canvas,
.ck-chrome audio,
.ck-chrome iframe,
.ck-chrome embed,
.ck-chrome object {
  display: block;
  vertical-align: middle;
}
.ck-chrome img,
.ck-chrome video {
  max-width: 100%;
  height: auto;
}
.ck-chrome [hidden]:where(:not([hidden="until-found"])) { display: none; }
/* styles-v2's .btn-default sets its own size; in the design the button takes its row's text size
   (before the utilities, so text-[13px] and the like still apply) */
.ck-chrome .btn-default {
  font-size: inherit;
  line-height: inherit;
  gap: normal;
  padding: 0;
  justify-content: normal;
  text-align: start;
}

/* utilities:start (tools/build_chrome_css.py; don't edit by hand) */
/* Design tokens and Tailwind theme values the utilities use, on the chrome only */
.ck-chrome {
  --color-white: #fff;
  --spacing: 0.25rem;
  --container-md: 28rem;
  --container-2xl: 42rem;
  --container-7xl: 80rem;
  --text-xs: 0.75rem;
  --text-xs--line-height: calc(1 / 0.75);
  --text-sm: 0.875rem;
  --text-sm--line-height: calc(1.25 / 0.875);
  --text-base: 1rem;
  --text-base--line-height: calc(1.5 / 1);
  --text-lg: 1.125rem;
  --text-lg--line-height: calc(1.75 / 1.125);
  --text-3xl: 1.875rem;
  --text-3xl--line-height: calc(2.25 / 1.875);
  --text-4xl: 2.25rem;
  --text-4xl--line-height: calc(2.5 / 2.25);
  --font-weight-normal: 400;
  --font-weight-medium: 500;
  --font-weight-semibold: 600;
  --font-weight-bold: 700;
  --tracking-wide: 0.025em;
  --leading-tight: 1.25;
  --leading-snug: 1.375;
  --leading-normal: 1.5;
  --radius-xs: 0.125rem;
  --radius-2xl: 1rem;
  --ease-out: cubic-bezier(0, 0, 0.2, 1);
  --default-transition-duration: 150ms;
  --default-transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1);
  --default-font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  --default-mono-font-family: "Plus Jakarta Sans", system-ui, sans-serif;
  --color-border: var(--border);
  --ck-deep: #042f2e;
  --ck-dark: #125467;
  --ck-mint: #17b0b5;
  --ck-mint-light: #9bf4ef;
  --ck-mint-lighter: #cdfaf7;
  --ck-accent: #0e94b5;
  --ck-border: #c8d3d9;
  --ck-muted-fg: #406160;
  --ck-gray-50: #f4f6f7;
  --ck-gray-100: #eceff1;
  --radius: 0.5rem;
  --background: #ffffff;
  --foreground: #042f2e;
  --card: #ffffff;
  --card-foreground: #042f2e;
  --popover: #ffffff;
  --popover-foreground: #042f2e;
  --primary: #9bf4ef;
  --primary-foreground: #053747;
  --secondary: #eceff1;
  --secondary-foreground: #042f2e;
  --muted: #f4f6f7;
  --muted-foreground: #406160;
  --accent: #cdfaf7;
  --accent-foreground: #042f2e;
  --destructive: #dc2626;
  --border: #e5e7eb;
  --input: #c8d3d9;
  --ring: #17b0b5;
  --ck-tint: #cdfaf7;
  --ck-bg: #f4f6f7;
  --ck-alt: #eceff1;
  --ck-text-4: #406160;
  --ck-text-muted: #647f7e;
  --ck-faint: #94a6a7;
}
@property --tw-rotate-x {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-y {
  syntax: "*";
  inherits: false;
}
@property --tw-rotate-z {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-x {
  syntax: "*";
  inherits: false;
}
@property --tw-skew-y {
  syntax: "*";
  inherits: false;
}
@property --tw-border-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
@property --tw-gradient-position {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-via {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-to {
  syntax: "<color>";
  inherits: false;
  initial-value: #0000;
}
@property --tw-gradient-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-via-stops {
  syntax: "*";
  inherits: false;
}
@property --tw-gradient-from-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 0%;
}
@property --tw-gradient-via-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 50%;
}
@property --tw-gradient-to-position {
  syntax: "<length-percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-leading {
  syntax: "*";
  inherits: false;
}
@property --tw-font-weight {
  syntax: "*";
  inherits: false;
}
@property --tw-tracking {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-inset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-shadow-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-shadow-alpha {
  syntax: "<percentage>";
  inherits: false;
  initial-value: 100%;
}
@property --tw-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-inset-ring-color {
  syntax: "*";
  inherits: false;
}
@property --tw-inset-ring-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-ring-inset {
  syntax: "*";
  inherits: false;
}
@property --tw-ring-offset-width {
  syntax: "<length>";
  inherits: false;
  initial-value: 0px;
}
@property --tw-ring-offset-color {
  syntax: "*";
  inherits: false;
  initial-value: #fff;
}
@property --tw-ring-offset-shadow {
  syntax: "*";
  inherits: false;
  initial-value: 0 0 #0000;
}
@property --tw-duration {
  syntax: "*";
  inherits: false;
}
@property --tw-ease {
  syntax: "*";
  inherits: false;
}
@property --tw-translate-x {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-y {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-translate-z {
  syntax: "*";
  inherits: false;
  initial-value: 0;
}
@property --tw-outline-style {
  syntax: "*";
  inherits: false;
  initial-value: solid;
}
.ck-chrome .tracking-ck-tight {
  letter-spacing: -0.02em;
}
.ck-chrome .shadow-base {
  box-shadow: 0 12px 36px -12px rgba(4,47,46,0.22), 0 4px 12px rgba(4,47,46,0.06);
}
.ck-chrome .lp-footer a {
  text-decoration: none;
}
.ck-chrome .invisible {
  visibility: hidden;
}
.ck-chrome .sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border-width: 0;
}
.ck-chrome .absolute {
  position: absolute;
}
.ck-chrome .fixed {
  position: fixed;
}
.ck-chrome .relative {
  position: relative;
}
.ck-chrome .sticky {
  position: sticky;
}
.ck-chrome .inset-0 {
  inset: 0px;
}
.ck-chrome .inset-y-0 {
  inset-block: 0px;
}
.ck-chrome .top-0 {
  top: 0px;
}
.ck-chrome .top-2 {
  top: calc(var(--spacing) * 2);
}
.ck-chrome .top-full {
  top: 100%;
}
.ck-chrome .right-0 {
  right: 0px;
}
.ck-chrome .right-2 {
  right: calc(var(--spacing) * 2);
}
.ck-chrome .bottom-2\.5 {
  bottom: calc(var(--spacing) * 2.5);
}
.ck-chrome .bottom-full {
  bottom: 100%;
}
.ck-chrome .-left-4 {
  left: calc(var(--spacing) * -4);
}
.ck-chrome .left-0 {
  left: 0px;
}
.ck-chrome .left-2\.5 {
  left: calc(var(--spacing) * 2.5);
}
.ck-chrome .z-10 {
  z-index: 10;
}
.ck-chrome .z-40 {
  z-index: 40;
}
.ck-chrome .z-50 {
  z-index: 50;
}
.ck-chrome .z-\[60\] {
  z-index: 60;
}
.ck-chrome .z-\[80\] {
  z-index: 80;
}
.ck-chrome .col-start-3 {
  grid-column-start: 3;
}
.ck-chrome .row-start-1 {
  grid-row-start: 1;
}
.ck-chrome .container {
  width: 100%;
}
@media (min-width: 40rem) {
  .ck-chrome .container {
    max-width: 40rem;
  }
}
@media (min-width: 48rem) {
  .ck-chrome .container {
    max-width: 48rem;
  }
}
@media (min-width: 64rem) {
  .ck-chrome .container {
    max-width: 64rem;
  }
}
@media (min-width: 80rem) {
  .ck-chrome .container {
    max-width: 80rem;
  }
}
@media (min-width: 96rem) {
  .ck-chrome .container {
    max-width: 96rem;
  }
}
@media (min-width: 120rem) {
  .ck-chrome .container {
    max-width: 120rem;
  }
}
.ck-chrome .-m-2\.5 {
  margin: calc(var(--spacing) * -2.5);
}
.ck-chrome .-mx-2 {
  margin-inline: calc(var(--spacing) * -2);
}
.ck-chrome .-mx-2\.5 {
  margin-inline: calc(var(--spacing) * -2.5);
}
.ck-chrome .mx-\[22px\] {
  margin-inline: 22px;
}
.ck-chrome .mx-auto {
  margin-inline: auto;
}
.ck-chrome .-my-1 {
  margin-block: calc(var(--spacing) * -1);
}
.ck-chrome .my-0\.5 {
  margin-block: calc(var(--spacing) * 0.5);
}
.ck-chrome .-mt-4 {
  margin-top: calc(var(--spacing) * -4);
}
.ck-chrome .mt-1 {
  margin-top: var(--spacing);
}
.ck-chrome .mt-2 {
  margin-top: calc(var(--spacing) * 2);
}
.ck-chrome .mt-2\.5 {
  margin-top: calc(var(--spacing) * 2.5);
}
.ck-chrome .mt-3 {
  margin-top: calc(var(--spacing) * 3);
}
.ck-chrome .mt-6 {
  margin-top: calc(var(--spacing) * 6);
}
.ck-chrome .mt-auto {
  margin-top: auto;
}
.ck-chrome .-mr-2\.5 {
  margin-right: calc(var(--spacing) * -2.5);
}
.ck-chrome .-mb-1 {
  margin-bottom: calc(var(--spacing) * -1);
}
.ck-chrome .mb-1 {
  margin-bottom: var(--spacing);
}
.ck-chrome .mb-2 {
  margin-bottom: calc(var(--spacing) * 2);
}
.ck-chrome .ml-1\.5 {
  margin-left: calc(var(--spacing) * 1.5);
}
.ck-chrome .ml-auto {
  margin-left: auto;
}
.ck-chrome .block {
  display: block;
}
.ck-chrome .flex {
  display: flex;
}
.ck-chrome .grid {
  display: grid;
}
.ck-chrome .hidden {
  display: none;
}
.ck-chrome .inline-block {
  display: inline-block;
}
.ck-chrome .inline-flex {
  display: inline-flex;
}
.ck-chrome .h-2 {
  height: calc(var(--spacing) * 2);
}
.ck-chrome .h-3\.5 {
  height: calc(var(--spacing) * 3.5);
}
.ck-chrome .h-5 {
  height: calc(var(--spacing) * 5);
}
.ck-chrome .h-6 {
  height: calc(var(--spacing) * 6);
}
.ck-chrome .h-7 {
  height: calc(var(--spacing) * 7);
}
.ck-chrome .h-8 {
  height: calc(var(--spacing) * 8);
}
.ck-chrome .h-8\.5 {
  height: calc(var(--spacing) * 8.5);
}
.ck-chrome .h-10 {
  height: calc(var(--spacing) * 10);
}
.ck-chrome .h-11 {
  height: calc(var(--spacing) * 11);
}
.ck-chrome .h-12 {
  height: calc(var(--spacing) * 12);
}
.ck-chrome .h-\[7px\] {
  height: 7px;
}
.ck-chrome .h-\[22px\] {
  height: 22px;
}
.ck-chrome .h-\[30px\] {
  height: 30px;
}
.ck-chrome .h-\[34px\] {
  height: 34px;
}
.ck-chrome .h-\[132px\] {
  height: 132px;
}
.ck-chrome .h-auto {
  height: auto;
}
.ck-chrome .min-h-0 {
  min-height: 0px;
}
.ck-chrome .min-h-11 {
  min-height: calc(var(--spacing) * 11);
}
.ck-chrome .min-h-14 {
  min-height: calc(var(--spacing) * 14);
}
.ck-chrome .min-h-\[240px\] {
  min-height: 240px;
}
.ck-chrome .w-2 {
  width: calc(var(--spacing) * 2);
}
.ck-chrome .w-3\.5 {
  width: calc(var(--spacing) * 3.5);
}
.ck-chrome .w-5 {
  width: calc(var(--spacing) * 5);
}
.ck-chrome .w-8 {
  width: calc(var(--spacing) * 8);
}
.ck-chrome .w-8\.5 {
  width: calc(var(--spacing) * 8.5);
}
.ck-chrome .w-10 {
  width: calc(var(--spacing) * 10);
}
.ck-chrome .w-11 {
  width: calc(var(--spacing) * 11);
}
.ck-chrome .w-\[7px\] {
  width: 7px;
}
.ck-chrome .w-\[26px\] {
  width: 26px;
}
.ck-chrome .w-\[30px\] {
  width: 30px;
}
.ck-chrome .w-\[129px\] {
  width: 129px;
}
.ck-chrome .w-\[150px\] {
  width: 150px;
}
.ck-chrome .w-\[184px\] {
  width: 184px;
}
.ck-chrome .w-\[200px\] {
  width: 200px;
}
.ck-chrome .w-\[272px\] {
  width: 272px;
}
.ck-chrome .w-\[336px\] {
  width: 336px;
}
.ck-chrome .w-\[460px\] {
  width: 460px;
}
.ck-chrome .w-\[1236px\] {
  width: 1236px;
}
.ck-chrome .w-auto {
  width: auto;
}
.ck-chrome .w-full {
  width: 100%;
}
.ck-chrome .w-px {
  width: 1px;
}
.ck-chrome .max-w-\[calc\(100vw-48px\)\] {
  max-width: calc(100vw - 48px);
}
.ck-chrome .max-w-full {
  max-width: 100%;
}
.ck-chrome .min-w-0 {
  min-width: 0px;
}
.ck-chrome .flex-1 {
  flex: 1;
}
.ck-chrome .flex-none {
  flex: none;
}
.ck-chrome .shrink-0 {
  flex-shrink: 0;
}
.ck-chrome .rotate-180 {
  rotate: 180deg;
}
.ck-chrome .cursor-pointer {
  cursor: pointer;
}
.ck-chrome .list-none {
  list-style-type: none;
}
.ck-chrome .grid-cols-1 {
  grid-template-columns: repeat(1, minmax(0, 1fr));
}
.ck-chrome .grid-cols-2 {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}
.ck-chrome .grid-cols-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ck-chrome .grid-cols-\[minmax\(0\,1fr\)_minmax\(0\,1fr\)_minmax\(0\,1\.15fr\)\] {
  grid-template-columns: minmax(0,1fr) minmax(0,1fr) minmax(0,1.15fr);
}
.ck-chrome .flex-col {
  flex-direction: column;
}
.ck-chrome .flex-wrap {
  flex-wrap: wrap;
}
.ck-chrome .items-center {
  align-items: center;
}
.ck-chrome .items-start {
  align-items: flex-start;
}
.ck-chrome .items-stretch {
  align-items: stretch;
}
.ck-chrome .justify-between {
  justify-content: space-between;
}
.ck-chrome .justify-center {
  justify-content: center;
}
.ck-chrome .justify-start {
  justify-content: flex-start;
}
.ck-chrome .gap-0 {
  gap: 0px;
}
.ck-chrome .gap-0\.5 {
  gap: calc(var(--spacing) * 0.5);
}
.ck-chrome .gap-1 {
  gap: var(--spacing);
}
.ck-chrome .gap-1\.5 {
  gap: calc(var(--spacing) * 1.5);
}
.ck-chrome .gap-2 {
  gap: calc(var(--spacing) * 2);
}
.ck-chrome .gap-2\.5 {
  gap: calc(var(--spacing) * 2.5);
}
.ck-chrome .gap-3 {
  gap: calc(var(--spacing) * 3);
}
.ck-chrome .gap-3\.5 {
  gap: calc(var(--spacing) * 3.5);
}
.ck-chrome .gap-4 {
  gap: calc(var(--spacing) * 4);
}
.ck-chrome .gap-5 {
  gap: calc(var(--spacing) * 5);
}
.ck-chrome .gap-6 {
  gap: calc(var(--spacing) * 6);
}
.ck-chrome .gap-8 {
  gap: calc(var(--spacing) * 8);
}
.ck-chrome .gap-x-2 {
  column-gap: calc(var(--spacing) * 2);
}
.ck-chrome .gap-x-4 {
  column-gap: calc(var(--spacing) * 4);
}
.ck-chrome .gap-x-6 {
  column-gap: calc(var(--spacing) * 6);
}
.ck-chrome .gap-x-8 {
  column-gap: calc(var(--spacing) * 8);
}
.ck-chrome .gap-y-2 {
  row-gap: calc(var(--spacing) * 2);
}
.ck-chrome .gap-y-3 {
  row-gap: calc(var(--spacing) * 3);
}
.ck-chrome .gap-y-5 {
  row-gap: calc(var(--spacing) * 5);
}
.ck-chrome .self-stretch {
  align-self: stretch;
}
.ck-chrome .overflow-hidden {
  overflow: hidden;
}
.ck-chrome .overflow-y-auto {
  overflow-y: auto;
}
.ck-chrome .rounded-2xl {
  border-radius: var(--radius-2xl);
}
.ck-chrome .rounded-\[6px\] {
  border-radius: 6px;
}
.ck-chrome .rounded-full {
  border-radius: calc(infinity * 1px);
}
.ck-chrome .rounded-lg {
  border-radius: var(--radius);
}
.ck-chrome .rounded-md {
  border-radius: calc(var(--radius) - 2px);
}
.ck-chrome .rounded-sm {
  border-radius: calc(var(--radius) - 4px);
}
.ck-chrome .rounded-xl {
  border-radius: calc(var(--radius) + 4px);
}
.ck-chrome .border {
  border-style: var(--tw-border-style);
  border-width: 1px;
}
.ck-chrome .border-t {
  border-top-style: var(--tw-border-style);
  border-top-width: 1px;
}
.ck-chrome .border-b {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 1px;
}
.ck-chrome .border-l {
  border-left-style: var(--tw-border-style);
  border-left-width: 1px;
}
.ck-chrome .border-\[\#17b0b5\]\/30 {
  border-color: color-mix(in oklab, #17b0b5 30%, transparent);
}
.ck-chrome .border-\[\#dfe5e8\] {
  border-color: #dfe5e8;
}
.ck-chrome .border-base-border {
  border-color: var(--ck-border);
}
.ck-chrome .border-base-border\/50 {
  border-color: rgba(200, 211, 217, 0.5);
}
@supports (color: color-mix(in lab, red, red)) {
  .ck-chrome .border-base-border\/50 {
    border-color: color-mix(in oklab, var(--ck-border) 50%, transparent);
  }
}
.ck-chrome .bg-\[\#0e3b3a\] {
  background-color: #0e3b3a;
}
.ck-chrome .bg-\[\#17b0b5\] {
  background-color: #17b0b5;
}
.ck-chrome .bg-\[\#CDFAF7\] {
  background-color: #CDFAF7;
}
.ck-chrome .bg-base-border {
  background-color: var(--ck-border);
}
.ck-chrome .bg-ck-dark {
  background-color: var(--ck-dark);
}
.ck-chrome .bg-ck-deep\/30 {
  background-color: rgba(4, 47, 46, 0.3);
}
@supports (color: color-mix(in lab, red, red)) {
  .ck-chrome .bg-ck-deep\/30 {
    background-color: color-mix(in oklab, var(--ck-deep) 30%, transparent);
  }
}
.ck-chrome .bg-ck-mint {
  background-color: var(--ck-mint);
}
.ck-chrome .bg-ck-mint-light {
  background-color: var(--ck-mint-light);
}
.ck-chrome .bg-ck-tint {
  background-color: var(--ck-tint);
}
.ck-chrome .bg-ck-tint\/40 {
  background-color: rgba(205, 250, 247, 0.4);
}
@supports (color: color-mix(in lab, red, red)) {
  .ck-chrome .bg-ck-tint\/40 {
    background-color: color-mix(in oklab, var(--ck-tint) 40%, transparent);
  }
}
.ck-chrome .bg-codekeeper-gray-50 {
  background-color: var(--ck-bg);
}
.ck-chrome .bg-codekeeper-gray-100 {
  background-color: var(--ck-alt);
}
.ck-chrome .bg-white {
  background-color: var(--color-white);
}
.ck-chrome .fill-base-primary {
  fill: var(--ck-deep);
}
.ck-chrome .object-contain {
  object-fit: contain;
}
.ck-chrome .object-cover {
  object-fit: cover;
}
.ck-chrome .\[padding\:2px_6px\] {
  padding: 2px 6px;
}
.ck-chrome .p-3 {
  padding: calc(var(--spacing) * 3);
}
.ck-chrome .p-4 {
  padding: calc(var(--spacing) * 4);
}
.ck-chrome .px-1\.5 {
  padding-inline: calc(var(--spacing) * 1.5);
}
.ck-chrome .px-2 {
  padding-inline: calc(var(--spacing) * 2);
}
.ck-chrome .px-2\.5 {
  padding-inline: calc(var(--spacing) * 2.5);
}
.ck-chrome .px-3 {
  padding-inline: calc(var(--spacing) * 3);
}
.ck-chrome .px-4 {
  padding-inline: calc(var(--spacing) * 4);
}
.ck-chrome .px-5 {
  padding-inline: calc(var(--spacing) * 5);
}
.ck-chrome .px-6 {
  padding-inline: calc(var(--spacing) * 6);
}
.ck-chrome .px-7 {
  padding-inline: calc(var(--spacing) * 7);
}
.ck-chrome .px-8 {
  padding-inline: calc(var(--spacing) * 8);
}
.ck-chrome .px-\[22px\] {
  padding-inline: 22px;
}
.ck-chrome .py-0 {
  padding-block: 0px;
}
.ck-chrome .py-1 {
  padding-block: var(--spacing);
}
.ck-chrome .py-1\.5 {
  padding-block: calc(var(--spacing) * 1.5);
}
.ck-chrome .py-2 {
  padding-block: calc(var(--spacing) * 2);
}
.ck-chrome .py-2\.5 {
  padding-block: calc(var(--spacing) * 2.5);
}
.ck-chrome .py-3 {
  padding-block: calc(var(--spacing) * 3);
}
.ck-chrome .py-3\.5 {
  padding-block: calc(var(--spacing) * 3.5);
}
.ck-chrome .py-4 {
  padding-block: calc(var(--spacing) * 4);
}
.ck-chrome .py-6 {
  padding-block: calc(var(--spacing) * 6);
}
.ck-chrome .py-7 {
  padding-block: calc(var(--spacing) * 7);
}
.ck-chrome .py-9 {
  padding-block: calc(var(--spacing) * 9);
}
.ck-chrome .pt-1\.5 {
  padding-top: calc(var(--spacing) * 1.5);
}
.ck-chrome .pt-2 {
  padding-top: calc(var(--spacing) * 2);
}
.ck-chrome .pt-3 {
  padding-top: calc(var(--spacing) * 3);
}
.ck-chrome .pt-3\.5 {
  padding-top: calc(var(--spacing) * 3.5);
}
.ck-chrome .pt-6 {
  padding-top: calc(var(--spacing) * 6);
}
.ck-chrome .pt-7 {
  padding-top: calc(var(--spacing) * 7);
}
.ck-chrome .pt-9 {
  padding-top: calc(var(--spacing) * 9);
}
.ck-chrome .pr-2\.5 {
  padding-right: calc(var(--spacing) * 2.5);
}
.ck-chrome .pb-0\.5 {
  padding-bottom: calc(var(--spacing) * 0.5);
}
.ck-chrome .pb-1 {
  padding-bottom: var(--spacing);
}
.ck-chrome .pb-2 {
  padding-bottom: calc(var(--spacing) * 2);
}
.ck-chrome .pb-4 {
  padding-bottom: calc(var(--spacing) * 4);
}
.ck-chrome .pb-5 {
  padding-bottom: calc(var(--spacing) * 5);
}
.ck-chrome .pb-6 {
  padding-bottom: calc(var(--spacing) * 6);
}
.ck-chrome .pb-8 {
  padding-bottom: calc(var(--spacing) * 8);
}
.ck-chrome .pl-6 {
  padding-left: calc(var(--spacing) * 6);
}
.ck-chrome .pl-8 {
  padding-left: calc(var(--spacing) * 8);
}
.ck-chrome .text-center {
  text-align: center;
}
.ck-chrome .text-left {
  text-align: left;
}
.ck-chrome .text-base {
  font-size: var(--text-base);
  line-height: var(--tw-leading, var(--text-base--line-height));
}
.ck-chrome .text-sm {
  font-size: var(--text-sm);
  line-height: var(--tw-leading, var(--text-sm--line-height));
}
.ck-chrome .text-xs {
  font-size: var(--text-xs);
  line-height: var(--tw-leading, var(--text-xs--line-height));
}
.ck-chrome .text-\[10px\] {
  font-size: 10px;
}
.ck-chrome .text-\[11px\] {
  font-size: 11px;
}
.ck-chrome .text-\[13px\] {
  font-size: 13px;
}
.ck-chrome .text-\[15px\] {
  font-size: 15px;
}
.ck-chrome .text-\[17px\] {
  font-size: 17px;
}
.ck-chrome .leading-4 {
  --tw-leading: calc(var(--spacing) * 4);
  line-height: calc(var(--spacing) * 4);
}
.ck-chrome .leading-\[16px\] {
  --tw-leading: 16px;
  line-height: 16px;
}
.ck-chrome .leading-normal {
  --tw-leading: var(--leading-normal);
  line-height: var(--leading-normal);
}
.ck-chrome .leading-snug {
  --tw-leading: var(--leading-snug);
  line-height: var(--leading-snug);
}
.ck-chrome .leading-tight {
  --tw-leading: var(--leading-tight);
  line-height: var(--leading-tight);
}
.ck-chrome .font-bold {
  --tw-font-weight: var(--font-weight-bold);
  font-weight: var(--font-weight-bold);
}
.ck-chrome .font-medium {
  --tw-font-weight: var(--font-weight-medium);
  font-weight: var(--font-weight-medium);
}
.ck-chrome .font-semibold {
  --tw-font-weight: var(--font-weight-semibold);
  font-weight: var(--font-weight-semibold);
}
.ck-chrome .tracking-\[0\.04em\] {
  --tw-tracking: 0.04em;
  letter-spacing: 0.04em;
}
.ck-chrome .tracking-\[0\.06em\] {
  --tw-tracking: 0.06em;
  letter-spacing: 0.06em;
}
.ck-chrome .tracking-\[0\.08em\] {
  --tw-tracking: 0.08em;
  letter-spacing: 0.08em;
}
.ck-chrome .tracking-ck-tight {
  --tw-tracking: -0.02em;
  letter-spacing: -0.02em;
}
.ck-chrome .tracking-wide {
  --tw-tracking: var(--tracking-wide);
  letter-spacing: var(--tracking-wide);
}
.ck-chrome .whitespace-nowrap {
  white-space: nowrap;
}
.ck-chrome .text-\[\#2a7a89\] {
  color: #2a7a89;
}
.ck-chrome .text-\[\#053747\] {
  color: #053747;
}
.ck-chrome .text-base-muted-foreground {
  color: var(--ck-text-4);
}
.ck-chrome .text-base-primary {
  color: var(--ck-deep);
}
.ck-chrome .text-base-soft {
  color: var(--ck-text-muted);
}
.ck-chrome .text-ck-dark {
  color: var(--ck-dark);
}
.ck-chrome .text-ck-deep {
  color: var(--ck-deep);
}
.ck-chrome .text-ck-mint {
  color: var(--ck-mint);
}
.ck-chrome .text-white {
  color: var(--color-white);
}
.ck-chrome .uppercase {
  text-transform: uppercase;
}
.ck-chrome .no-underline {
  text-decoration-line: none;
}
.ck-chrome .decoration-1 {
  text-decoration-thickness: 1px;
}
.ck-chrome .subpixel-antialiased {
  -webkit-font-smoothing: auto;
  -moz-osx-font-smoothing: auto;
}
.ck-chrome .opacity-80 {
  opacity: 80%;
}
.ck-chrome .shadow-\[0_12px_28px_-8px_rgba\(4\,47\,46\,0\.22\)\] {
  --tw-shadow: 0 12px 28px -8px var(--tw-shadow-color, rgba(4,47,46,0.22));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.ck-chrome .shadow-base {
  --tw-shadow: 0 24px 48px var(--tw-shadow-color, rgb(4 47 46 / 0.14)), 0 2px 6px var(--tw-shadow-color, rgb(4 47 46 / 0.06));
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.ck-chrome .ring-2 {
  --tw-ring-shadow: var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color, currentcolor);
  box-shadow: var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow);
}
.ck-chrome .ring-codekeeper-gray-50 {
  --tw-ring-color: var(--ck-bg);
}
.ck-chrome .transition-transform {
  transition-property: transform, translate, scale, rotate;
  transition-timing-function: var(--tw-ease, var(--default-transition-timing-function));
  transition-duration: var(--tw-duration, var(--default-transition-duration));
}
.ck-chrome .duration-200 {
  --tw-duration: 200ms;
  transition-duration: 200ms;
}
.ck-chrome .group-open\:rotate-180:is(:where(.group):is([open], :popover-open, :open) *) {
  rotate: 180deg;
}
@media (hover: hover) {
  .ck-chrome .group-hover\/feat\:underline:is(:where(.group\/feat):hover *) {
    text-decoration-line: underline;
  }
  .ck-chrome .group-hover\/fl\:text-base-primary:is(:where(.group\/fl):hover *) {
    color: var(--ck-deep);
  }
  .ck-chrome .group-hover\/fl\:underline:is(:where(.group\/fl):hover *) {
    text-decoration-line: underline;
  }
}
.ck-chrome .last\:border-b-0:last-child {
  border-bottom-style: var(--tw-border-style);
  border-bottom-width: 0px;
}
@media (hover: hover) {
  .ck-chrome .hover\:bg-ck-alt:hover {
    background-color: var(--ck-alt);
  }
  .ck-chrome .hover\:bg-codekeeper-gray-100:hover {
    background-color: var(--ck-alt);
  }
  .ck-chrome .hover\:underline:hover {
    text-decoration-line: underline;
  }
  .ck-chrome .hover\:opacity-100:hover {
    opacity: 100%;
  }
}
.ck-chrome .active\:bg-codekeeper-gray-100:active {
  background-color: var(--ck-alt);
}
@media (min-width: 40rem) {
  .ck-chrome .sm\:inline {
    display: inline;
  }
  .ck-chrome .sm\:inline-flex {
    display: inline-flex;
  }
  .ck-chrome .sm\:max-w-md {
    max-width: var(--container-md);
  }
  .ck-chrome .sm\:text-sm {
    font-size: var(--text-sm);
    line-height: var(--tw-leading, var(--text-sm--line-height));
  }
}
@media (min-width: 48rem) {
  .ck-chrome .md\:pointer-events-none {
    pointer-events: none;
  }
  .ck-chrome .md\:ml-auto {
    margin-left: auto;
  }
  .ck-chrome .md\:block {
    display: block;
  }
  .ck-chrome .md\:flex {
    display: flex;
  }
  .ck-chrome .md\:hidden {
    display: none;
  }
  .ck-chrome .md\:h-auto {
    height: auto;
  }
  .ck-chrome .md\:max-w-2xl {
    max-width: var(--container-2xl);
  }
  .ck-chrome .md\:grid-cols-3 {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .ck-chrome .md\:flex-row {
    flex-direction: row;
  }
  .ck-chrome .md\:flex-wrap {
    flex-wrap: wrap;
  }
  .ck-chrome .md\:items-center {
    align-items: center;
  }
  .ck-chrome .md\:gap-2 {
    gap: calc(var(--spacing) * 2);
  }
  .ck-chrome .md\:gap-y-10 {
    row-gap: calc(var(--spacing) * 10);
  }
  .ck-chrome .md\:border-0 {
    border-style: var(--tw-border-style);
    border-width: 0px;
  }
  .ck-chrome .md\:py-1 {
    padding-block: var(--spacing);
  }
  .ck-chrome .md\:pb-0 {
    padding-bottom: 0px;
  }
}
@media (min-width: 64rem) {
  .ck-chrome .lg\:flex {
    display: flex;
  }
  .ck-chrome .lg\:hidden {
    display: none;
  }
  .ck-chrome .lg\:max-w-7xl {
    max-width: var(--container-7xl);
  }
  .ck-chrome .lg\:flex-row {
    flex-direction: row;
  }
  .ck-chrome .lg\:items-center {
    align-items: center;
  }
  .ck-chrome .lg\:justify-between {
    justify-content: space-between;
  }
}
@media (min-width: 80rem) {
  .ck-chrome .xl\:flex {
    display: flex;
  }
  .ck-chrome .xl\:hidden {
    display: none;
  }
  .ck-chrome .xl\:grid-cols-6 {
    grid-template-columns: repeat(6, minmax(0, 1fr));
  }
}
@media (min-width: 96rem) {
  .ck-chrome .\32 xl\:-left-2 {
    left: calc(var(--spacing) * -2);
  }
  .ck-chrome .\32 xl\:inline {
    display: inline;
  }
  .ck-chrome .\32 xl\:gap-1 {
    gap: var(--spacing);
  }
  .ck-chrome .\32 xl\:gap-3\.5 {
    gap: calc(var(--spacing) * 3.5);
  }
  .ck-chrome .\32 xl\:gap-5 {
    gap: calc(var(--spacing) * 5);
  }
  .ck-chrome .\32 xl\:px-3\.5 {
    padding-inline: calc(var(--spacing) * 3.5);
  }
  .ck-chrome .\32 xl\:px-4 {
    padding-inline: calc(var(--spacing) * 4);
  }
}
/* utilities:end */

/* Skip link (first thing in the header partial) */
.ck-skip {
  position: absolute;
  left: 12px;
  top: -80px;
  z-index: 2000;
  padding: 10px 16px;
  border-radius: 8px;
  background: #042f2e;
  color: #fff;
  font: 600 15px/1.3 system-ui, sans-serif;
  text-decoration: none;
}
.ck-skip:focus {
  top: 12px;
  outline: 2px solid #9bf4ef;
  outline-offset: 2px;
}

/* Launch bar */
.ck-chrome-top .ck-launch {
  position: sticky;
  top: 0;
  transition: background-color 200ms ease;
}
.ck-launch:hover { background-color: #C2F8F4; }
.ck-launch-line {
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.ck-launch-sheen {
  position: absolute;
  inset: 0;
  background: linear-gradient(100deg, rgba(255,255,255,0) 30%, rgba(255,255,255,0.9) 50%, rgba(255,255,255,0) 70%);
  transform: translateX(-100%);
  animation: ck-sheen 7s cubic-bezier(.4,0,.2,1) infinite 1.5s;
}
@keyframes ck-sheen {
  0% { transform: translateX(-100%); }
  22%, 100% { transform: translateX(100%); }
}
.ck-launch-tag { animation: ck-tag-glow 3.2s ease-in-out infinite; }
@keyframes ck-tag-glow {
  0%, 100% { box-shadow: 0 0 0 0 rgba(18,84,103,0); }
  50% { box-shadow: 0 0 0 4px rgba(18,84,103,0.14); }
}
.ck-launch-arrow { transition: transform 200ms ease; }
.ck-launch:hover .ck-launch-arrow { transform: translateX(3px); }
.ck-launch-cta {
  background: linear-gradient(currentColor, currentColor) 0 100%/0 1.5px no-repeat;
  padding-bottom: 1px;
  transition: background-size 250ms cubic-bezier(.2,.8,.2,1);
}
.ck-launch:hover .ck-launch-cta { background-size: 100% 1.5px; }
@media (prefers-reduced-motion: reduce) {
  .ck-launch-sheen {
    animation: none;
    display: none;
  }
  .ck-launch-tag { animation: none; }
}

/* Header: sticks under the launch bar (site-chrome.js sets its top to the bar's height) */
#LPNavBar {
  position: sticky;
  top: 0;
  z-index: 50;
  transition: background-color 200ms ease, border-color 200ms ease;
}
.ck-chrome .btn-default {
  background: #9bf4ef;
  color: #053747;
  border-radius: 6px;
  font-weight: 700;
}
.ck-chrome .btn-default:hover { background: #17b0b5; }
.ck-cs { margin: 0 6px 0 10px; }
@media (min-width: 1024px) and (max-width: 1279px) {
  #LPNavBar .lp-navbar-lg { gap: 20px !important; }
}

/* Mega-menus (xl and up): open on hover/focus, site-chrome.js toggles .is-open */
@media (min-width: 1280px) {
  .ck-chrome .nav-panel { display: none; }
  .ck-chrome .has-menu > .nav-trigger > svg { transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1); }
  .ck-chrome .has-menu.is-open > .nav-trigger > svg { transform: rotate(180deg); }
  .ck-chrome .has-menu > .nav-trigger:hover,
  .ck-chrome .has-menu.is-open > .nav-trigger { background: #eceff1; }
  .ck-chrome .has-menu.is-open > .nav-panel { display: flex; }
}

/* Language picker */
.ck-chrome .lang-btn > svg:last-child { transition: transform 200ms cubic-bezier(0.16, 1, 0.3, 1); }
.ck-chrome .lang.is-open .lang-btn > svg:last-child { transform: rotate(180deg); }
.ck-chrome .lang.is-open > .lang-menu { display: block; }

/* Mobile menu */
.ck-chrome #mobile-accordion summary::-webkit-details-marker { display: none; }
.ck-chrome #mobile-accordion summary {
  list-style: none;
  padding: 0;
  font-family: inherit;
  font-size: 1rem;
}
.ck-chrome #mobile-accordion details {
  border: 0;
  border-radius: 0;
  background: none;
  padding: 0;
}
.ck-chrome #mobile-accordion summary::after,
.ck-chrome #mobile-accordion details[open] summary::after { content: none; }
.ck-chrome #mobile-accordion details p {
  padding: 0;
  font-size: inherit;
}
.ck-chrome #mobileMenu > div:last-child { overflow-x: hidden; }

/* Header over dark sections ([data-nav="dark"]): site-chrome.js adds .ck-nav-dark */
#LPNavBar .logo-white { display: none; }
#LPNavBar.ck-nav-dark {
  background-color: #125467 !important;
  border-bottom-color: rgba(255, 255, 255, 0.10) !important;
}
#LPNavBar.ck-nav-dark .logo-default { display: none; }
#LPNavBar.ck-nav-dark .logo-white { display: block; }
#LPNavBar.ck-nav-dark .header-nav > li > a,
#LPNavBar.ck-nav-dark .lp-navbar-lg .lang-btn,
#LPNavBar.ck-nav-dark .lp-navbar-lg a[href*="app.codekeeper.co"],
#LPNavBar.ck-nav-dark .lp-navbar-lg .ck-cs,
#LPNavBar.ck-nav-dark #menuToggle { color: #fff; }
#LPNavBar.ck-nav-dark .header-nav > li > a:hover,
#LPNavBar.ck-nav-dark .has-menu.is-open > .nav-trigger,
#LPNavBar.ck-nav-dark .lp-navbar-lg .lang-btn:hover,
#LPNavBar.ck-nav-dark #menuToggle:hover { background: rgba(255, 255, 255, 0.10) !important; }
#LPNavBar.ck-nav-dark .lp-navbar-lg .w-px { background: rgba(255, 255, 255, 0.28) !important; }
#LPNavBar.ck-nav-dark #menuToggle > span:first-child { --tw-ring-color: #125467; }

/* Footer */
#CkFooter { margin-top: 0; }
#CkFooter a { text-decoration: none; }

/* French header (header-fr.html): the longer menu labels fit on one row, as on the Claude Design review site */
@media (min-width: 1536px) {
  html[lang="fr"] #LPNavBar .lp-navbar-lg .\32xl\:inline { display: none !important; }
  html[lang="fr"] #LPNavBar .lp-navbar-lg .\32xl\:px-3\.5,
  html[lang="fr"] #LPNavBar .lp-navbar-lg .\32xl\:px-4 { padding-left: .75rem !important; padding-right: .75rem !important; }
  html[lang="fr"] #LPNavBar .lp-navbar-lg.\32xl\:gap-5 { gap: .75rem !important; }
  html[lang="fr"] #LPNavBar .lp-navbar-lg .\32xl\:gap-3\.5 { gap: .5rem !important; }
  html[lang="fr"] #LPNavBar .lp-navbar-lg .\32xl\:gap-1 { gap: 0 !important; }
}
@media (min-width: 1280px) and (max-width: 1535.98px) {
  html[lang="fr"] #LPNavBar .lp-navbar-lg { gap: .5rem; }
}

/* Footer legal band (the 12 Nov footer update): the copyright and legal links don't shrink or wrap mid-text.
   Written by hand: the export's compiled CSS doesn't have these arbitrary variants. */
.ck-chrome .\[\&\>\*\]\:shrink-0 > * { flex-shrink: 0; }
.ck-chrome .\[\&\>\*\]\:whitespace-nowrap > * { white-space: nowrap; }
