/* Kimen public site chrome, translated from the approved design artifact.
   Visual declarations resolve through current --ki-* tokens; local --ki-site-*
   aliases hold page-layout decisions that are not component API. */
/* stylelint-disable no-descending-specificity -- Narrative regions intentionally
   refine shared primitives in document order. */

* {
  box-sizing: border-box;
}

:root {
  color-scheme: light dark;

  --ki-site-hero-font-size: calc(var(--ki-typography-size-display-1) - var(--ki-space-xxs));
  --ki-site-hero-line-height: calc(var(--ki-site-hero-font-size) * 1.05);
  --ki-site-hero-font-weight: calc(var(--ki-typography-weight-display-bold) + 100);
  --ki-site-heading-line-height: 1.12;
  --ki-site-heading-letter-spacing: -0.03em;
  --ki-site-hero-letter-spacing: -0.05em;
  --ki-site-lede-font-size: calc(var(--ki-typography-size-title-2) + 1px);
  --ki-site-section-copy-size: calc(var(--ki-typography-size-body-2) + 1.5px);
  --ki-site-copy-size: calc(var(--ki-typography-size-body-2) - 1px);
  --ki-site-small-size: calc(var(--ki-typography-size-caption-2) - 0.5px);
  --ki-site-panel-background: color-mix(in srgb, var(--ki-surface-s1) 88%, transparent);
  --ki-site-header-background: color-mix(in srgb, var(--ki-surface-s0) 82%, transparent);
  --ki-site-panel-blur: 10px;
  --ki-site-code-scale: 0.92em;
  --ki-site-heading-code-scale: 0.8em;
  --ki-site-line-height-lede: 1.6;
  --ki-site-line-height-copy: 1.55;
  --ki-site-line-height-compact: 1.5;
  --ki-site-pipeline-demo-height: calc(
    var(--ki-space-20xl) +
    var(--ki-space-20xl) +
    var(--ki-space-20xl) +
    var(--ki-space-20xl) +
    var(--ki-space-20xl) +
    var(--ki-space-4xl)
  );
  --ki-site-tab-height: calc(var(--ki-space-7xl) + var(--ki-size-border-hairline));
  --ki-site-catalog-card-height: calc(
    var(--ki-space-20xl) +
    var(--ki-space-9xl) -
    var(--ki-size-border-hairline)
  );
  --ki-site-section-space: calc(var(--ki-space-18xl) + var(--ki-space-8xl) + var(--ki-space-5xl));
}

:root[data-ki-color-scheme="light"] {
  color-scheme: light;
}

:root[data-ki-color-scheme="dark"] {
  color-scheme: dark;
}

html {
  scroll-behavior: smooth;
  scroll-padding-block-start: var(--ki-space-15xl);
}

body {
  min-inline-size: 0;
  margin: 0;
  overflow-x: clip;
  background: var(--ki-surface-s0);
  color: var(--ki-text-high-em);
  font-family: var(--ki-typography-family-body);
  font-size: var(--ki-typography-size-body-2);
  line-height: var(--ki-typography-line-height-body-2);
  -webkit-font-smoothing: antialiased;
}

a {
  color: var(--ki-text-primary-high-em);
}

a:hover {
  color: var(--ki-text-primary-med-em);
}

code,
pre,
.mono {
  font-family: var(--ki-typography-family-mono);
}

code {
  padding-inline: var(--ki-space-xxs);
  border-radius: var(--ki-radius-xs);
  background: var(--ki-surface-s2);
  font-size: var(--ki-site-code-scale);
}

img,
svg {
  max-inline-size: 100%;
}

button,
input,
select,
textarea {
  font: inherit;
}

.visually-hidden {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  padding: 0;
  overflow: hidden;
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.skip-link {
  position: fixed;
  inset-block-start: var(--ki-space-sm);
  inset-inline-start: var(--ki-space-sm);
  z-index: 100;
  padding: var(--ki-space-sm) var(--ki-space-lg);
  border-radius: var(--ki-radius-component-md);
  background: var(--ki-surface-primary-high-em);
  color: var(--ki-text-primary-on-primary);
  text-decoration: none;
  transform: translateY(calc(-100% - var(--ki-space-6xl)));
}

.skip-link:focus-visible {
  transform: none;
}

:is(a, button, input, select, textarea, summary, [tabindex]):focus-visible {
  outline: 2px solid var(--ki-outline-primary-med-em);
  outline-offset: 2px;
}

/* Ambient background ---------------------------------------------------- */

.aurora {
  position: fixed;
  inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;
}

.aurora::before,
.aurora::after {
  position: absolute;
  inline-size: 60vmax;
  block-size: 60vmax;
  border-radius: var(--ki-radius-round);
  content: "";
  filter: blur(90px);
  opacity: 0.55;
}

.aurora::before {
  inset-block-start: -25vmax;
  inset-inline-end: -15vmax;
  background: radial-gradient(circle at center, var(--ki-color-brand-500-alpha-4), transparent 65%);
  animation: ki-aurora-a 26s var(--ki-motion-easing-standard) 1 alternate both;
}

.aurora::after {
  inset-block-end: -30vmax;
  inset-inline-start: -20vmax;
  background: radial-gradient(circle at center, var(--ki-color-info-500-alpha-3), transparent 65%);
  animation: ki-aurora-b 32s var(--ki-motion-easing-standard) 1 alternate both;
}

@keyframes ki-aurora-a {
  to {
    transform: translate(-8vmax, 6vmax) scale(1.15);
  }
}

@keyframes ki-aurora-b {
  to {
    transform: translate(10vmax, -8vmax) scale(1.1);
  }
}

/* Shared chrome --------------------------------------------------------- */

.site-header {
  position: sticky;
  inset-block-start: 0;
  z-index: 50;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-inline-size: 0;
  gap: var(--ki-space-lg);
  padding: var(--ki-space-md) clamp(var(--ki-space-lg), 4vi, var(--ki-space-7xl));
  border-block-end: 1px solid var(--ki-outline-low-em);
  background: var(--ki-site-header-background);
  backdrop-filter: blur(var(--ki-effect-component-backdrop-blur));
}

.brand {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--ki-space-11xl);
  min-inline-size: 0;
  gap: var(--ki-space-sm);
  color: var(--ki-text-high-em);
  font-family: var(--ki-typography-family-display);
  font-size: var(--ki-typography-size-title-2);
  font-weight: var(--ki-typography-weight-display-semibold);
  text-decoration: none;
}

