:root {
  --kite-font-scale: 1;
  --a11y-surface: #fff;
  --a11y-ink: #111b30;
  --a11y-muted: #4f5d73;
  --a11y-border: #67748b;
  --a11y-link: #173eab;
  --a11y-focus: #1744c4;
}
html {
  font-size: calc(100% * var(--kite-font-scale, 1));
}
[data-theme="dark"] {
  --a11y-surface: #101827;
  --a11y-ink: #fff;
  --a11y-muted: #c6d1e6;
  --a11y-border: #b7c6de;
  --a11y-link: #b6d4ff;
  --a11y-focus: #ffe381;
}
:focus-visible {
  outline: 3px solid var(--a11y-focus) !important;
  outline-offset: 4px !important;
}
:where(main) {
  scroll-margin-top: 7rem;
}
:where(main):focus:not(:focus-visible) {
  outline: none;
}
:where(button, select, input, textarea, a, summary) {
  touch-action: manipulation;
}
:where(button, select, summary) {
  min-height: 24px;
}
:where(label) {
  cursor: pointer;
}
:where(p, li, td, th, label, h1, h2, h3, h4, h5, h6) {
  overflow-wrap: anywhere;
}
:where(.workspace-form, .saas-form, .auth-form, .form-control, .form-select) {
  min-width: 0;
}
:where(.workspace-tools, .workspace-heading-actions, .button-row, .nav-tools) {
  flex-wrap: wrap;
}
:where(input, textarea, select) {
  max-width: 100%;
}
:where(.table-responsive) {
  max-width: 100%;
  overscroll-behavior-inline: contain;
}
.kite-a11y-launch {
  position: fixed;
  right: 18px;
  bottom: calc(18px + env(safe-area-inset-bottom, 0px));
  z-index: 1100;
  width: 52px;
  height: 52px;
  min-width: 52px;
  min-height: 52px;
  border: 2px solid #fff;
  border-radius: 50%;
  background: #193ca9;
  color: #fff;
  display: grid;
  place-items: center;
  box-shadow: 0 4px 18px #0004;
  cursor: pointer;
  padding: 0;
}
.kite-a11y-launch:hover {
  background: #102975;
}
.kite-a11y-launch svg {
  flex-shrink: 0;
}
.kite-a11y-dialog {
  position: fixed;
  inset: 0;
  margin: auto;
  width: min(560px, calc(100% - 24px));
  max-width: calc(100% - 24px);
  max-height: calc(100dvh - 24px);
  padding: 0;
  border: 2px solid var(--a11y-border);
  border-radius: 18px;
  background: var(--a11y-surface);
  color: var(--a11y-ink);
  box-shadow: 0 20px 80px #0005;
  font-family: Poppins, Arial, "PingFang SC", "Microsoft YaHei", sans-serif;
  overflow: auto;
  font-size: 1rem;
  line-height: 1.6;
}
.kite-a11y-dialog:not([open]) {
  display: none !important;
}
.kite-a11y-dialog::backdrop {
  background: #060e24a6;
}
.kite-a11y-header {
  position: sticky;
  top: 0;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 18px 20px;
  background: var(--a11y-surface);
  border-bottom: 1px solid var(--a11y-border);
}
.kite-a11y-header h2 {
  margin: 0;
  flex: 1;
  font-size: 1.25rem;
  line-height: 1.35;
  letter-spacing: normal;
  color: var(--a11y-ink);
}
.kite-a11y-header button {
  flex-shrink: 0;
  font-size: 1.5rem;
  width: 44px;
  height: 44px;
  line-height: 1;
}
.kite-a11y-content {
  padding: 20px;
  min-width: 0;
}
.kite-a11y-content p {
  font-size: 1rem;
  color: var(--a11y-muted);
  line-height: 1.6;
  margin: 0 0 18px;
}
.kite-a11y-dialog button,
.kite-a11y-dialog select {
  font: inherit;
  line-height: 1.4;
  min-height: 44px;
  border: 2px solid var(--a11y-border);
  border-radius: 8px;
  background: var(--a11y-surface);
  color: var(--a11y-ink);
  padding: 8px 12px;
  cursor: pointer;
  white-space: normal;
}
.kite-a11y-dialog button:hover {
  background: var(--a11y-ink);
  color: var(--a11y-surface);
}
.kite-a11y-size {
  margin: 20px 0;
}
.kite-a11y-size > label {
  display: inline;
  font-weight: bold;
}
.kite-a11y-size > output {
  float: right;
  color: var(--a11y-ink);
  font-weight: bold;
  background: transparent;
  padding: 0;
}
.kite-a11y-size > div {
  display: flex;
  align-items: center;
  gap: 14px;
  clear: both;
  padding-top: 12px;
}
.kite-a11y-size input {
  flex: 1;
  min-width: 0;
  width: 100%;
  height: 44px;
  accent-color: var(--a11y-link);
}
.kite-a11y-size button {
  flex-shrink: 0;
}
.kite-a11y-options {
  display: grid;
  gap: 0;
}
.kite-a11y-options label {
  display: flex;
  align-items: center;
  gap: 16px;
  justify-content: space-between;
  padding: 15px 0;
  margin: 0;
  border-bottom: 1px solid var(--a11y-border);
  font-weight: normal;
  line-height: 1.4;
  color: var(--a11y-ink);
  font-size: 1rem;
}
.kite-a11y-options input {
  flex-shrink: 0;
  width: 24px;
  height: 24px;
  accent-color: var(--a11y-link);
  cursor: pointer;
  margin: 0;
}
.kite-a11y-content .kite-a11y-help {
  font-size: 0.875rem;
  margin-top: 18px;
  color: var(--a11y-muted);
}
#kite-a11y-language {
  width: 100%;
  margin-top: 6px;
}
#kite-a11y-reset {
  width: 100%;
  font-weight: bold;
}
.kite-a11y-content .kite-a11y-status {
  margin-top: 12px;
  margin-bottom: 0;
  min-height: 1.6em;
  color: var(--a11y-ink);
}
.kite-a11y-skip {
  position: fixed;
  left: 12px;
  top: -200px;
  z-index: 3000;
  background: var(--a11y-surface);
  color: var(--a11y-ink) !important;
  border: 2px solid var(--a11y-border);
  padding: 12px;
  max-width: calc(100% - 24px);
}
.kite-a11y-skip:focus {
  top: 12px;
}
#kite-reading-guide {
  position: fixed;
  inset-inline: 0;
  top: 50%;
  height: 12px;
  z-index: 1080;
  background: #3158ee12;
  border-top: 3px solid var(--a11y-focus);
  pointer-events: none;
}
#kite-reading-guide[hidden] {
  display: none !important;
}
[data-a11y-spacing="true"]
  :where(
    p,
    li,
    label,
    td,
    th,
    summary,
    h1,
    h2,
    h3,
    h4,
    small,
    a,
    button,
    input,
    textarea,
    select
  ) {
  letter-spacing: 0.08em !important;
  word-spacing: 0.16em !important;
  line-height: 1.8 !important;
}
[data-a11y-spacing="true"] :where(p) {
  margin-bottom: 1.5em !important;
}
[data-a11y-font="true"]
  :where(body, button, input, textarea, select, h1, h2, h3, h4, h5, h6) {
  font-family:
    Poppins, Arial, "PingFang SC", "Microsoft YaHei", sans-serif !important;
}
[data-a11y-links="true"] a {
  text-decoration-line: underline !important;
  text-decoration-thickness: 0.12em !important;
  text-underline-offset: 0.2em !important;
}
[data-a11y-targets="true"]
  :where(
    button,
    select,
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]),
    textarea,
    .btn,
    .button,
    nav a,
    summary
  ) {
  min-height: 44px !important;
  min-width: 44px;
}
[data-a11y-targets="true"] :where(input[type="checkbox"], input[type="radio"]) {
  min-width: 24px;
  min-height: 24px;
  accent-color: var(--a11y-link);
}
[data-a11y-targets="true"] :where(nav a, summary) {
  padding-block: 10px !important;
}
[data-a11y-motion="true"] {
  scroll-behavior: auto !important;
}
[data-a11y-motion="true"] *,
[data-a11y-motion="true"] *::before,
[data-a11y-motion="true"] *::after {
  animation: none !important;
  transition: none !important;
  scroll-behavior: auto !important;
}
[data-a11y-motion="true"] :where(.hero-ambient, .auth-orbit, .home-atmosphere) {
  opacity: 0 !important;
  visibility: hidden;
}
[data-a11y-contrast="true"] {
  --muted: var(--a11y-ink);
  --workspace-muted: var(--a11y-ink);
  --workspace-ink: var(--a11y-ink);
  --ink: var(--a11y-ink);
  --line: var(--a11y-border);
  --workspace-line: var(--a11y-border);
}
[data-a11y-contrast="true"]
  :where(
    body,
    header,
    main,
    footer,
    aside,
    section,
    article,
    nav,
    .workspace-panel,
    .workspace-metric,
    .workspace-plan,
    .admin-panel,
    .stat-card,
    .auth-panel,
    .workspace-header,
    .workspace-sidebar,
    .admin-sidebar,
    .admin-header,
    .workspace-banner,
    .workspace-hero,
    .service-card,
    .feature-card,
    .price-card
  ) {
  background: var(--a11y-surface) !important;
  color: var(--a11y-ink) !important;
  border-color: var(--a11y-border) !important;
  box-shadow: none !important;
}
[data-a11y-contrast="true"]
  :where(p, small, label, span, h1, h2, h3, h4, h5, h6, td, th) {
  color: inherit !important;
  opacity: 1 !important;
}
[data-a11y-contrast="true"] a {
  color: var(--a11y-link) !important;
  text-decoration: underline !important;
}
[data-a11y-contrast="true"]
  :where(button, .btn, .button, input, textarea, select, summary) {
  background: var(--a11y-surface) !important;
  color: var(--a11y-ink) !important;
  border-color: var(--a11y-border) !important;
}
[data-a11y-contrast="true"]
  :where(.home-ambient, .hero-ambient, .home-atmosphere) {
  display: none !important;
}
/* Larger text also needs flexible containers; data grids remain locally scrollable. */
html:not([data-a11y-size="100"])
  :where(
    .hero,
    .workspace-grid,
    .workspace-metrics,
    .workspace-tools-grid,
    .workspace-plan-grid,
    .auth-layout,
    .service-grid,
    .feature-grid,
    .pricing-grid,
    .contact-grid
  ) {
  grid-template-columns: minmax(0, 1fr) !important;
}
html:not([data-a11y-size="100"])
  :where(.site-header, .workspace-header, .admin-header) {
  height: auto;
  min-height: 76px;
  position: relative;
  flex-wrap: wrap;
  padding-block: 14px;
}
html:not([data-a11y-size="100"])
  :where(
    .nav-inner,
    .nav-tools,
    .workspace-tools,
    .workspace-page-heading,
    .admin-header
  ) {
  flex-wrap: wrap;
  gap: 14px;
}
html:not([data-a11y-size="100"])
  :where(
    .auth-panel,
    .hero,
    .hero-copy,
    .workspace-hero,
    .login-panel,
    .workspace-content,
    .admin-content
  ) {
  height: auto;
  min-height: 0;
}
html:not([data-a11y-size="100"])
  :where(
    .workspace-sidebar nav a,
    .admin-sidebar nav a,
    .workspace-switcher strong
  ) {
  white-space: normal;
  overflow: visible;
  text-overflow: clip;
}
html:not([data-a11y-size="100"]) :where(.workspace-hero-copy) {
  width: 100%;
  max-width: 100%;
}
html:not([data-a11y-size="100"]) :where(.workspace-sidebar, .admin-sidebar) {
  width: 280px;
  max-width: 88vw;
}
@media (min-width: 1001px) {
  html:not([data-a11y-size="100"]) .workspace-main {
    margin-left: 280px;
  }
}
@media (min-width: 701px) {
  html:not([data-a11y-size="100"]) .admin-main {
    margin-left: 280px;
  }
}
@media (max-width: 700px) {
  .kite-a11y-launch {
    right: 12px;
    bottom: calc(12px + env(safe-area-inset-bottom, 0px));
  }
  .kite-a11y-content {
    padding: 16px;
  }
  .kite-a11y-header {
    padding: 12px 16px;
  }
  .kite-a11y-size > div {
    gap: 8px;
  }
  html:not([data-a11y-size="100"])
    :where(.container-wide, .workspace-content, .admin-content) {
    padding-inline: 16px;
  }
  html:not([data-a11y-size="100"]) .workspace-header .workspace-search {
    width: 100%;
  }
  html:not([data-a11y-size="100"])
    :where(.workspace-page-heading, .page-heading) {
    display: block;
  }
  html:not([data-a11y-size="100"]) :where(.workspace-tools, .nav-tools) {
    width: 100%;
    justify-content: flex-start;
  }
}
@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation: none !important;
    transition: none !important;
    scroll-behavior: auto !important;
  }
}
@media (forced-colors: active) {
  .kite-a11y-launch,
  .kite-a11y-dialog,
  .kite-a11y-dialog button {
    forced-color-adjust: auto;
    border: 2px solid ButtonText;
  }
  #kite-reading-guide {
    border-color: Highlight;
  }
}
@media print {
  .kite-a11y-launch,
  .kite-a11y-dialog,
  #kite-reading-guide,
  .kite-a11y-skip {
    display: none !important;
  }
}

