/* Public-page chrome. Loaded in the document head, including prerendered pages. */
:root {
  --website-font: -apple-system, BlinkMacSystemFont, "PingFang SC", "Microsoft YaHei", sans-serif;
  --website-header-height: 80px;
  --website-content-title: clamp(32px, 4vw, 48px);
}
html:has(.website-header) { scrollbar-gutter: stable; scroll-padding-top: calc(var(--website-header-height) + 20px); }
.website-header {
  position: sticky;
  top: 0;
  z-index: 30;
  height: var(--website-header-height);
  box-sizing: border-box;
  border-bottom: 1px solid #dce5e0;
  background: #f8f8f2f5;
  backdrop-filter: blur(16px);
  color: #172f29;
  font: 500 14px/20px var(--website-font);
}
.website-header *, .website-header *::before, .website-header *::after { box-sizing: border-box; }
.website-header .website-nav {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 24px;
  width: min(1280px, calc(100% - 64px));
  height: 100%;
  margin-inline: auto;
  padding: 0;
}
.website-header a, .website-header button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: #172f29;
  font: 500 14px/20px var(--website-font);
  letter-spacing: 0;
  text-decoration: none;
  white-space: nowrap;
  cursor: pointer;
}
.website-header .website-brand { justify-self: start; gap: 10px; font-size: 24px; font-weight: 700; letter-spacing: -.6px; }
.website-header .website-brand strong { font: inherit; }
.website-header .website-brand img { display: block; width: 38px; height: 38px; flex: none; border-radius: 9px; }
.website-header .website-links { display: flex; align-items: center; gap: 24px; }
.website-header .website-links > a { position: relative; }
.website-header .website-links > a::after {
  content: "";
  position: absolute;
  inset: auto 0 3px;
  height: 2px;
  background: #176b50;
  transform: scaleX(0);
}
.website-header .website-links > a[aria-current="page"] { color: #176b50; }
.website-header .website-links > a[aria-current="page"]::after { transform: scaleX(1); }
.website-header .website-links > a:hover { color: #176b50; }
.website-header .website-actions { display: flex; justify-self: end; align-items: center; gap: 20px; }
.website-header .website-primary { height: 44px; padding: 0 20px; border: 1px solid #193128; border-radius: 10px; background: #193128; color: #fff; box-shadow: none; }
.website-header .website-primary:hover { background: #0d5f43; }
.website-header .website-menu, .website-header .website-mobile-actions { display: none; }
.website-header :is(a, button):focus-visible { outline: 3px solid #84a75c; outline-offset: 4px; }

/* Match text roles while preserving the larger home-page hero and product diagrams. */
.website, .marketing-home, body.seo-static { font-family: var(--website-font); }
.website { font-size: 16px; line-height: 1.8; }
.marketing-home .hero-description, .marketing-home .section-subtitle,
.marketing-home .section-heading > p, .marketing-home .capability-card > p,
.marketing-home .editorial-grid article > p, .marketing-home .setup-steps p, .marketing-home .readiness-steps p, .marketing-home .knowledge-insights > div > p:not(.eyebrow) { font-size: 16px; line-height: 1.8; }
.website-help { --ui-font-family: var(--website-font); --ui-font-body: 16px; --ui-font-title: 30px; --ui-font-section: 22px; --ui-font-caption: 14px; }
.website-help .help-sidebar nav a, .website-help .help-toc, .website-help .help-breadcrumb { font-size: 14px; }
.website-help .help-article { font-size: 16px; line-height: 1.8; }

@media (max-width: 1100px) {
  :root { --website-header-height: 68px; }
  .website-header .website-nav { width: calc(100% - 40px); grid-template-columns: minmax(0, 1fr) auto auto; gap: 12px; }
  .website-header .website-brand { font-size: 22px; }
  .website-header .website-actions { grid-column: 2; grid-row: 1; }
  .website-header .website-actions .website-text { display: none; }
  .website-header .website-menu { display: inline-flex; grid-column: 3; grid-row: 1; padding: 0 12px; border: 1px solid #dce5e0; border-radius: 8px; }
  .website-header .website-links {
    display: none;
    position: absolute;
    top: calc(100% - 1px);
    left: -20px;
    right: -20px;
    padding: 16px 24px;
    flex-direction: column;
    align-items: stretch;
    gap: 4px;
    max-height: calc(100dvh - var(--website-header-height));
    overflow-y: auto;
    overscroll-behavior: contain;
    background: #f8f8f2;
    border-bottom: 1px solid #dce5e0;
    box-shadow: 0 14px 24px #1728220d;
  }
  .website-header .website-links.open { display: flex; }
  .website-header .website-links > a { justify-content: flex-start; }
  .website-header .website-links > a::after { right: auto; width: 28px; }
  .website-header .website-mobile-actions { display: flex; align-items: center; gap: 24px; border-top: 1px solid #dce5e0; padding-top: 12px; margin-top: 8px; }
}
@media (max-width: 400px) {
  .website-header .website-nav { width: calc(100% - 28px); gap: 8px; }
  .website-header .website-brand { gap: 7px; font-size: 19px; }
  .website-header .website-brand img { width: 32px; height: 32px; }
  .website-header .website-primary { padding-inline: 12px; }
  .website-header .website-menu { padding-inline: 10px; }
  .website-header .website-links { left: -14px; right: -14px; padding-inline: 20px; }
}

.website-help .help-note, .website-help .help-table-scroll table, .website-help .help-flow { font-size: 14px; }