.brand:hover {
  color: var(--ki-text-high-em);
}

.brand-mark {
  flex: none;
  color: var(--ki-text-primary-high-em);
}

.brand-stage {
  flex: none;
  padding: calc(var(--ki-space-xxs) / 2) var(--ki-space-sm);
  border: 1px solid var(--ki-outline-primary-low-em);
  border-radius: var(--ki-radius-round);
  background: var(--ki-surface-primary-low-em);
  color: var(--ki-text-primary-high-em);
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-typography-size-caption-2);
  font-weight: var(--ki-typography-weight-body-medium);
  line-height: var(--ki-typography-line-height-caption-2);
  white-space: nowrap;
}

.header-desktop,
.site-nav {
  display: flex;
  align-items: center;
}

.header-desktop {
  min-inline-size: 0;
  gap: var(--ki-space-5xl);
}

.site-nav {
  gap: var(--ki-space-5xl);
}

.site-nav a,
.mobile-menu-panel nav a {
  color: var(--ki-text-med-em);
  font-weight: var(--ki-typography-weight-body-medium);
  text-decoration: none;
}

.site-nav a:hover,
.site-nav a[aria-current="page"],
.mobile-menu-panel nav a:hover,
.mobile-menu-panel nav a[aria-current="page"] {
  color: var(--ki-text-high-em);
}

.mobile-menu {
  position: relative;
  display: none;
}

.mobile-menu summary {
  padding: var(--ki-space-sm) var(--ki-space-lg);
  border: 1px solid var(--ki-outline-low-em);
  border-radius: var(--ki-radius-component-lg);
  background: var(--ki-surface-s1);
  color: var(--ki-text-high-em);
  cursor: pointer;
  list-style: none;
}

.mobile-menu summary::-webkit-details-marker {
  display: none;
}

.mobile-menu-panel {
  position: absolute;
  inset-block-start: calc(100% + var(--ki-space-md));
  inset-inline-end: 0;
  inline-size: min(20rem, calc(100vw - var(--ki-space-10xl)));
  padding: var(--ki-space-xl);
  border: 1px solid var(--ki-outline-med-em);
  border-radius: var(--ki-radius-big-component-sm);
  background: var(--ki-surface-raised);
  box-shadow: var(--ki-elevation-shadow-med);
}

.mobile-menu-panel nav {
  display: grid;
  gap: var(--ki-space-xs);
  margin-block-end: var(--ki-space-lg);
}

.mobile-menu-panel nav a {
  min-block-size: var(--ki-button-md-min-target);
  padding: var(--ki-space-sm) var(--ki-space-md);
}

.segmented {
  display: inline-flex;
  flex-wrap: wrap;
  min-inline-size: 0;
  gap: var(--ki-space-xxs);
  margin: 0;
  padding: var(--ki-space-xxs);
  border: 1px solid var(--ki-outline-low-em);
  border-radius: var(--ki-radius-round);
  background: var(--ki-surface-s0);
}

.segmented legend:not(.visually-hidden) {
  inline-size: 100%;
  padding: 0 var(--ki-space-sm);
  color: var(--ki-text-med-em);
  font-size: var(--ki-typography-size-caption-2);
  text-align: start;
}

.segmented label {
  position: relative;
  display: inline-flex;
  flex: 1 1 auto;
}

.segmented input {
  position: absolute;
  inset: 0;
  margin: 0;
  opacity: 0;
  cursor: pointer;
}

.segmented span {
  display: inline-flex;
  flex: 1;
  align-items: center;
  justify-content: center;
  min-block-size: var(--ki-space-11xl);
  padding-inline: var(--ki-space-xl);
  border-radius: var(--ki-radius-round);
  color: var(--ki-text-med-em);
  font-size: var(--ki-typography-size-body-2);
  font-weight: var(--ki-typography-weight-body-medium);
  white-space: nowrap;
}

.segmented input:hover + span {
  color: var(--ki-text-high-em);
}

.segmented input:checked + span {
  background: var(--ki-surface-primary-high-em);
  color: var(--ki-text-primary-on-primary);
}

.segmented input:focus-visible + span {
  outline: 2px solid var(--ki-outline-primary-med-em);
  outline-offset: 2px;
}

.segmented-compact span {
  min-block-size: calc(var(--ki-space-9xl) + var(--ki-space-xxs));
  padding-inline: var(--ki-space-lg);
  font-size: var(--ki-typography-size-caption-2);
}

.panel {
  border: 1px solid var(--ki-outline-low-em);
  border-radius: var(--ki-radius-big-component-md);
  background: var(--ki-site-panel-background);
  backdrop-filter: blur(var(--ki-site-panel-blur));
}

.hairline,
.section {
  border-block-start: 1px solid var(--ki-outline-low-em);
}

.eyebrow {
  margin: 0;
  color: var(--ki-text-primary-high-em);
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-typography-size-caption-2);
  font-weight: var(--ki-typography-weight-display-normal);
  letter-spacing: normal;
  line-height: var(--ki-typography-line-height-body-2);
  text-transform: uppercase;
}

.code-block {
  max-inline-size: 100%;
  margin: 0;
  padding: var(--ki-space-3xl);
  overflow: auto;
  border: 1px solid var(--ki-outline-low-em);
  border-radius: var(--ki-radius-big-component-sm);
  background: var(--ki-surface-s1);
  color: var(--ki-text-high-em);
  line-height: var(--ki-typography-line-height-body-2);
  tab-size: 2;
  white-space: pre;
}

.code-block code {
  padding: 0;
  background: none;
  color: inherit;
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-typography-size-body-2);
  line-height: var(--ki-typography-line-height-body-2);
}

.inline-icon {
  --ki-site-icon-color: currentcolor;

  display: block;
  inline-size: var(--ki-space-3xl);
  block-size: var(--ki-space-3xl);
  fill: none;
  stroke: var(--ki-site-icon-color);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: var(--ki-size-border-hairline);
}

.inline-icon-filled {
  fill: var(--ki-site-icon-color);
  stroke: none;
}

.cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: var(--ki-button-lg-height);
  padding-inline: var(--ki-button-lg-padding-inline);
  border: 1px solid transparent;
  border-radius: var(--ki-radius-component-lg);
  font-weight: var(--ki-button-font-weight);
  text-align: center;
  text-decoration: none;
}