body {
  font-weight: 500;
}
p,
input,
textarea,
select {
  font-weight: 500;
}
h1,
h2,
h3,
h4,
h5,
h6,
strong,
b {
  font-weight: 700;
}
.workspace-body p,
.workspace-help,
.auth-help {
  font-weight: 500;
}
.workspace-body .btn,
.workspace-sidebar nav > a,
.workspace-signout,
.workspace-tools select {
  font-weight: 600;
}

.btn.btn-outline-primary {
  --bs-btn-color: var(--a11y-link);
  --bs-btn-border-color: var(--a11y-link);
  --bs-btn-hover-bg: #193ca9;
  --bs-btn-hover-color: #fff;
  --bs-btn-hover-border-color: #193ca9;
}
@media (min-width: 701px) and (max-width: 800px) {
  html:not([data-a11y-size="100"]) .admin-main {
    margin-left: 0;
  }
}

main p a,
main li a,
.auth-help a {
  text-decoration: underline;
  text-underline-offset: 0.18em;
}
.workspace-footer,
.workspace-footer > div {
  flex-wrap: wrap;
  gap: 12px;
}
.workspace-footer,
.admin-footer {
  padding-inline-end: 85px;
}
.workspace-footer > div {
  display: flex;
  max-width: 100%;
}
html:not([data-a11y-size="100"]) #main-nav {
  flex-wrap: wrap;
  flex-basis: 100%;
  max-width: 100%;
}
html:not([data-a11y-size="100"]) .hero-copy {
  max-width: 100%;
}
html:not([data-a11y-size="100"])
  :where(.hero-capability-path, .statement-aside) {
  grid-template-columns: minmax(0, 1fr) !important;
}
html:not([data-a11y-size="100"]) .connection-map {
  max-width: 100%;
  margin-inline: auto;
}
html:not([data-a11y-size="100"]) .hero-foot {
  flex-wrap: wrap;
  gap: 14px;
}
html:not([data-a11y-size="100"])
  :where(
    .footer-grid,
    .form-grid,
    .feature-grid,
    .platform-grid,
    .process-grid,
    .statement-layout,
    .split-section,
    .article-grid,
    .gallery-grid,
    .service-category-grid,
    .mini-grid,
    .feature-mini-grid
  ) {
  grid-template-columns: minmax(0, 1fr) !important;
}
html:not([data-a11y-size="100"]) .statement-aside {
  display: block;
}
html:not([data-a11y-size="100"])
  :where(
    .footer-grid > div,
    .footer-top,
    .footer-bottom,
    .footer-bottom > div
  ) {
  min-width: 0;
  flex-wrap: wrap;
  max-width: 100%;
}
html:not([data-a11y-size="100"]) .footer-grid > div:last-child {
  columns: 1;
}
html:not([data-a11y-size="100"]) :where(.workflow-step, .footer-top) {
  flex-wrap: wrap;
  height: auto;
}
[data-theme="dark"]
  :where(.eyebrow, .article-card small, .workflow-step span:first-child) {
  color: #b6ccff;
}
[data-a11y-contrast="true"]
  :where(.eyebrow, .workspace-eyebrow, .workflow-step span:first-child) {
  color: var(--a11y-ink) !important;
}
[data-a11y-contrast="true"] .nav-cta {
  background: var(--a11y-surface) !important;
  color: var(--a11y-ink) !important;
  border: 2px solid var(--a11y-border);
}
html:not([data-a11y-size="100"])
  :where(
    .services-grid,
    .platform-tiles,
    .faq-layout,
    .service-links,
    .contact-layout,
    .campaign-gallery-grid
  ) {
  grid-template-columns: minmax(0, 1fr) !important;
}
html:not([data-a11y-size="100"]) .campaign-gallery-grid > * {
  grid-column: auto !important;
  grid-row: auto !important;
}
[data-theme="dark"] .workspace-body a:not(.btn-primary) {
  color: #b6ccff;
}
[data-theme="dark"] .workspace-hero a.btn {
  color: #172340;
}
[data-theme="dark"] .workspace-eyebrow {
  color: #b6ccff !important;
}
[data-theme="dark"] .password-toggle {
  color: #b6ccff;
}
[data-theme="dark"] .workflow-step span:first-child,
[data-theme="dark"] .article-card small {
  color: #b6ccff;
}

[data-theme="dark"] a:not(.btn):not(.nav-cta):hover {
  color: var(--a11y-link);
}

[data-theme="dark"] .admin-body .btn-primary {
  color: #fff;
}
[data-theme="dark"] .admin-footer {
  color: var(--muted);
}

[data-a11y-contrast="true"]
  :where(.status, .badge, .saas-badge, .workspace-status, .role-pill) {
  background: var(--a11y-surface) !important;
  color: var(--a11y-ink) !important;
  border: 1px solid var(--a11y-border) !important;
}

[data-theme="dark"] .btn-outline-secondary {
  color: var(--a11y-muted);
  border-color: var(--a11y-border);
  --bs-btn-hover-bg: #26334a;
  --bs-btn-active-bg: #26334a;
}
[data-theme="dark"] .btn-primary,
[data-theme="dark"] .btn-outline-primary:hover,
[data-theme="dark"] .btn-outline-primary:active,
[data-theme="dark"] .btn-outline-secondary:hover,
[data-theme="dark"] .btn-outline-secondary:active {
  color: #fff;
}