.cta-primary {
  border-color: var(--ki-outline-primary-high-em);
  background: var(--ki-surface-primary-high-em);
  color: var(--ki-text-primary-on-primary);
  box-shadow: var(--ki-elevation-shadow-med);
}

.cta-primary:hover {
  background: var(--ki-surface-primary-high-em-hover);
  color: var(--ki-text-primary-on-primary);
}

.cta-secondary {
  border-color: var(--ki-outline-med-em);
  background: var(--ki-surface-s1);
  color: var(--ki-text-high-em);
}

.cta-secondary:hover,
.cta-ghost:hover {
  background: var(--ki-surface-hover-overlay);
  color: var(--ki-text-high-em);
}

.cta-ghost {
  color: var(--ki-button-ghost-neutral-rest-fg);
}

/* Landing --------------------------------------------------------------- */

.landing-main {
  position: relative;
  z-index: 1;
  max-inline-size: 76rem;
  min-inline-size: 0;
  margin-inline: auto;
  padding-inline: clamp(var(--ki-space-3xl), 4vi, var(--ki-space-14xl));
}

.hero {
  padding-block: clamp(var(--ki-space-18xl), 9vw, 7.5rem) clamp(var(--ki-space-12xl), 5vw, 4.5rem);
}

.hero-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(auto, 48rem) minmax(0, 1fr);
  align-items: center;
  gap: var(--ki-space-xl);
}

.hero-copy {
  display: grid;
  justify-items: center;
  gap: var(--ki-space-7xl);
  text-align: center;
}

.hero h1 {
  max-inline-size: 22ch;
  margin: 0;
  background: linear-gradient(135deg, var(--ki-text-high-em) 30%, var(--ki-text-primary-high-em));
  background-clip: text;
  color: transparent;
  font-family: var(--ki-typography-family-display);
  font-size: clamp(var(--ki-typography-size-heading-5), 6.2vw, var(--ki-site-hero-font-size));
  font-weight: var(--ki-site-hero-font-weight);
  letter-spacing: var(--ki-site-hero-letter-spacing);
  line-height: var(--ki-site-hero-line-height);
  text-wrap: balance;
}

.hero-lede {
  max-inline-size: 44rem;
  margin: 0;
  color: var(--ki-text-med-em);
  font-size: clamp(var(--ki-typography-size-body-1), 1.6vw, var(--ki-site-lede-font-size));
  line-height: var(--ki-site-line-height-lede);
  text-wrap: pretty;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: var(--ki-space-2xl);
  margin-block-start: var(--ki-space-sm);
}

.hero-orbit {
  display: grid;
  min-inline-size: 0;
  gap: var(--ki-space-6xl);
  overflow: visible;
}

.hero-orbit-start {
  justify-items: end;
  padding-inline-end: var(--ki-space-md);
}

.hero-orbit-end {
  justify-items: start;
  padding-inline-start: var(--ki-space-md);
}

.signal-card {
  --ki-site-signal-duration: calc(var(--ki-motion-duration-long-3) * 22.2222);
  --ki-site-signal-delay: 0s;

  display: inline-flex;
  align-items: center;
  max-inline-size: 100%;
  gap: var(--ki-space-lg);
  padding: var(--ki-space-xl) var(--ki-space-3xl);
  border: 1px solid var(--ki-outline-low-em);
  border-radius: var(--ki-radius-big-component-md);
  background: var(--ki-site-panel-background);
  backdrop-filter: blur(var(--ki-site-panel-blur));
  color: var(--ki-text-med-em);
  animation: ki-signal-float var(--ki-site-signal-duration) var(--ki-motion-easing-standard)
    infinite;
  animation-delay: var(--ki-site-signal-delay);
}

.hero-orbit-start .signal-card:nth-child(2) {
  --ki-site-signal-duration: calc(var(--ki-motion-duration-long-3) * 18.0556);
  --ki-site-signal-delay: calc(var(--ki-motion-duration-short-2) * 6.6667);
}

.hero-orbit-start .signal-card:nth-child(3) {
  --ki-site-signal-duration: calc(var(--ki-motion-duration-long-3) * 20.8333);
  --ki-site-signal-delay: calc(var(--ki-motion-duration-short-2) * 13.3333);
}

.hero-orbit-end .signal-card:nth-child(1) {
  --ki-site-signal-duration: calc(var(--ki-motion-duration-long-3) * 19.4444);
  --ki-site-signal-delay: calc(var(--ki-motion-duration-short-2) * 3.3333);
}

.hero-orbit-end .signal-card:nth-child(2) {
  --ki-site-signal-duration: calc(var(--ki-motion-duration-long-3) * 25);
  --ki-site-signal-delay: calc(var(--ki-motion-duration-short-2) * 10);
}

.hero-orbit-end .signal-card:nth-child(3) {
  --ki-site-signal-duration: calc(var(--ki-motion-duration-long-3) * 16.6667);
  --ki-site-signal-delay: calc(var(--ki-motion-duration-short-2) * 16.6667);
}

@keyframes ki-signal-float {
  50% {
    transform: translateY(calc(-1 * var(--ki-space-lg)));
  }
}

.signal-status {
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-typography-size-caption-2);
  white-space: nowrap;
}

.signal-dot {
  display: inline-block;
  flex: none;
  inline-size: var(--ki-status-size);
  block-size: var(--ki-status-size);
  border-radius: var(--ki-status-radius);
  background: var(--ki-status-success-color);
}

.signal-dot-ring {
  box-shadow:
    0 0 0 var(--ki-status-ring-width) var(--ki-status-ring-color),
    var(--ki-status-shadow);
}

.signal-switch {
  min-block-size: var(--ki-space-16xl);
  gap: var(--ki-space-sm);
  color: var(--ki-text-high-em);
  font-family: var(--ki-typography-family-body);
  font-size: var(--ki-typography-size-body-1);
  white-space: nowrap;
}

.switch-figure {
  position: relative;
  display: inline-block;
  flex: none;
  box-sizing: border-box;
  inline-size: var(--ki-switch-track-width);
  block-size: var(--ki-switch-track-height);
  border: var(--ki-space-xxs) solid var(--ki-switch-checked-rest-border);
  border-radius: var(--ki-radius-md);
  background: var(--ki-switch-checked-rest-track);
}

.switch-figure > span {
  position: absolute;
  inset-block-start: calc((100% - var(--ki-switch-thumb-size)) / 2);
  inset-inline-end: var(--ki-switch-thumb-inset);
  inline-size: var(--ki-switch-thumb-size);
  block-size: var(--ki-switch-thumb-size);
  border-radius: var(--ki-radius-sm);
  background: var(--ki-switch-checked-rest-thumb);
}

.signal-badge-card {
  white-space: nowrap;
}

.signal-badge {
  display: inline-flex;
  align-items: center;
  block-size: calc(var(--ki-badge-md-height) - var(--ki-space-xxs));
  padding-inline: var(--ki-space-md);
  border: var(--ki-space-xxs) solid transparent;
  border-radius: var(--ki-radius-round);
  font-family: var(--ki-badge-font-family);
  font-size: var(--ki-typography-size-body-1);
  font-weight: var(--ki-badge-font-weight);
  line-height: var(--ki-typography-line-height-body-1);
}

.signal-badge-info {
  border-color: var(--ki-badge-info-border);
  background: var(--ki-surface-info-base-em);
  color: var(--ki-badge-info-fg);
}

.signal-avatar-card {
  white-space: nowrap;
}

.avatar-figure {
  display: inline-flex;
  align-items: center;
  font-family: var(--ki-avatar-font-family);
}

.avatar-figure span {
  display: grid;
  place-items: center;
  inline-size: var(--ki-avatar-sm-size);
  block-size: var(--ki-avatar-sm-size);
  border: var(--ki-avatar-border-width) solid var(--ki-avatar-border-color);
  border-radius: var(--ki-avatar-radius);
  background: var(--ki-avatar-bg);
  color: var(--ki-avatar-fg);
  font-weight: var(--ki-avatar-font-weight);
  font-size: var(--ki-avatar-sm-font-size);
}

.avatar-figure span:not(:first-child),
.avatar-figure b {
  margin-inline-start: calc(-1 * var(--ki-avatar-group-sm-overlap));
}

.avatar-figure b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-inline-size: var(--ki-avatar-sm-size);
  block-size: var(--ki-avatar-sm-size);
  padding-inline: var(--ki-avatar-group-sm-counter-padding-inline);
  border: var(--ki-avatar-group-counter-border-width) solid
    var(--ki-avatar-group-counter-border-color);
  border-radius: var(--ki-avatar-group-counter-radius);
  background: var(--ki-avatar-group-counter-bg);
  box-shadow: var(--ki-avatar-group-counter-shadow);
  color: var(--ki-avatar-group-counter-fg);
  font-size: var(--ki-avatar-group-sm-counter-font-size);
  font-weight: var(--ki-avatar-font-weight);
  line-height: 1;
}

.signal-budget {
  display: grid;
  max-inline-size: none;
  inline-size: calc(var(--ki-space-20xl) + var(--ki-space-18xl) + var(--ki-space-5xl));
  gap: var(--ki-space-md);
  padding-block: var(--ki-space-2xl);
  font-family: var(--ki-typography-family-mono);
}

.signal-budget-label {
  color: var(--ki-text-low-em);
  font-size: calc(var(--ki-typography-size-caption-2) - var(--ki-size-border-hairline));
  letter-spacing: 0.08em;
}

.signal-budget-value {
  color: var(--ki-text-med-em);
  font-size: var(--ki-typography-size-caption-2);
}

.budget-track {
  display: block;
  inline-size: 8.125rem;
  block-size: var(--ki-progress-linear-thickness);
  overflow: hidden;
  border-radius: var(--ki-radius-round);
  background: var(--ki-surface-s3);
}

.budget-track span {
  display: block;
  inline-size: 38%;
  block-size: 100%;
  border-radius: inherit;
  background: var(--ki-progress-indicator-color);
}

.signal-axe {
  inline-size: calc(var(--ki-space-20xl) + var(--ki-space-18xl) + var(--ki-space-xl));
  gap: var(--ki-space-sm);
  color: var(--ki-text-high-em);
  font-family: var(--ki-typography-family-body);
  font-size: var(--ki-typography-size-body-1);
  font-weight: var(--ki-checkbox-label-font-weight);
  white-space: normal;
}

.signal-axe > :last-child {
  max-inline-size: calc(var(--ki-space-20xl) + var(--ki-space-3xl));
}

.checkbox-figure {
  position: relative;
  display: inline-grid;
  flex: none;
  place-items: center;
  inline-size: var(--ki-checkbox-control-size);
  block-size: var(--ki-checkbox-control-size);
  border: var(--ki-checkbox-border-width) solid var(--ki-checkbox-checked-rest-border);
  border-radius: var(--ki-radius-xs);
  background: var(--ki-checkbox-checked-rest-bg);
}

.checkbox-mark {
  inline-size: 100%;
  block-size: 100%;
  fill: none;
  stroke: var(--ki-checkbox-checked-rest-fg);
  stroke-linecap: round;
  stroke-linejoin: round;
  stroke-width: var(--ki-checkbox-border-width);
}

.pipeline {
  margin-block-start: clamp(var(--ki-space-14xl), 6vw, var(--ki-space-20xl));
  padding: clamp(var(--ki-space-5xl), 3vw, var(--ki-space-11xl));
  box-shadow: 0 var(--ki-space-xl) var(--ki-space-12xl) var(--ki-elevation-shadow-med);
}

.panel-header {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--ki-space-3xl);
  margin-block-end: var(--ki-space-4xl);
}

.pipeline-title {
  margin: 0;
  color: var(--ki-text-low-em);
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-typography-size-caption-2);
  font-weight: var(--ki-typography-weight-display-normal);
  letter-spacing: 0.14em;
  line-height: var(--ki-typography-line-height-body-2);
  text-transform: uppercase;
}

.status-pill {
  display: inline-flex;
  align-items: center;
  block-size: var(--ki-badge-sm-height);
  padding-inline: var(--ki-space-sm);
  border: var(--ki-space-xxs) solid var(--ki-badge-success-border);
  border-radius: var(--ki-radius-round);
  background: var(--ki-surface-success-base-em);
  color: var(--ki-text-success-high-em);
  font-family: var(--ki-typography-family-body);
  font-size: var(--ki-badge-sm-font-size);
  font-weight: var(--ki-badge-font-weight);
  line-height: var(--ki-badge-sm-line-height);
  white-space: nowrap;
}

.pipeline-line {
  block-size: var(--ki-space-lg);
  margin-block-end: var(--ki-space-4xl);
  background-image: repeating-linear-gradient(
    to right,
    var(--ki-outline-primary-med-em) 0 var(--ki-space-sm),
    transparent var(--ki-space-sm) calc(var(--ki-space-lg) + var(--ki-size-border-hairline))
  );
  background-position: center;
  background-repeat: no-repeat;
  background-size: 100% 2px;
  animation: ki-pipeline-flow calc(var(--ki-motion-duration-long-3) * 3.0556) linear infinite;
}

@keyframes ki-pipeline-flow {
  to {
    background-position: calc(-1 * var(--ki-space-6xl)) center;
  }
}

.pipeline-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(17.5rem, 1fr));
  align-items: stretch;
  gap: var(--ki-space-4xl);
}

.pipeline-step {
  display: grid;
  grid-template-rows: auto 1fr;
  min-inline-size: 0;
  gap: var(--ki-space-xl);
}

.pipeline-step h3 {
  display: flex;
  align-items: baseline;
  gap: var(--ki-space-lg);
  margin: 0;
  font-family: var(--ki-typography-family-body);
  font-size: var(--ki-typography-size-body-2);
  font-weight: var(--ki-typography-weight-body-medium);
  line-height: var(--ki-typography-line-height-body-2);
}

.pipeline-step h3 span {
  color: var(--ki-text-primary-high-em);
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-typography-size-caption-2);
}

.pipeline-step > .code-block,
.pipeline-validation,
.pipeline-demo {
  min-block-size: var(--ki-site-pipeline-demo-height);
}

.pipeline-step > .code-block code {
  display: block;
  font-size: calc(
    var(--ki-typography-size-body-2) -
    var(--ki-space-xxs) -
    (var(--ki-size-border-hairline) / 2)
  );
  line-height: var(--ki-site-line-height-lede);
  white-space: pre-wrap;
}

.pipeline-validation,
.pipeline-demo {
  padding: var(--ki-space-5xl);
  border: 1px solid var(--ki-outline-low-em);
  border-radius: var(--ki-radius-big-component-sm);
}

.pipeline-validation {
  background: var(--ki-surface-s1);
}

.pipeline-demo {
  display: grid;
  align-content: start;
  gap: var(--ki-space-2xl);
  background: var(--ki-surface-s0);

  /* The approved site design predates the current MarsUI density pass. Keep
     this miniature historical specimen scoped to its reference measurements
     without changing the public component defaults. */
  --ki-input-height: var(--ki-space-14xl);
  --ki-input-border-width: var(--ki-space-xxs);
  --ki-input-radius: var(--ki-radius-md);
  --ki-input-label-font-size: var(--ki-typography-size-caption-2);
  --ki-input-label-line-height: var(--ki-typography-line-height-caption-2);
  --ki-input-label-padding-inline: var(--ki-space-zero);
  --ki-input-rest-bg: var(--ki-surface-base);
  --ki-input-readonly-bg: var(--ki-surface-raised);
  --ki-select-border-width: var(--ki-space-xxs);
  --ki-select-radius: var(--ki-radius-md);
  --ki-select-label-font-size: var(--ki-typography-size-caption-1);
  --ki-select-label-line-height: var(--ki-typography-line-height-caption-1);
  --ki-select-label-padding-inline: var(--ki-space-zero);
  --ki-select-rest-bg: var(--ki-surface-s0);
  --ki-switch-gap: var(--ki-space-sm);
  --ki-switch-border-width: var(--ki-space-xxs);
  --ki-switch-min-target: var(--ki-space-7xl);
  --ki-switch-thumb-width: var(--ki-switch-thumb-size);
  --ki-switch-thumb-radius: var(--ki-radius-sm);
  --ki-alert-padding-inline: var(--ki-space-lg);
  --ki-alert-padding-block: var(--ki-space-md);
  --ki-alert-gap: var(--ki-space-sm);
  --ki-alert-radius: var(--ki-radius-lg);
  --ki-alert-border-width: var(--ki-space-xxs);
  --ki-alert-success-bg: var(--ki-surface-success-base-em);
  --ki-alert-success-border: var(--ki-outline-success-med-em);
}

.pipeline-demo ki-button,
.pipeline-demo ki-alert {
  inline-size: 100%;
}

.pipeline-demo ki-button::part(button) {
  inline-size: 100%;
}

.pipeline-demo ki-alert::part(message) {
  display: none;
}

.validation-list,
.capability-list {
  padding: 0;
  list-style: none;
}

.validation-list {
  display: grid;
  gap: var(--ki-space-2xl);
  margin: 0;
}

.validation-list li {
  display: flex;
  align-items: center;
  gap: var(--ki-space-sm);
  color: var(--ki-text-med-em);
  font-size: var(--ki-site-copy-size);
}

.microcopy {
  margin: var(--ki-space-md) 0 0;
  color: var(--ki-text-low-em);
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-site-small-size);
  text-transform: lowercase;
}

.project-stats {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: clamp(var(--ki-space-7xl), 4vw, var(--ki-space-16xl));
  margin: 0;
  padding-block: clamp(var(--ki-space-12xl), 5vw, var(--ki-space-18xl)) var(--ki-space-md);
}

.project-stats div {
  display: grid;
  justify-items: center;
  gap: var(--ki-space-xs);
  text-align: center;
}

.project-stats dt {
  color: var(--ki-text-low-em);
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-site-small-size);
  letter-spacing: 0.1em;
  line-height: var(--ki-typography-line-height-body-2);
  text-transform: uppercase;
}

.project-stats dd {
  order: -1;
  margin: 0;
  color: var(--ki-text-high-em);
  font-family: var(--ki-typography-family-display);
  font-size: clamp(var(--ki-space-8xl), 3vw, var(--ki-space-11xl));
  font-weight: var(--ki-typography-weight-body-semibold);
  letter-spacing: var(--ki-site-heading-letter-spacing);
  line-height: var(--ki-typography-line-height-body-2);
}

.section {
  padding-block: clamp(var(--ki-space-18xl), 8vw, var(--ki-site-section-space));
}

.section-heading {
  display: grid;
  max-inline-size: 46rem;
  gap: var(--ki-space-2xl);
  margin-block-end: calc(var(--ki-space-10xl) + var(--ki-space-xxs));
}

.section h2,
.catalog-heading h2 {
  margin: 0;
  color: var(--ki-text-high-em);
  font-family: var(--ki-typography-family-display);
  font-size: clamp(var(--ki-typography-size-heading-3), 3.4vw, var(--ki-typography-size-heading-4));
  font-weight: var(--ki-typography-weight-display-bold);
  letter-spacing: var(--ki-site-heading-letter-spacing);
  line-height: var(--ki-site-heading-line-height);
  text-wrap: balance;
}

.section-heading > p:last-child {
  margin: 0;
  color: var(--ki-text-med-em);
  font-size: var(--ki-site-section-copy-size);
  line-height: var(--ki-site-line-height-lede);
}

#components-title {
  max-inline-size: calc(100% - var(--ki-space-xl));
}

.specimen {
  margin-block-start: calc(var(--ki-space-10xl) + var(--ki-space-xxs));
}

.specimen ki-tabs {
  --ki-tab-min-block-size: var(--ki-site-tab-height);
  --ki-tab-padding-block-end: var(--ki-size-border-hairline);

  min-inline-size: 0;
}

.specimen ki-tabs::part(tablist) {
  max-inline-size: 100%;
  overflow: auto hidden;
}

.specimen ki-tab-panel {
  --ki-tab-panel-bg: transparent;
  --ki-tab-panel-padding-block: 0;
  --ki-tab-panel-padding-inline: 0;

  margin-block-start: var(--ki-space-6xl);
  overflow: hidden;
  border: 1px solid var(--ki-outline-low-em);
  border-radius: var(--ki-radius-big-component-md);
  background: var(--ki-site-panel-background);
  backdrop-filter: blur(var(--ki-site-panel-blur));
}

.specimen-matrix {
  display: grid;
  gap: var(--ki-space-9xl);
  padding: clamp(var(--ki-space-7xl), 3.5vw, var(--ki-space-13xl));
}

.specimen-stack {
  display: grid;
  gap: var(--ki-space-6xl);
  padding: var(--ki-space-7xl);
}

.specimen-group {
  display: grid;
  gap: var(--ki-space-xl);
}

.specimen-group h3 {
  margin: 0;
  color: var(--ki-text-low-em);
  font-family: var(--ki-typography-family-mono);
  font-size: calc(var(--ki-typography-size-caption-2) - 1px);
  font-weight: var(--ki-typography-weight-body-medium);
  letter-spacing: 0.14em;
  line-height: var(--ki-typography-line-height-body-2);
  text-align: center;
  text-transform: uppercase;
}

.component-row,
.form-showcase,
.content-showcase {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--ki-space-2xl);
}

.component-row {
  justify-content: center;
}

.form-showcase > * {
  flex: 1 1 15rem;
}

.content-showcase {
  align-items: stretch;
}

.content-showcase > * {
  flex: 1 1 18rem;
  min-inline-size: 0;
}

.specimen-label {
  margin: 0;
  color: var(--ki-text-med-em);
}

.section-centered {
  display: grid;
  justify-items: center;
  gap: var(--ki-space-md);
  text-align: center;
}

.theme-section > h2 {
  max-inline-size: 24ch;
  margin-block-end: var(--ki-space-md);
}

.theme-section > h2 code {
  font-size: var(--ki-site-heading-code-scale);
}

.theme-console {
  display: grid;
  justify-items: center;
  max-inline-size: 42rem;
  gap: var(--ki-space-6xl);
  margin-block-start: var(--ki-space-5xl);
  padding: clamp(var(--ki-space-7xl), 3.5vw, var(--ki-space-12xl));
}

.theme-controls,
.theme-swatches {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
}

.theme-controls {
  gap: var(--ki-space-2xl);
}

.theme-swatches {
  gap: var(--ki-space-lg);
}

.theme-swatch {
  inline-size: calc(var(--ki-space-10xl) + var(--ki-space-xxs));
  block-size: calc(var(--ki-space-10xl) + var(--ki-space-xxs));
  border-radius: var(--ki-radius-component-md);
}

.theme-swatch-s0 {
  border: 1px solid var(--ki-outline-med-em);
  background: var(--ki-surface-s0);
}

.theme-swatch-s2 {
  border: 1px solid var(--ki-outline-low-em);
  background: var(--ki-surface-s2);
}

.theme-swatch-primary {
  background: var(--ki-surface-primary-high-em);
}

.theme-swatch-success {
  background: var(--ki-surface-success-high-em);
}

.theme-swatch-danger {
  background: var(--ki-surface-danger-high-em);
}

.theme-swatch-label {
  margin-inline-start: var(--ki-space-md);
  color: var(--ki-text-low-em);
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-site-small-size);
}

.theme-console > p {
  max-inline-size: 36rem;
  margin: 0;
  color: var(--ki-text-med-em);
  font-size: var(--ki-site-copy-size);
  line-height: var(--ki-site-line-height-lede);
}

.contract-layout {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(18.75rem, 1fr));
  align-items: start;
  gap: var(--ki-space-6xl);
  margin-block-start: var(--ki-space-11xl);
}

.contract-artifacts {
  display: grid;
  gap: var(--ki-space-xl);
}

.contract-artifact {
  display: grid;
  gap: var(--ki-space-sm);
  padding: var(--ki-space-5xl) var(--ki-space-6xl);
}

.contract-artifact code {
  padding: 0;
  background: none;
  color: var(--ki-text-primary-high-em);
  font-size: calc(var(--ki-typography-size-caption-2) + 1px);
}

.contract-artifact p {
  margin: 0;
  color: var(--ki-text-med-em);
  font-size: var(--ki-site-copy-size);
  line-height: var(--ki-site-line-height-copy);
}

.contract-layout > .section {
  display: grid;
  align-content: start;
  gap: var(--ki-space-2xl);
  padding: var(--ki-space-7xl);
  border: 1px solid var(--ki-outline-low-em);
  border-radius: var(--ki-radius-big-component-md);
  background: var(--ki-site-panel-background);
  backdrop-filter: blur(var(--ki-site-panel-blur));
}

.contract-layout > .section h2 {
  margin-block-end: var(--ki-space-xs);
  color: var(--ki-text-low-em);
  font-family: var(--ki-typography-family-mono);
  font-size: calc(var(--ki-typography-size-caption-2) - 1px);
  font-weight: var(--ki-typography-weight-body-medium);
  letter-spacing: 0.14em;
  line-height: var(--ki-typography-line-height-body-2);
  text-transform: uppercase;
}

[data-kimen-capabilities="site-status"] {
  display: grid;
  gap: var(--ki-space-2xl);
  margin: 0;
  padding: 0;
  list-style: none;
}

[data-kimen-capabilities="site-status"] li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: var(--ki-space-2xl);
  overflow: hidden;
  color: var(--ki-text-high-em);
  font-size: var(--ki-site-copy-size);
  text-overflow: ellipsis;
  white-space: nowrap;
}

[data-kimen-capabilities="site-status"] li::after {
  flex: none;
  padding: var(--ki-space-xxs) var(--ki-space-md);
  border-radius: var(--ki-radius-component-sm);
  background: var(--ki-surface-s2);
  color: var(--ki-text-med-em);
  content: attr(data-state);
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-typography-size-caption-2);
  line-height: var(--ki-typography-line-height-caption-2);
}

[data-kimen-capabilities="site-status"] li[data-state="available"]::after {
  background: var(--ki-surface-success-low-em);
  color: var(--ki-text-success-high-em);
}

[data-kimen-capabilities="site-status"] li[data-state="hardening"]::after {
  background: var(--ki-surface-warning-low-em);
  color: var(--ki-text-warning-high-em);
}

.comparison-wrap {
  inline-size: 100%;
  max-inline-size: 100%;
  min-inline-size: 0;
  padding: var(--ki-space-md);
  overflow-x: auto;
  contain: inline-size;
}

.comparison-wrap table {
  inline-size: 100%;
  min-inline-size: 40rem;
  border-collapse: separate;
  border-spacing: 0;
}

.comparison-wrap th,
.comparison-wrap td {
  padding: var(--ki-space-xl) var(--ki-space-2xl);
  border-block-end: 1px solid var(--ki-outline-low-em);
  color: var(--ki-text-med-em);
  text-align: start;
  vertical-align: top;
}

.comparison-wrap tbody tr:last-child th,
.comparison-wrap tbody tr:last-child td {
  border-block-end: 0;
}

.comparison-wrap thead th {
  color: var(--ki-text-low-em);
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-typography-size-caption-2);
  font-weight: var(--ki-typography-weight-body-medium);
  letter-spacing: normal;
  text-transform: uppercase;
}

.comparison-wrap thead th:first-child {
  inline-size: 34%;
}

.comparison-wrap tbody th {
  color: var(--ki-text-high-em);
  font-weight: var(--ki-typography-weight-body-medium);
}

.comparison-wrap .kimen-column {
  background: var(--ki-surface-primary-low-em-alpha);
  color: var(--ki-text-high-em);
}

.comparison-wrap thead .kimen-column {
  color: var(--ki-text-high-em);
}

.comparison-note {
  margin: var(--ki-space-2xl) var(--ki-space-xs) 0;
  color: var(--ki-text-low-em);
  font-size: calc(var(--ki-typography-size-caption-2) + 0.5px);
}

.quality-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(15rem, 1fr));
  gap: var(--ki-space-4xl);
}

.quality-card {
  display: grid;
  align-content: start;
  gap: var(--ki-space-lg);
  padding: var(--ki-space-7xl);
}

.quality-card > span {
  color: var(--ki-text-primary-high-em);
  font-family: var(--ki-typography-family-mono);
  font-size: var(--ki-typography-size-caption-2);
}

.quality-card h3 {
  margin: 0;
  font-size: var(--ki-typography-size-body-2);
  font-weight: var(--ki-typography-weight-body-medium);
  line-height: var(--ki-typography-line-height-body-2);
}

.quality-card p {
  margin: 0;
  color: var(--ki-text-med-em);
  font-size: var(--ki-site-copy-size);
  line-height: var(--ki-site-line-height-copy);
}

.catalog-heading {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: var(--ki-space-5xl);
  margin-block-end: calc(var(--ki-space-10xl) + var(--ki-space-xxs));
}

.catalog-heading .section-heading {
  margin: 0;
}

.catalog-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(12.25rem, 1fr));
  gap: var(--ki-space-2xl);
}

.catalog-card {
  display: grid;
  align-content: start;
  block-size: var(--ki-site-catalog-card-height);
  gap: var(--ki-space-sm);
  padding: var(--ki-space-4xl) var(--ki-space-5xl);
  color: var(--ki-text-high-em);
  text-decoration: none;
  transition:
    transform var(--ki-motion-duration-short-4) var(--ki-motion-easing-out),
    border-color var(--ki-motion-duration-short-4) var(--ki-motion-easing-out);
}

.catalog-card:hover {
  border-color: var(--ki-outline-primary-low-em);
  color: var(--ki-text-high-em);
  transform: translateY(calc(-1 * var(--ki-motion-distance-sm)));
}

.catalog-card .catalog-tag {
  color: var(--ki-text-primary-high-em);
  font-family: var(--ki-typography-family-mono);
  font-size: calc(var(--ki-typography-size-caption-2) + 1px);
}

.catalog-card .catalog-description {
  max-block-size: calc(1em + 1em + 1em);
  overflow: hidden;
  color: var(--ki-text-med-em);
  font-size: calc(var(--ki-typography-size-caption-2) + 1px);
  line-height: var(--ki-site-line-height-compact);
}

.catalog-fallback {
  grid-column: 1 / -1;
  padding: var(--ki-space-7xl);
  text-align: center;
}

.roadmap {
  display: grid;
  max-inline-size: 46rem;
  gap: var(--ki-space-lg);
  margin: 0;
  padding: 0;
  list-style: none;
}

.roadmap li {
  display: flex;
  align-items: baseline;
  gap: var(--ki-space-2xl);
  padding: var(--ki-space-3xl) var(--ki-space-6xl);
  border: 1px solid var(--ki-outline-low-em);
  border-radius: var(--ki-radius-big-component-sm);
  color: var(--ki-text-med-em);
  line-height: var(--ki-site-line-height-copy);
}

.roadmap li[data-state="done"] {
  border-color: var(--ki-outline-success-low-em);
}

.roadmap li[data-state="current"] {
  border-color: var(--ki-outline-primary-med-em);
  background: var(--ki-surface-primary-low-em-alpha);
  color: var(--ki-text-high-em);
}

.roadmap li > span {
  flex: none;
  color: var(--ki-text-low-em);
  font-family: var(--ki-typography-family-mono);
}

.roadmap li[data-state="done"] > span {
  color: var(--ki-text-success-high-em);
}

.roadmap li[data-state="current"] > span {
  color: var(--ki-text-primary-high-em);
}

.roadmap p {
  margin: 0;
  line-height: var(--ki-site-line-height-copy);
}

.roadmap strong {
  margin-inline-end: var(--ki-space-sm);
  color: var(--ki-text-high-em);
  font-weight: var(--ki-typography-weight-body-medium);
}

.text-link {
  display: inline-flex;
  min-block-size: var(--ki-button-sm-min-target);
  align-items: center;
  color: var(--ki-text-primary-high-em);
  font-weight: var(--ki-typography-weight-body-medium);
  text-underline-offset: var(--ki-space-xxs);
}

.site-footer {
  position: relative;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--ki-space-5xl);
  margin-block-start: var(--ki-space-7xl);
  padding: var(--ki-space-12xl) clamp(var(--ki-space-3xl), 4vi, var(--ki-space-14xl));
  border-block-start: 1px solid var(--ki-outline-low-em);
  color: var(--ki-text-low-em);
  font-size: calc(var(--ki-typography-size-body-2) - 1.5px);
}

.site-footer p {
  margin: 0;
}

.site-footer nav {
  display: flex;
  flex-wrap: wrap;
  gap: var(--ki-space-6xl);
}

.site-footer a {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--ki-button-sm-min-target);
  color: var(--ki-text-med-em);
}

/* Undefined custom elements keep the no-JS document legible. */
ki-button:not(:defined),
ki-badge:not(:defined),
ki-status:not(:defined) {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--ki-button-md-min-target);
  padding-inline: var(--ki-space-lg);
  border: 1px solid var(--ki-outline-med-em);
  border-radius: var(--ki-radius-component-md);
  background: var(--ki-surface-s2);
  color: var(--ki-text-high-em);
}

ki-input:not(:defined),
ki-select:not(:defined),
ki-alert:not(:defined),
ki-progress:not(:defined),
ki-card:not(:defined),
ki-list:not(:defined),
ki-tabs:not(:defined),
ki-tab-panel:not(:defined) {
  display: block;
}

html.theme-anim,
html.theme-anim body,
html.theme-anim .panel,
html.theme-anim .site-header,
html.theme-anim .site-footer,
html.theme-anim .segmented span,
html.theme-anim .cta {
  transition:
    background-color var(--ki-motion-duration-medium-2) var(--ki-motion-easing-standard),
    color var(--ki-motion-duration-medium-2) var(--ki-motion-easing-standard),
    border-color var(--ki-motion-duration-medium-2) var(--ki-motion-easing-standard),
    box-shadow var(--ki-motion-duration-medium-2) var(--ki-motion-easing-standard);
}

/* Privacy ----------------------------------------------------------------- */

.privacy-main {
  position: relative;
  z-index: 1;
  max-inline-size: 42rem;
  min-inline-size: 0;
  margin-inline: auto;
  padding-block: clamp(var(--ki-space-18xl), 8vw, var(--ki-site-section-space)) var(--ki-space-20xl);
  padding-inline: clamp(var(--ki-space-3xl), 4vi, var(--ki-space-14xl));
}

.privacy-main h1 {
  margin: 0;
  margin-block-end: var(--ki-space-8xl);
  color: var(--ki-text-high-em);
  font-family: var(--ki-typography-family-display);
  font-size: clamp(var(--ki-typography-size-heading-3), 3.4vw, var(--ki-typography-size-heading-4));
  font-weight: var(--ki-typography-weight-display-bold);
  letter-spacing: var(--ki-site-heading-letter-spacing);
  line-height: var(--ki-site-heading-line-height);
}

.privacy-main h2 {
  margin: 0;
  margin-block: var(--ki-space-10xl) var(--ki-space-2xl);
  color: var(--ki-text-high-em);
  font-family: var(--ki-typography-family-display);
  font-size: var(--ki-typography-size-heading-6);
  font-weight: var(--ki-typography-weight-display-bold);
  letter-spacing: var(--ki-site-heading-letter-spacing);
  line-height: var(--ki-typography-line-height-heading-6);
}

.privacy-main p {
  margin: 0;
  margin-block-end: var(--ki-space-5xl);
  color: var(--ki-text-med-em);
  font-size: var(--ki-site-copy-size);
  line-height: var(--ki-site-line-height-copy);
}

.privacy-main p:last-child {
  margin-block-end: 0;
}

.privacy-main a {
  font-weight: var(--ki-typography-weight-body-medium);
}

@media (width < 67.5rem) {
  .hero-layout {
    display: block;
  }

  .hero-orbit {
    display: none;
  }

  .pipeline-step > .code-block,
  .pipeline-validation,
  .pipeline-demo {
    min-block-size: 0;
  }
}

@media (width <= 52rem) {
  .header-desktop {
    display: none;
  }

  .mobile-menu {
    display: block;
  }

  .project-stats {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .contract-layout,
  .quality-grid {
    grid-template-columns: 1fr;
  }

  .catalog-heading {
    align-items: start;
  }
}

@media (width <= 36rem) {
  .site-header {
    padding-inline: var(--ki-space-lg);
  }

  .brand-name {
    font-size: var(--ki-typography-size-body-1);
  }

  .brand-stage {
    display: none;
  }

  .landing-main {
    padding-inline: var(--ki-space-3xl);
  }

  .hero {
    padding-block-start: var(--ki-space-18xl);
  }

  .hero h1 {
    font-size: var(--ki-typography-size-heading-4);
    line-height: var(--ki-typography-line-height-heading-4);
  }

  .hero-actions,
  .hero-actions .cta {
    inline-size: 100%;
  }

  .pipeline,
  .specimen-matrix,
  .specimen-stack,
  .theme-console,
  .contract-layout > .section,
  .quality-card,
  .catalog-card {
    padding: var(--ki-space-5xl);
  }

  .project-stats {
    grid-template-columns: 1fr;
  }

  .theme-controls,
  .theme-controls .segmented {
    display: grid;
    grid-template-columns: 1fr;
    inline-size: 100%;
  }

  .segmented {
    border-radius: var(--ki-radius-big-component-sm);
  }

  [data-kimen-capabilities="site-status"] li {
    align-items: flex-start;
    flex-direction: column;
    gap: var(--ki-space-sm);
  }

  .roadmap li {
    padding-inline: var(--ki-space-3xl);
  }

  .site-footer {
    align-items: flex-start;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation: none !important;
    transition: none !important;
  }
}
