/* KOLPAKOV — Direction page system (document-flow, reusable) */
@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400..700&display=swap");

:root {
  color-scheme: dark;
  --kp-bg: #000000;
  --kp-navy: #00101e;
  --kp-surface: #05070d;
  --kp-text: #e8ecf8;
  --kp-text-soft: #cfd6e8;
  --kp-muted: #9aa3bc;
  --kp-cyan: #55c7d8;
  --kp-blue: #2f62d6;
  --kp-line: rgba(85, 199, 216, 0.16);
  --kp-line-soft: rgba(120, 170, 220, 0.14);
  --kp-font: "Manrope", "Segoe UI", "Helvetica Neue", Helvetica, Arial, sans-serif;
  --kp-shell: min(1360px, calc(100% - clamp(32px, 7vw, 112px)));
  --kp-violet: rgba(139, 124, 255, 0.35);
  --kp-body: 1.125rem;
  --kp-body-lh: 1.5;
  --kp-header-h: 72px;
  --kp-mobile-header: 64px;
  --kp-tracking-eyebrow: 0.14em;
  --kp-radius: 2px;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

body.kp-direction {
  margin: 0;
  min-width: 320px;
  overflow-x: hidden;
  font-family: var(--kp-font);
  font-weight: 400;
  color: var(--kp-text);
  background:
    radial-gradient(ellipse 55% 40% at 78% 8%, rgba(47, 98, 214, 0.1), transparent 60%),
    radial-gradient(ellipse 45% 35% at 12% 18%, rgba(85, 199, 216, 0.06), transparent 55%),
    linear-gradient(180deg, var(--kp-navy) 0%, var(--kp-bg) 28%, var(--kp-bg) 100%);
  -webkit-font-smoothing: antialiased;
}

body.kp-direction.is-contact-open,
body.kp-direction.is-mobile-menu-open {
  overflow: hidden;
  touch-action: none;
  overscroll-behavior: none;
}

a {
  color: inherit;
}

img {
  max-width: 100%;
  display: block;
}

.kp-shell {
  width: var(--kp-shell);
  margin-inline: auto;
}

.kp-skip {
  position: absolute;
  left: -9999px;
  top: 0;
  z-index: 200;
  padding: 0.6rem 0.9rem;
  background: #111;
  color: #fff;
}

.kp-skip:focus {
  left: 1rem;
  top: 1rem;
}

/* —— Header —— */
.site-nav {
  position: sticky;
  top: 0;
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: var(--kp-header-h);
  padding: 0.85rem clamp(1rem, 4vw, 7vw);
  background: color-mix(in srgb, var(--kp-bg) 82%, transparent);
  backdrop-filter: blur(14px);
  -webkit-backdrop-filter: blur(14px);
  border-bottom: 1px solid rgba(85, 199, 216, 0.08);
}

.nav-brand {
  letter-spacing: 0.18em;
  text-transform: uppercase;
  text-decoration: none;
  font-size: 0.82rem;
  font-weight: 600;
  color: color-mix(in srgb, var(--kp-text) 86%, transparent);
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
}

.nav-links {
  display: flex;
  align-items: center;
  gap: clamp(0.75rem, 2vw, 1.75rem);
}

.nav-links a,
.nav-links button {
  appearance: none;
  border: 0;
  background: transparent;
  color: color-mix(in srgb, var(--kp-muted) 92%, transparent);
  font-family: inherit;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  min-height: 2.5rem;
  display: inline-flex;
  align-items: center;
  padding: 0.35rem 0.25rem;
}

.nav-links a:hover,
.nav-links button:hover,
.nav-brand:hover,
.nav-links a:focus-visible,
.nav-links button:focus-visible,
.nav-brand:focus-visible {
  color: var(--kp-text);
  outline: none;
}

.nav-links a:focus-visible,
.nav-links button:focus-visible,
.nav-brand:focus-visible {
  outline: 1px solid var(--kp-cyan);
  outline-offset: 4px;
}

.nav-cta {
  border: 1px solid rgba(85, 199, 216, 0.45) !important;
  padding: 0 1.1rem !important;
  min-height: 42px !important;
  color: var(--kp-text) !important;
  background: color-mix(in srgb, #0a1220 55%, #2f62d6 35%) !important;
}

.nav-cta:hover,
.nav-cta:focus-visible {
  border-color: var(--kp-cyan) !important;
  background: color-mix(in srgb, #0a1220 40%, #2f62d6 45%) !important;
}

.nav-directions,
.nav-cases {
  position: relative;
}

.nav-mega {
  position: absolute;
  top: calc(100% + 0.55rem);
  right: 0;
  min-width: min(42rem, 72vw);
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0;
  padding: 0.45rem 0.2rem;
  pointer-events: none;
  background: rgba(5, 8, 15, 0.96);
  border: 1px solid rgba(47, 98, 214, 0.22);
  backdrop-filter: blur(16px);
  box-shadow: 0 18px 48px rgba(0, 0, 0, 0.42);
  opacity: 0;
  visibility: hidden;
  transform: translateY(-4px);
  transition: opacity 200ms ease, transform 200ms ease, visibility 0s linear 200ms;
  z-index: 120;
}

.nav-mega--cases {
  min-width: 300px;
  width: 320px;
  grid-template-columns: 1fr;
  padding: 7px 0;
}

.nav-directions.is-open .nav-mega,
.nav-cases.is-open .nav-mega {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  transition-delay: 0s;
}

.nav-mega a,
.nav-mega button {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  width: 100%;
  min-height: 2.6rem;
  padding: 0.55rem 1rem;
  text-align: left;
  appearance: none;
  border: 0;
  background: transparent;
  color: color-mix(in srgb, var(--kp-text) 78%, transparent);
  font-family: inherit;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
}

.nav-mega a span,
.nav-mega button span {
  color: var(--kp-cyan);
  opacity: 0.7;
  font-variant-numeric: tabular-nums;
}

.nav-mega a:hover,
.nav-mega a:focus-visible,
.nav-mega button:hover,
.nav-mega button:focus-visible {
  color: var(--kp-text);
  background: rgba(47, 98, 214, 0.12);
  outline: none;
}

.nav-mega a.is-current {
  color: var(--kp-text);
  background: rgba(85, 199, 216, 0.08);
}

.nav-case-item {
  flex-direction: column !important;
  align-items: flex-start !important;
  gap: 0.2rem !important;
}

.nav-case-item__sphere {
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  color: var(--kp-muted);
}

.nav-case-item__name {
  font-size: 0.78rem;
  letter-spacing: 0.1em;
}

.nav-cases-all {
  border-top: 1px solid var(--kp-line-soft);
  margin-top: 0.25rem;
  color: var(--kp-cyan) !important;
}

.nav-menu-btn {
  display: none;
  appearance: none;
  border: 0;
  background: transparent;
  width: 44px;
  height: 44px;
  padding: 0;
  cursor: pointer;
  position: relative;
}

.nav-menu-btn span {
  position: absolute;
  left: 10px;
  right: 10px;
  height: 1px;
  background: var(--kp-text);
  transition: transform 0.2s ease, opacity 0.2s ease;
}

.nav-menu-btn span:nth-child(1) { top: 15px; }
.nav-menu-btn span:nth-child(2) { top: 21px; }
.nav-menu-btn span:nth-child(3) { top: 27px; }

.nav-menu-btn.is-menu-open span:nth-child(1) {
  top: 21px;
  transform: rotate(45deg);
}
.nav-menu-btn.is-menu-open span:nth-child(2) { opacity: 0; }
.nav-menu-btn.is-menu-open span:nth-child(3) {
  top: 21px;
  transform: rotate(-45deg);
}

/* Mobile menu — HOME standard (opaque shell, no page bleed) */
.mobile-menu {
  display: flex !important;
  flex-direction: column;
  position: fixed;
  inset: 0;
  z-index: 310 !important;
  width: 100vw;
  max-width: 100vw;
  height: 100dvh;
  min-height: 100dvh;
  box-sizing: border-box;
  padding: calc(18px + env(safe-area-inset-top, 0px)) 20px
    calc(24px + env(safe-area-inset-bottom, 0px));
  background: #020a11;
  color: #f2f5fa;
  overflow: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  opacity: 1;
  visibility: hidden;
  pointer-events: none;
  transform: translateY(-8px);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  isolation: isolate;
  transition:
    transform 0.28s ease,
    visibility 0.28s ease;
}

.mobile-menu[hidden] {
  display: none !important;
}

.mobile-menu.is-open,
body.is-mobile-menu-open .mobile-menu.is-open {
  display: flex !important;
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
  transform: translateY(0);
  background: #020a11;
}

.mobile-menu__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 48px;
  margin-bottom: 1.75rem;
}

.mobile-menu__brand {
  font-size: 16px;
  letter-spacing: 0.16em;
  text-decoration: none;
  color: #f2f5fa;
  font-weight: 500;
}

.mobile-menu__close {
  appearance: none;
  border: 0;
  background: transparent;
  width: 48px;
  height: 48px;
  min-width: 48px;
  padding: 0;
  cursor: pointer;
  position: relative;
}

.mobile-menu__close-icon,
.mobile-menu__close-icon::before,
.mobile-menu__close-icon::after {
  display: block;
  position: absolute;
  left: 50%;
  top: 50%;
  width: 22px;
  height: 1.5px;
  background: rgba(210, 220, 236, 0.9);
}

.mobile-menu__close-icon {
  background: transparent;
  transform: translate(-50%, -50%);
}

.mobile-menu__close-icon::before {
  content: '';
  transform: translate(-50%, -50%) rotate(45deg);
}

.mobile-menu__close-icon::after {
  content: '';
  transform: translate(-50%, -50%) rotate(-45deg);
}

.mobile-menu__nav {
  display: flex;
  flex-direction: column;
  min-width: 0;
  width: 100%;
}

.mobile-menu__label {
  margin: 0 0 0.35rem;
  color: rgba(160, 190, 220, 0.72);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
}

.mobile-menu__dirs {
  display: flex;
  flex-direction: column;
  width: 100%;
  margin: 0 0 1rem;
  border-top: 1px solid rgba(140, 160, 200, 0.16);
}

.mobile-menu__dir {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  min-height: 44px;
  padding: 0.55rem 0;
  border-bottom: 1px solid rgba(140, 160, 200, 0.14);
  color: #e8eef8;
  text-decoration: none !important;
  font-size: 15.5px;
  line-height: 1.25;
  letter-spacing: 0.01em;
  text-transform: none;
}

.mobile-menu__dir:link,
.mobile-menu__dir:visited,
.mobile-menu__dir:active {
  color: #e8eef8 !important;
  text-decoration: none !important;
}

.mobile-menu__dir:hover,
.mobile-menu__dir:focus-visible,
.mobile-menu__dir.is-current {
  color: #55c7d8 !important;
  outline: none;
}

.mobile-menu__dir-num {
  width: 32px;
  color: rgba(160, 190, 220, 0.55);
  font-size: 12px;
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.06em;
}

.mobile-menu__primary {
  display: flex;
  flex-direction: column;
  border-top: 1px solid rgba(140, 160, 200, 0.16);
}

.mobile-menu a,
.mobile-menu a:link,
.mobile-menu a:visited,
.mobile-menu a:hover,
.mobile-menu a:active,
.mobile-menu a:focus {
  text-decoration: none !important;
  font-family: inherit;
}

.mobile-menu__nav button,
.mobile-menu__primary a,
.mobile-menu__primary a:link,
.mobile-menu__primary a:visited,
.mobile-menu__primary a:hover,
.mobile-menu__primary a:active,
.mobile-menu__primary button {
  appearance: none;
  border: 0;
  border-bottom: 1px solid rgba(140, 160, 200, 0.14);
  background: transparent;
  color: #f2f5fa !important;
  font: inherit;
  font-family: inherit;
  text-align: left;
  text-decoration: none !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 18px;
  min-height: 46px;
  padding: 0.7rem 0;
  cursor: pointer;
  display: flex;
  align-items: center;
}

.mobile-menu__primary a:hover,
.mobile-menu__primary a:focus-visible {
  color: #55c7d8 !important;
}

.mobile-menu__nav .mobile-menu__discuss {
  margin-top: 1.1rem;
  min-height: 50px;
  padding: 0.85rem 1rem;
  border: 1px solid rgba(85, 199, 216, 0.45);
  border-bottom-color: rgba(85, 199, 216, 0.45);
  background: color-mix(in srgb, #0a1220 55%, #2f62d6 35%);
  color: #f2f5fa;
  text-align: center;
  justify-content: center;
  font-size: 13px;
  font-weight: 600;
}

.mobile-menu__secondary {
  margin-top: 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 1.1rem;
}

.mobile-menu__career {
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(120, 210, 225, 0.95);
  font: inherit;
  text-align: left;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 14px;
  min-height: 48px;
  padding: 0;
  cursor: pointer;
}

.mobile-menu__phone,
.mobile-menu__phone:link,
.mobile-menu__phone:visited,
.mobile-menu__phone:hover,
.mobile-menu__phone:active {
  color: #f2f5fa !important;
  text-decoration: none !important;
  font-size: 18px;
  letter-spacing: 0.04em;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  margin-top: 0;
}

.mobile-menu__phone:hover,
.mobile-menu__phone:focus-visible {
  color: #55c7d8 !important;
}

.mobile-menu__socials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.25rem;
}

.mobile-menu__social,
.mobile-menu__social:link,
.mobile-menu__social:visited,
.mobile-menu__social:active {
  color: rgba(190, 205, 225, 0.9) !important;
  text-decoration: none !important;
  font-size: 12px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  gap: 7px;
}

.mobile-menu__social:hover,
.mobile-menu__social:focus-visible {
  color: #55c7d8 !important;
}

.mobile-menu__social-icon,
.mobile-menu__social svg,
.mobile-menu__social img {
  width: 17px;
  height: 17px;
  flex: 0 0 17px;
  display: block;
}

.mobile-menu__legal {
  margin-top: auto;
  padding-top: 2.5rem;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  gap: 0.55rem 1rem;
}

.mobile-menu__legal a,
.mobile-menu__legal a:link,
.mobile-menu__legal a:visited,
.mobile-menu__legal a:hover,
.mobile-menu__legal a:active {
  color: rgba(160, 175, 200, 0.55) !important;
  text-decoration: none !important;
  font-size: 10.5px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.4;
}

@media (min-width: 390px) {
  .mobile-menu {
    padding-left: 24px;
    padding-right: 24px;
  }
}

/* —— Buttons —— */
.kp-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.55rem;
  min-height: 50px;
  padding: 0 28px;
  font-family: inherit;
  font-size: 13px;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  text-decoration: none;
  white-space: nowrap;
  color: #f4f8ff;
  background: color-mix(in srgb, #0a1220 55%, #2f62d6 45%);
  border: 1px solid color-mix(in srgb, #55c7d8 55%, #2f62d6 45%);
  border-radius: var(--kp-radius);
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

.kp-btn:hover,
.kp-btn:focus-visible {
  border-color: var(--kp-cyan);
  background: color-mix(in srgb, #0a1220 40%, #2f62d6 50%);
  outline: none;
}

.kp-btn--ghost {
  color: rgba(210, 222, 240, 0.92);
  background: rgba(12, 18, 32, 0.72);
  border-color: rgba(120, 170, 220, 0.38);
  font-weight: 500;
}

.kp-btn--ghost:hover,
.kp-btn--ghost:focus-visible {
  border-color: rgba(85, 199, 216, 0.55);
  color: var(--kp-text);
}

.kp-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.85rem;
  margin-top: 1.75rem;
}

/* —— Section primitives —— */
.kp-section {
  padding: clamp(4.5rem, 9vw, 7.5rem) 0;
  border-top: 1px solid var(--kp-line-soft);
}

.kp-eyebrow {
  margin: 0 0 1rem;
  color: var(--kp-cyan);
  font-size: 0.72rem;
  letter-spacing: var(--kp-tracking-eyebrow);
  text-transform: uppercase;
}

.kp-h2 {
  margin: 0;
  max-width: 16em;
  font-size: clamp(1.85rem, 3.6vw, 3.1rem);
  font-weight: 500;
  line-height: 1.08;
  letter-spacing: -0.035em;
  text-transform: uppercase;
}

.kp-lede {
  margin: 1.25rem 0 0;
  max-width: 40rem;
  font-size: clamp(1.125rem, 1.3vw, 1.25rem);
  line-height: var(--kp-body-lh);
  color: var(--kp-text-soft);
}

.kp-h3 {
  margin: 0 0 0.75rem;
  max-width: 32em;
  font-size: clamp(1.3rem, 2vw, 1.75rem);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

.kp-section__head {
  margin-bottom: clamp(2rem, 4vw, 3rem);
}

/* —— Breadcrumb —— */
.kp-breadcrumb {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0 0 1.5rem;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--kp-muted) 80%, transparent);
}

.kp-breadcrumb a {
  color: inherit;
  text-decoration: none;
}

.kp-breadcrumb a:hover,
.kp-breadcrumb a:focus-visible {
  color: var(--kp-cyan);
  outline: none;
}

.kp-breadcrumb [aria-current="page"] {
  color: color-mix(in srgb, var(--kp-text) 70%, transparent);
}

/* —— Hero —— */
.kp-hero {
  padding: clamp(2.5rem, 5vw, 3.5rem) 0 clamp(3.5rem, 7vw, 5.5rem);
  border-top: 0;
  min-height: calc(820px - var(--kp-header-h));
  display: flex;
  align-items: center;
}

.kp-hero > .kp-shell {
  width: 100%;
}

.kp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(520px, 0.92fr);
  gap: clamp(1.5rem, 3.5vw, 3.5rem);
  align-items: center;
}

.kp-hero__copy {
  max-width: 38rem;
}

.kp-kicker {
  margin: 0 0 1.15rem;
  font-size: clamp(0.95rem, 1.15vw, 1.05rem);
  letter-spacing: 0.1em;
  line-height: 1.45;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--kp-text-soft) 88%, transparent);
}

.kp-hero h1 {
  margin: 0;
  font-size: clamp(2.15rem, 4.4vw, 3.75rem);
  font-weight: 500;
  line-height: 1.05;
  letter-spacing: -0.04em;
  text-transform: uppercase;
}

.kp-hero__body {
  margin: 1.35rem 0 0;
  max-width: 34rem;
  font-size: clamp(1.125rem, 1.25vw, 1.2rem);
  line-height: var(--kp-body-lh);
  color: var(--kp-text-soft);
}

/* Hero commercial website machine */
.kp-machine {
  position: relative;
  width: 100%;
  min-width: 0;
  margin-left: auto;
}

.kp-machine__frame {
  position: relative;
  min-height: 480px;
  padding: 1rem 1rem 1.15rem;
  border: 1px solid var(--kp-line);
  background:
    linear-gradient(165deg, rgba(0, 18, 34, 0.92), rgba(0, 0, 0, 0.55) 55%, rgba(12, 8, 28, 0.45)),
    repeating-linear-gradient(
      0deg,
      transparent,
      transparent 27px,
      rgba(85, 199, 216, 0.035) 27px,
      rgba(85, 199, 216, 0.035) 28px
    );
  box-shadow:
    0 0 0 1px rgba(139, 124, 255, 0.06) inset,
    0 28px 60px rgba(0, 0, 0, 0.45);
}

.kp-machine__chrome {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  margin-bottom: 1rem;
  padding-bottom: 0.75rem;
  border-bottom: 1px solid var(--kp-line-soft);
}

.kp-machine__dot {
  width: 7px;
  height: 7px;
  background: rgba(154, 163, 188, 0.35);
}

.kp-machine__url {
  margin-left: 0.55rem;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.kp-machine__body {
  position: relative;
  display: grid;
  grid-template-columns: 0.9fr 1.35fr 0.95fr;
  gap: 0.75rem;
  min-height: 400px;
}

.kp-machine__col {
  display: grid;
  gap: 0.65rem;
  align-content: start;
  position: relative;
  z-index: 2;
}

.kp-machine__col--in {
  padding-top: 0.5rem;
}

.kp-machine__col--out {
  padding-top: 2.5rem;
  align-content: end;
}

.kp-machine__node {
  padding: 0.7rem 0.75rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: rgba(0, 8, 16, 0.72);
  transition: border-color 0.35s ease, box-shadow 0.35s ease, background 0.35s ease;
}

.kp-machine__node.is-active {
  border-color: rgba(85, 199, 216, 0.75);
  background: rgba(0, 24, 40, 0.85);
  box-shadow: 0 0 18px rgba(85, 199, 216, 0.12);
}

.kp-machine__tag {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-text);
}

.kp-machine__hint {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.68rem;
  letter-spacing: 0.04em;
  color: var(--kp-muted);
}

.kp-machine__col--page {
  align-content: stretch;
}

.kp-machine__page {
  display: grid;
  gap: 0.45rem;
  height: 100%;
  min-height: 340px;
  padding: 0.65rem;
  border: 1px solid rgba(85, 199, 216, 0.28);
  background: rgba(2, 8, 16, 0.88);
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

.kp-machine__col--page.is-active .kp-machine__page {
  border-color: rgba(85, 199, 216, 0.7);
  box-shadow: 0 0 24px rgba(47, 98, 214, 0.14);
}

.kp-machine__page-bar,
.kp-machine__page-hero,
.kp-machine__page-proof,
.kp-machine__page-cta,
.kp-machine__page-form {
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(120, 170, 220, 0.18);
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--kp-text-soft) 75%, transparent);
}

.kp-machine__page-bar { height: 28px; }
.kp-machine__page-hero {
  flex: 1.2;
  background: linear-gradient(180deg, rgba(47, 98, 214, 0.12), transparent);
}
.kp-machine__page-proof { height: 42px; }
.kp-machine__page-cta {
  height: 36px;
  border-color: rgba(85, 199, 216, 0.35);
  color: var(--kp-cyan);
}
.kp-machine__page-cta.is-pulse {
  box-shadow: 0 0 16px rgba(85, 199, 216, 0.35);
  background: rgba(85, 199, 216, 0.08);
}
.kp-machine__page-form { height: 52px; }

.kp-machine__lines {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
  opacity: 0.7;
}

.kp-machine__track {
  fill: none;
  stroke: rgba(85, 199, 216, 0.28);
  stroke-width: 1;
}

.kp-machine__signal {
  fill: var(--kp-cyan);
  opacity: 0;
}

.kp-machine.is-running .kp-machine__signal {
  opacity: 1;
}

@media (min-width: 1600px) {
  .kp-hero__grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(580px, 0.95fr);
  }

  .kp-machine__frame {
    min-height: 520px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .kp-machine__node.is-active,
  .kp-machine__page-cta.is-pulse {
    transition: none;
  }
}

/* —— Concept 0 ₽ —— */
.kp-concept {
  background: linear-gradient(180deg, rgba(0, 16, 30, 0.55), transparent);
}

.kp-concept__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.75fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.kp-metric {
  margin: 0.35rem 0 0.75rem;
  font-size: clamp(4.5rem, 10vw, 7.5rem);
  font-weight: 500;
  letter-spacing: -0.06em;
  line-height: 0.92;
  color: var(--kp-text);
}

.kp-concept__subhead {
  margin-top: 2.5rem;
}

.kp-concept__list {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.85rem;
}

.kp-concept__list li {
  display: grid;
  grid-template-columns: 2.2rem 1fr;
  gap: 0.85rem;
  padding-top: 0.85rem;
  border-top: 1px solid var(--kp-line-soft);
  font-size: 0.92rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kp-concept__list span {
  color: var(--kp-cyan);
  font-variant-numeric: tabular-nums;
}

.kp-proposal-stack {
  position: relative;
  min-height: 320px;
  margin-top: 1rem;
}

.kp-proposal-sheet {
  position: absolute;
  inset: 0 auto auto 0;
  width: min(100%, 280px);
  height: 340px;
  padding: 1.25rem 1.1rem;
  border: 1px solid rgba(85, 199, 216, 0.18);
  background: rgba(5, 10, 18, 0.92);
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

.kp-proposal-sheet:nth-child(1) {
  transform: translate(0, 0) rotate(-1.5deg);
  z-index: 1;
  opacity: 0.55;
}

.kp-proposal-sheet:nth-child(2) {
  transform: translate(18px, 12px) rotate(0.8deg);
  z-index: 2;
  opacity: 0.75;
}

.kp-proposal-sheet:nth-child(3) {
  transform: translate(36px, 24px);
  z-index: 3;
}

.kp-proposal-sheet__line {
  height: 1px;
  margin: 0.65rem 0;
  background: rgba(154, 163, 188, 0.22);
}

.kp-proposal-sheet__line--short { width: 48%; }
.kp-proposal-sheet__line--mid { width: 72%; }
.kp-proposal-sheet__title {
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.kp-proposal-sheet__zero {
  margin-top: 1.5rem;
  font-size: 2.4rem;
  letter-spacing: -0.04em;
}

/* —— Approach flow —— */
.kp-flow {
  display: grid;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0.5rem;
  margin-top: 2.5rem;
  list-style: none;
  padding: 0;
}

.kp-flow li {
  position: relative;
  padding: 1rem 0.75rem 1rem 0;
  border-top: 1px solid var(--kp-line);
}

.kp-flow__name {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-text);
  margin-bottom: 0.45rem;
}

.kp-flow__desc {
  font-size: 0.78rem;
  line-height: 1.4;
  color: var(--kp-muted);
}

.kp-flow li:not(:last-child)::after {
  content: "→";
  position: absolute;
  top: 0.95rem;
  right: 0;
  color: rgba(85, 199, 216, 0.45);
  font-size: 0.75rem;
}

/* —— Format cards —— */
.kp-formats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  background: var(--kp-line-soft);
  border: 1px solid var(--kp-line-soft);
}

.kp-format {
  background: rgba(0, 8, 16, 0.72);
  padding: 1.5rem 1.35rem 1.65rem;
  min-height: 100%;
}

.kp-format__n {
  display: block;
  margin-bottom: 0.85rem;
  color: var(--kp-cyan);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
}

.kp-format h3 {
  margin: 0 0 0.65rem;
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kp-format p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.5;
  color: var(--kp-muted);
}

/* —— Process —— */
.kp-process {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.kp-process li {
  display: grid;
  grid-template-columns: 3.5rem minmax(0, 14rem) 1fr;
  gap: 1.25rem;
  align-items: start;
  padding: 1.35rem 0;
  border-top: 1px solid var(--kp-line-soft);
}

.kp-process li:last-child {
  border-bottom: 1px solid var(--kp-line-soft);
}

.kp-process__n {
  color: var(--kp-cyan);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
}

.kp-process__title {
  margin: 0;
  font-size: 0.92rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.kp-process__body {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.5;
  color: var(--kp-muted);
}

/* —— Matrix —— */
.kp-matrix {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--kp-line-soft);
  border: 1px solid var(--kp-line-soft);
}

.kp-matrix__col {
  background: rgba(0, 8, 16, 0.72);
  padding: 1.5rem 1.25rem;
}

.kp-matrix__col h3 {
  margin: 0 0 1.1rem;
  padding-bottom: 0.85rem;
  border-bottom: 1px solid var(--kp-line-soft);
  font-size: 0.82rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.kp-matrix__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.kp-matrix__col li {
  font-size: 0.88rem;
  letter-spacing: 0.04em;
  color: var(--kp-text-soft);
}

/* —— Journey —— */
.kp-journey {
  display: grid;
  gap: 0;
  margin-top: 0.5rem;
}

.kp-journey__sources {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.65rem;
  margin-bottom: 0.35rem;
}

.kp-journey__chip {
  padding: 0.55rem 0.85rem;
  border: 1px solid var(--kp-line);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
  background: rgba(0, 16, 30, 0.45);
}

.kp-journey__arrow {
  color: rgba(85, 199, 216, 0.55);
  font-size: 1rem;
  padding: 0.45rem 0;
}

.kp-journey__node {
  display: inline-flex;
  align-items: center;
  min-height: 48px;
  padding: 0.7rem 1.1rem;
  border: 1px solid rgba(85, 199, 216, 0.35);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  background: rgba(5, 12, 22, 0.8);
}

.kp-journey__node--core {
  border-color: rgba(85, 199, 216, 0.65);
  box-shadow: 0 0 24px rgba(47, 98, 214, 0.12);
  color: var(--kp-text);
}

/* —— Cases —— */
/* Case card grids live in .kp-case-cards — not on <body class="kp-cases"> */
.kp-cases:not(body) {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 3vw, 2rem);
}

.kp-case {
  display: grid;
  grid-template-rows: auto 1fr;
  border: 1px solid var(--kp-line-soft);
  text-decoration: none;
  background: rgba(0, 8, 16, 0.55);
  transition: border-color 0.2s ease, background 0.2s ease;
}

.kp-case:hover,
.kp-case:focus-visible {
  border-color: rgba(85, 199, 216, 0.4);
  background: rgba(0, 16, 30, 0.65);
  outline: none;
}

.kp-case__media {
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #0a1018;
}

.kp-case__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: 0.9;
}

.kp-case__body {
  padding: 1.35rem 1.35rem 1.5rem;
}

.kp-case__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.85rem;
}

.kp-case__tags span {
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-muted);
  border: 1px solid var(--kp-line-soft);
  padding: 0.3rem 0.5rem;
}

.kp-case__name {
  margin: 0 0 0.75rem;
  font-size: 1.15rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.kp-case__metric {
  margin: 0;
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  line-height: 1.4;
}

/* —— SEO items —— */
.kp-seo-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  background: var(--kp-line-soft);
  border: 1px solid var(--kp-line-soft);
}

.kp-seo-grid article {
  background: rgba(0, 8, 16, 0.72);
  padding: 1.25rem 1.15rem;
  min-height: 5.5rem;
}

.kp-seo-grid h3 {
  margin: 0;
  font-size: 0.82rem;
  font-weight: 500;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  line-height: 1.4;
}

/* —— Comparison —— */
.kp-compare {
  width: 100%;
  border-collapse: collapse;
}

.kp-compare th,
.kp-compare td {
  padding: 1.1rem 1rem;
  border-top: 1px solid var(--kp-line-soft);
  text-align: left;
  vertical-align: top;
  font-size: 0.92rem;
  line-height: 1.45;
}

.kp-compare th {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  font-weight: 600;
}

.kp-compare td:first-child {
  color: var(--kp-muted);
  width: 48%;
}

.kp-compare td:last-child {
  color: var(--kp-text);
}

.kp-compare-mobile {
  display: none;
  list-style: none;
  margin: 0;
  padding: 0;
}

.kp-compare-mobile li {
  padding: 1.25rem 0;
  border-top: 1px solid var(--kp-line-soft);
}

.kp-compare-mobile__usual,
.kp-compare-mobile__ours {
  display: block;
  margin-top: 0.45rem;
  font-size: 0.92rem;
  line-height: 1.45;
}

.kp-compare-mobile__usual {
  color: var(--kp-muted);
}

.kp-compare-mobile__ours {
  color: var(--kp-text);
}

.kp-compare-mobile__label {
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

/* —— Cost factors —— */
.kp-factors {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.75rem;
  list-style: none;
  padding: 0;
}

.kp-factors li {
  padding: 0.65rem 0.9rem;
  border: 1px solid var(--kp-line-soft);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

/* —— FAQ —— */
.kp-faq {
  list-style: none;
  margin: 0;
  padding: 0;
}

.kp-faq__item {
  border-top: 1px solid var(--kp-line-soft);
}

.kp-faq__item:last-child {
  border-bottom: 1px solid var(--kp-line-soft);
}

.kp-faq__trigger {
  width: 100%;
  display: grid;
  grid-template-columns: 2.5rem 1fr auto;
  gap: 0.85rem;
  align-items: center;
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--kp-text);
  font-family: inherit;
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: left;
  padding: 1.25rem 0;
  cursor: pointer;
  min-height: 3.5rem;
}

.kp-faq__trigger:focus-visible {
  outline: 1px solid var(--kp-cyan);
  outline-offset: 2px;
}

.kp-faq__n {
  color: var(--kp-cyan);
}

.kp-faq__icon {
  width: 12px;
  height: 12px;
  position: relative;
}

.kp-faq__icon::before,
.kp-faq__icon::after {
  content: "";
  position: absolute;
  background: var(--kp-muted);
}

.kp-faq__icon::before {
  left: 0;
  right: 0;
  top: 5px;
  height: 1px;
}

.kp-faq__icon::after {
  top: 0;
  bottom: 0;
  left: 5px;
  width: 1px;
  transition: opacity 0.15s ease;
}

.kp-faq__item.is-open .kp-faq__icon::after {
  opacity: 0;
}

.kp-faq__panel {
  display: none;
  padding: 0 0 1.35rem 3.35rem;
  max-width: 44rem;
  color: var(--kp-muted);
  font-size: 0.98rem;
  line-height: 1.55;
}

.kp-faq__item.is-open .kp-faq__panel {
  display: block;
}

/* —— Final CTA —— */
.kp-finale {
  background: linear-gradient(180deg, transparent, rgba(0, 16, 30, 0.55));
}

.kp-finale .kp-h2 {
  max-width: 14em;
}

/* —— Footer —— */
.site-footer {
  border-top: 1px solid var(--kp-line-soft);
  padding: clamp(3rem, 6vw, 4.5rem) 0 2rem;
  background: #000;
}

.footer-grid {
  display: grid;
  grid-template-columns: 1.1fr 1.4fr 1fr 1.1fr;
  gap: 2rem clamp(1.5rem, 3vw, 2.5rem);
}

/* Footer scale +18% (shared, compact height preserved) */
.footer-brand {
  margin: 0;
  font-size: 1.05rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  font-weight: 600;
}

.footer-tag {
  margin: 0.55rem 0 0;
  font-size: 0.84rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.footer-heading {
  margin: 0 0 0.85rem;
  font-size: 0.875rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

.footer-col a,
.footer-col button {
  display: block;
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--kp-muted);
  font-family: inherit;
  font-size: 0.9375rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-decoration: none;
  text-align: left;
  padding: 0.35rem 0;
  cursor: pointer;
  min-height: 2rem;
}

.footer-col a:hover,
.footer-col button:hover,
.footer-col a:focus-visible,
.footer-col button:focus-visible {
  color: var(--kp-text);
  outline: none;
}

.footer-career {
  display: inline-flex !important;
  margin-top: 1rem;
  padding: 0.5rem 0.7rem !important;
  border: 1px solid rgba(80, 190, 255, 0.25) !important;
  font-size: 0.68rem !important;
}

.footer-phone-label {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.footer-phone {
  display: inline-flex !important;
  font-size: 1.1875rem !important;
  letter-spacing: 0.04em !important;
  color: var(--kp-text) !important;
  text-transform: none !important;
}

.footer-socials {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1rem;
  margin-top: 1rem;
}

.social-icon {
  display: inline-flex !important;
  align-items: center;
  gap: 0.4rem;
  min-height: auto !important;
  padding: 0 !important;
  color: var(--kp-muted) !important;
}

.social-icon svg,
.social-icon img {
  width: 20px;
  height: 20px;
}

.social-label {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
}

.footer-legal {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 1.25rem;
  align-items: center;
  margin-top: 2.5rem;
  padding-top: 1.25rem;
  border-top: 1px solid var(--kp-line-soft);
}

.footer-legal a {
  color: var(--kp-muted);
  text-decoration: none;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.footer-legal a:hover,
.footer-legal a:focus-visible {
  color: var(--kp-text);
  outline: none;
}

.footer-copy {
  margin: 0 0 0 auto;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

/* —— Contact modal —— */
.contact-panel {
  position: fixed;
  inset: 0;
  z-index: 180;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(0, 0, 0, 0.72);
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  pointer-events: none;
  transition: opacity 0.26s ease, visibility 0.26s ease;
}

.contact-panel.is-open {
  opacity: 1;
  visibility: visible;
  pointer-events: auto;
}

.contact-panel[hidden] {
  display: none !important;
}

.contact-panel-inner {
  position: relative;
  width: min(36rem, 94vw);
  max-height: min(88vh, 52rem);
  overflow: auto;
  margin: auto;
  padding: clamp(1.75rem, 4vw, 2.75rem);
  background: #05070d;
  border: 1px solid color-mix(in srgb, var(--kp-blue) 28%, transparent);
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.28s ease, transform 0.28s ease;
}

.contact-panel.is-open .contact-panel-inner {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  .contact-panel,
  .contact-panel-inner {
    transition: none;
  }
}

.contact-close {
  position: absolute;
  top: 16px;
  right: 16px;
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--kp-muted);
  font-family: inherit;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  cursor: pointer;
  min-width: 44px;
  min-height: 44px;
}

.contact-headline {
  margin: 0 0 0.85rem;
  font-size: clamp(1.55rem, 3vw, 2.15rem);
  font-weight: 500;
  letter-spacing: -0.03em;
}

.contact-lede {
  margin: 0 0 1.5rem;
  color: var(--kp-muted);
  line-height: 1.5;
}

.contact-form {
  display: grid;
  gap: 1rem;
}

.contact-form label {
  display: grid;
  gap: 0.45rem;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.contact-form input[type="text"],
.contact-form textarea {
  appearance: none;
  border: 1px solid var(--kp-line-soft);
  background: rgba(0, 0, 0, 0.35);
  color: var(--kp-text);
  font-family: inherit;
  font-size: 1rem;
  letter-spacing: 0;
  text-transform: none;
  padding: 0.85rem 0.9rem;
  min-height: 48px;
}

.contact-form input:focus-visible,
.contact-form textarea:focus-visible {
  outline: 1px solid var(--kp-cyan);
  border-color: rgba(85, 199, 216, 0.45);
}

.hp-field {
  position: absolute !important;
  left: -9999px !important;
  width: 1px !important;
  height: 1px !important;
  overflow: hidden !important;
}

.legal-check {
  display: grid !important;
  grid-template-columns: 1.25rem 1fr;
  gap: 0.75rem;
  align-items: start;
  text-transform: none !important;
  letter-spacing: 0.02em !important;
  font-size: 0.78rem !important;
  line-height: 1.4;
}

.legal-check input {
  margin-top: 0.15rem;
}

.legal-check a {
  color: var(--kp-cyan);
}

.form-error {
  margin: 0;
  color: #ff8f8f;
  font-size: 0.85rem;
}

.contact-submit {
  margin-top: 0.35rem;
}

.contact-form label[hidden],
.contact-about-field[hidden],
.contact-success[hidden] {
  display: none !important;
}

.optional {
  font-size: 0.68rem;
  color: var(--kp-muted);
  text-transform: lowercase;
}

/* —— Responsive —— */
@media (max-width: 1100px) {
  .kp-flow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .kp-flow li:nth-child(4)::after {
    content: none;
  }

  .kp-matrix {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kp-seo-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .footer-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Extra top-level nav item (База знаний): keep desktop header readable */
@media (min-width: 901px) and (max-width: 1280px) {
  .nav-links {
    gap: clamp(0.45rem, 1.2vw, 1rem);
  }

  .nav-links a,
  .nav-links button {
    font-size: 0.66rem;
    letter-spacing: 0.08em;
  }
}

@media (max-width: 900px) {
  .nav-links {
    display: none;
  }

  .nav-menu-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
  }

  .site-nav {
    min-height: var(--kp-mobile-header);
    padding-block: 0.55rem;
  }

  .kp-hero__grid,
  .kp-concept__grid {
    grid-template-columns: 1fr;
  }

  .kp-blueprint {
    max-width: none;
    aspect-ratio: auto;
    min-height: 360px;
  }

  .kp-formats {
    grid-template-columns: 1fr 1fr;
  }

  .kp-process li {
    grid-template-columns: 2.5rem 1fr;
    gap: 0.65rem 1rem;
  }

  .kp-process__body {
    grid-column: 2;
  }

  .kp-cases:not(body) {
    grid-template-columns: 1fr;
  }

  .kp-compare {
    display: none;
  }

  .kp-compare-mobile {
    display: block;
  }

  .kp-flow {
    grid-template-columns: 1fr;
  }

  .kp-flow li::after {
    content: "↓" !important;
    position: static;
    display: block;
    margin-top: 0.55rem;
  }

  .kp-flow li:last-child::after {
    content: none !important;
  }

  .footer-copy {
    margin: 0;
    width: 100%;
  }
}

@media (max-width: 600px) {
  .kp-formats,
  .kp-matrix,
  .kp-seo-grid,
  .footer-grid {
    grid-template-columns: 1fr;
  }

  .kp-actions {
    flex-direction: column;
    align-items: stretch;
  }

  .kp-btn {
    width: 100%;
  }

  .kp-faq__trigger {
    grid-template-columns: 2rem 1fr auto;
    font-size: 0.82rem;
  }

  .kp-faq__panel {
    padding-left: 0;
  }

  .kp-proposal-stack {
    min-height: 280px;
  }

  .kp-proposal-sheet {
    width: min(100%, 240px);
    height: 280px;
  }
}

@media (min-width: 1600px) {
  :root {
    --kp-shell: min(1360px, calc(100% - 8vw));
  }
}

/* =========================================================
   WAVE 1 — Visual + conversion polish overrides
   ========================================================= */

.kp-concept__list li {
  font-size: 1rem;
}

.kp-flow {
  position: relative;
  grid-template-columns: repeat(8, minmax(0, 1fr));
  gap: 0.75rem;
  padding-top: 1.75rem;
}

.kp-flow > li:not(.kp-flow__rail) {
  padding: 1.25rem 0.4rem 0;
  border-top: 0;
}

.kp-flow > li:not(.kp-flow__rail)::after {
  content: none !important;
}

.kp-flow__dot {
  display: block;
  width: 8px;
  height: 8px;
  margin-bottom: 0.85rem;
  border: 1px solid rgba(85, 199, 216, 0.45);
  background: rgba(0, 0, 0, 0.4);
  transition: background 0.3s ease, border-color 0.3s ease, box-shadow 0.3s ease;
}

.kp-flow > li.is-active .kp-flow__dot {
  background: var(--kp-cyan);
  border-color: var(--kp-cyan);
  box-shadow: 0 0 12px rgba(85, 199, 216, 0.45);
}

.kp-flow > li.is-active .kp-flow__name {
  color: var(--kp-cyan);
}

.kp-flow__name {
  font-size: 0.78rem;
}

.kp-flow__desc {
  font-size: 0.95rem;
  line-height: 1.45;
}

.kp-flow__rail {
  position: absolute;
  left: 0;
  right: 0;
  top: 0.35rem;
  height: 2px;
  z-index: 1;
  pointer-events: none;
  list-style: none;
  margin: 0;
  padding: 0;
  border: 0;
}

.kp-flow__rail-line {
  display: block;
  width: 100%;
  height: 1px;
  background: linear-gradient(90deg, rgba(85, 199, 216, 0.15), rgba(85, 199, 216, 0.45), rgba(139, 124, 255, 0.25));
}

.kp-flow__rail-signal {
  position: absolute;
  top: -3px;
  left: 0;
  width: 8px;
  height: 8px;
  background: var(--kp-cyan);
  box-shadow: 0 0 10px rgba(85, 199, 216, 0.55);
  opacity: 0;
}

.kp-flow.is-playing .kp-flow__rail-signal {
  opacity: 1;
}

.kp-formats {
  grid-template-columns: repeat(12, minmax(0, 1fr));
}

.kp-format {
  grid-column: span 3;
  display: grid;
  grid-template-rows: auto auto auto 1fr;
  color: inherit;
  text-decoration: none;
}

.kp-format:nth-child(n + 5) {
  grid-column: span 4;
}

.kp-format__viz {
  margin-bottom: 0.85rem;
  color: rgba(85, 199, 216, 0.7);
  max-width: 5.5rem;
}

.kp-format__viz svg {
  display: block;
  width: 100%;
  height: auto;
}

.kp-format h3 {
  font-size: 0.98rem;
}

.kp-format p {
  font-size: 1.02rem;
}

.kp-process-layout {
  display: grid;
  grid-template-columns: 7.5rem minmax(0, 1fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
}

.kp-process__sticky {
  position: sticky;
  top: calc(var(--kp-header-h) + 1.5rem);
  padding-top: 0.5rem;
}

.kp-process__sticky-label {
  margin: 0;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.kp-process__sticky-num {
  margin: 0.35rem 0 0;
  font-size: clamp(2.8rem, 5vw, 4rem);
  font-weight: 500;
  letter-spacing: -0.04em;
  line-height: 1;
  color: var(--kp-cyan);
  font-variant-numeric: tabular-nums;
}

.kp-process__sticky-total {
  margin: 0.25rem 0 0;
  font-size: 0.85rem;
  letter-spacing: 0.08em;
  color: var(--kp-muted);
}

.kp-process__progress {
  position: relative;
  width: 1px;
  height: 120px;
  margin-top: 1.25rem;
  background: rgba(85, 199, 216, 0.15);
}

.kp-process__progress-fill {
  position: absolute;
  left: 0;
  top: 0;
  width: 1px;
  height: 14%;
  background: var(--kp-cyan);
  transition: height 0.35s ease;
}

.kp-process li {
  opacity: 0.55;
  transition: opacity 0.3s ease;
  grid-template-columns: 3.5rem minmax(0, 16rem) 1fr;
}

.kp-process li.is-active {
  opacity: 1;
}

.kp-process__n {
  font-size: 0.85rem;
}

.kp-process__title {
  font-size: 1.02rem;
}

.kp-process__body {
  font-size: 1.125rem;
  line-height: var(--kp-body-lh);
}

.kp-matrix {
  gap: 0;
  background: transparent;
  border-top: 1px solid var(--kp-line);
  border-bottom: 1px solid var(--kp-line);
  border-left: 0;
  border-right: 0;
}

.kp-matrix__col {
  background: transparent;
  padding: 1.75rem 1.35rem 1.85rem;
  border-right: 1px solid var(--kp-line-soft);
}

.kp-matrix__col:last-child {
  border-right: 0;
}

.kp-matrix__mark {
  display: block;
  margin-bottom: 0.85rem;
  font-size: 1.65rem;
  letter-spacing: -0.03em;
  color: rgba(85, 199, 216, 0.55);
  font-variant-numeric: tabular-nums;
}

.kp-matrix__diagram {
  margin-bottom: 1rem;
  color: rgba(85, 199, 216, 0.55);
  max-width: 5.5rem;
}

.kp-matrix__diagram svg {
  display: block;
  width: 100%;
  height: auto;
}

.kp-matrix__col h3 {
  font-size: 1.02rem;
  color: var(--kp-text);
}

.kp-matrix__col li {
  font-size: 1rem;
}

.kp-journey {
  position: relative;
  gap: 1.35rem;
  margin-top: 1rem;
  padding: clamp(1.5rem, 3vw, 2.5rem);
  border: 1px solid var(--kp-line);
  background: linear-gradient(180deg, rgba(0, 16, 30, 0.45), rgba(0, 0, 0, 0.2));
  min-height: 420px;
  overflow: hidden;
}

.kp-journey__sources {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
  margin-bottom: 0;
}

.kp-journey__chip {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  text-align: center;
  transition: border-color 0.3s ease, color 0.3s ease, box-shadow 0.3s ease;
}

.kp-journey__chip.is-active {
  border-color: rgba(85, 199, 216, 0.7);
  color: var(--kp-cyan);
  box-shadow: 0 0 16px rgba(85, 199, 216, 0.12);
}

.kp-journey__converge {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  height: 36px;
  pointer-events: none;
}

.kp-journey__line {
  justify-self: center;
  width: 1px;
  height: 100%;
  background: linear-gradient(180deg, rgba(85, 199, 216, 0.45), rgba(85, 199, 216, 0.1));
}

.kp-journey__node {
  justify-content: center;
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.kp-journey__node.is-active {
  border-color: rgba(85, 199, 216, 0.85);
  box-shadow: 0 0 18px rgba(85, 199, 216, 0.15);
}

.kp-journey__node--core {
  justify-self: center;
  min-width: min(280px, 100%);
  font-size: 0.95rem;
}

.kp-journey__split,
.kp-journey__pipeline {
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem;
  justify-content: center;
  align-items: center;
}

.kp-journey__signal {
  position: absolute;
  width: 8px;
  height: 8px;
  background: var(--kp-cyan);
  box-shadow: 0 0 12px rgba(85, 199, 216, 0.55);
  opacity: 0;
  pointer-events: none;
}

.kp-case {
  grid-template-rows: minmax(240px, 1.15fr) auto;
  min-height: 520px;
}

.kp-case__media {
  position: relative;
  aspect-ratio: auto;
  min-height: 280px;
}

.kp-case__media img,
.kp-case__video {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.kp-case__video {
  opacity: 0;
  pointer-events: none;
}

.kp-case.is-playing .kp-case__video {
  opacity: 1;
}

.kp-case.is-playing .kp-case__media img {
  opacity: 0;
}

.kp-case__body {
  display: grid;
  gap: 0.65rem;
  padding: 1.5rem;
}

.kp-case__project {
  margin: 0;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.kp-case__tags {
  margin-bottom: 0;
}

.kp-case__name {
  margin: 0.15rem 0 0;
  font-size: 1.35rem;
}

.kp-case__metric {
  margin: 0.35rem 0 0;
  font-size: clamp(1.25rem, 2vw, 1.65rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  line-height: 1.2;
  color: var(--kp-text);
  text-transform: none;
}

.kp-case__desc {
  margin: 0.25rem 0 0;
  font-size: 1.02rem;
  line-height: 1.5;
  color: var(--kp-muted);
}

.kp-case__cta {
  margin-top: 0.5rem;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.kp-trust__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.9fr) minmax(0, 1.25fr);
  gap: clamp(2rem, 5vw, 4rem);
  align-items: start;
}

.kp-trust__visual {
  position: relative;
  border: 1px solid var(--kp-line-soft);
  overflow: hidden;
  background: #070b12;
  aspect-ratio: 4 / 5;
  width: 100%;
  max-width: 100%;
  min-width: 0;
}

.kp-trust__visual picture {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
}

.kp-trust__visual img {
  position: absolute;
  inset: 0;
  display: block;
  width: 100%;
  height: 100%;
  max-width: 100%;
  object-fit: cover;
  object-position: center 18%;
  filter: grayscale(0.12) contrast(1.05);
}

.kp-trust__visual.is-failed {
  display: grid;
  place-items: center;
  min-height: 12rem;
  aspect-ratio: auto;
  background: #0a1018;
  border-color: var(--kp-line-soft);
}

.kp-trust__visual.is-failed .kp-trust__fail {
  display: block;
  margin: 0;
  padding: 1.25rem;
  text-align: center;
  font-size: 0.85rem;
  line-height: 1.45;
  letter-spacing: 0.04em;
  color: var(--kp-muted, #7f90a8);
}

.kp-trust__fail[hidden] {
  display: none !important;
}

.kp-trust__visual.is-failed .kp-trust__fail[hidden] {
  display: block !important;
}

.kp-trust__secondary {
  margin: 1.25rem 0 0;
  max-width: 38rem;
  font-size: 1.125rem;
  line-height: var(--kp-body-lh);
  color: var(--kp-muted);
}

.kp-trust__facts {
  list-style: none;
  margin: 2rem 0 0;
  padding: 0;
  display: grid;
  gap: 0;
}

.kp-trust__facts li {
  padding: 0.85rem 0;
  border-top: 1px solid var(--kp-line-soft);
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

.kp-trust__facts li:last-child {
  border-bottom: 1px solid var(--kp-line-soft);
}

.kp-trust .kp-actions {
  margin-top: 2rem;
}

.kp-seo-arch {
  margin: 0 0 2.5rem;
  padding: 1.75rem 1.5rem;
  border: 1px solid var(--kp-line);
  background: rgba(0, 12, 22, 0.45);
  display: grid;
  gap: 1rem;
  justify-items: center;
  text-align: center;
}

.kp-seo-arch__root {
  font-size: 1.05rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  border: 1px solid rgba(85, 199, 216, 0.4);
  padding: 0.7rem 1.2rem;
}

.kp-seo-arch__branch {
  width: 1px;
  height: 28px;
  background: rgba(85, 199, 216, 0.4);
}

.kp-seo-arch__children {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  justify-content: center;
  max-width: 52rem;
}

.kp-seo-arch__children span {
  padding: 0.45rem 0.7rem;
  border: 1px solid var(--kp-line-soft);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

.kp-seo-arch__stack {
  display: grid;
  gap: 0.45rem;
  width: min(100%, 22rem);
  margin-top: 0.5rem;
}

.kp-seo-arch__stack span {
  padding: 0.55rem 0.75rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.kp-factors li,
.kp-faq__panel,
.kp-compare td,
.kp-compare-mobile__usual,
.kp-compare-mobile__ours {
  font-size: 1.02rem;
}

@media (max-width: 1100px) {
  .kp-flow {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }

  .kp-flow__rail {
    display: none;
  }

  .kp-formats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .kp-format,
  .kp-format:nth-child(n + 5) {
    grid-column: auto;
  }

  .kp-journey__sources,
  .kp-journey__converge {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .kp-journey__converge .kp-journey__line:nth-child(n + 4) {
    display: none;
  }
}

.kp-hero__actions--mobile {
  display: none;
}

@media (max-width: 900px) {
  .kp-hero {
    min-height: 0;
  }

  .kp-hero__grid {
    grid-template-columns: 1fr;
  }

  .kp-hero__actions--desktop {
    display: none;
  }

  .kp-hero__actions--mobile {
    display: flex;
    margin-top: 1.5rem;
  }

  .kp-machine {
    margin: 1.5rem 0 0;
  }

  .kp-machine__body {
    grid-template-columns: 1fr;
    min-height: 0;
    gap: 0.75rem;
  }

  .kp-machine__col--out {
    padding-top: 0;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    align-content: start;
  }

  .kp-machine__lines {
    display: none;
  }

  .kp-machine__frame {
    min-height: 0;
  }

  .kp-machine__page {
    min-height: 220px;
  }

  .kp-process-layout {
    grid-template-columns: 1fr;
  }

  .kp-process__sticky {
    position: static;
    display: flex;
    align-items: baseline;
    gap: 0.65rem;
    margin-bottom: 0.75rem;
  }

  .kp-process__progress {
    display: none;
  }

  .kp-process__sticky-num {
    font-size: 2rem;
  }

  .kp-process li {
    opacity: 1;
    grid-template-columns: 2.5rem 1fr;
  }

  .kp-process__body {
    grid-column: 2;
    font-size: 1rem;
  }

  .kp-trust__grid {
    grid-template-columns: 1fr;
  }

  .kp-trust__visual {
    aspect-ratio: 16 / 10;
    max-width: none;
  }

  .kp-journey {
    min-height: 0;
  }

  .kp-journey__sources,
  .kp-journey__converge {
    grid-template-columns: 1fr;
  }

  .kp-journey__converge {
    height: auto;
    gap: 0;
  }

  .kp-journey__line {
    width: 1px;
    height: 18px;
  }

  .kp-flow {
    grid-template-columns: 1fr;
    padding-top: 0;
  }

  .kp-flow__rail {
    display: none;
  }

  .kp-flow > li:not(.kp-flow__rail) {
    padding: 1rem 0;
    border-top: 1px solid var(--kp-line-soft);
    display: grid;
    grid-template-columns: 12px 1fr;
    column-gap: 0.85rem;
  }

  .kp-flow__dot {
    grid-row: 1 / span 2;
    margin: 0.35rem 0 0;
  }

  .kp-hero__body,
  .kp-lede,
  .kp-trust__secondary,
  .kp-format p,
  .kp-process__body {
    font-size: 1rem;
  }
}

@media (max-width: 600px) {
  .kp-formats {
    grid-template-columns: 1fr;
  }

  .kp-machine__col--out {
    grid-template-columns: 1fr;
  }

  .kp-case {
    min-height: 0;
  }

  .kp-case__media {
    min-height: 200px;
  }
}

/* =========================================================
   WAVE 2 � targeted visual polish
   ========================================================= */

.kp-section {
  padding: clamp(4.25rem, 8vw, 6.25rem) 0;
}

.kp-hero {
  min-height: calc(860px - var(--kp-header-h));
  padding-bottom: clamp(3rem, 6vw, 4.5rem);
}

.kp-hero__copy {
  max-width: 44rem;
}

.kp-hero h1 {
  max-width: 720px;
  font-size: clamp(2.35rem, 4.6vw, 3.85rem);
  letter-spacing: -0.045em;
}

.kp-hero__body {
  max-width: 620px;
  font-size: clamp(1.125rem, 1.3vw, 1.22rem);
}

.kp-hero .kp-btn:not(.kp-btn--ghost) {
  min-height: 54px;
  padding-inline: 32px;
  box-shadow: 0 0 0 1px rgba(85, 199, 216, 0.18), 0 14px 36px rgba(17, 48, 120, 0.28);
}

.kp-hero .kp-btn--ghost {
  background: transparent;
  border-color: rgba(154, 163, 188, 0.42);
}

/* Unified hero system object */
.kp-system {
  width: 100%;
  max-width: 620px;
  margin-left: auto;
}

.kp-system__stack {
  position: relative;
  display: grid;
  justify-items: center;
  gap: 0;
  padding: 1.25rem 1.15rem 1.4rem;
  border: 1px solid var(--kp-line);
  background:
    linear-gradient(180deg, rgba(0, 18, 34, 0.88), rgba(0, 0, 0, 0.55));
  box-shadow: 0 28px 70px rgba(0, 0, 0, 0.42);
}

.kp-system__node {
  width: min(100%, 220px);
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(85, 199, 216, 0.28);
  background: rgba(0, 10, 18, 0.85);
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

.kp-system__node span {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

.kp-system__node.is-active {
  border-color: rgba(85, 199, 216, 0.8);
  box-shadow: 0 0 18px rgba(85, 199, 216, 0.16);
}

.kp-system__node.is-active span {
  color: var(--kp-cyan);
}

.kp-system__rail {
  width: 1px;
  height: 22px;
  background: linear-gradient(180deg, rgba(85, 199, 216, 0.55), rgba(85, 199, 216, 0.15));
}

.kp-system__rail--short {
  height: 14px;
}

.kp-system__browser {
  width: 100%;
  margin: 0.15rem 0;
  border: 1px solid rgba(85, 199, 216, 0.35);
  background: rgba(3, 8, 16, 0.96);
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

.kp-system__browser.is-active {
  border-color: rgba(85, 199, 216, 0.78);
  box-shadow: 0 0 28px rgba(47, 98, 214, 0.18);
}

.kp-system__chrome {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.7rem 0.85rem;
  border-bottom: 1px solid var(--kp-line-soft);
}

.kp-system__chrome span {
  width: 7px;
  height: 7px;
  background: rgba(154, 163, 188, 0.35);
}

.kp-system__chrome em {
  margin-left: 0.55rem;
  font-style: normal;
  font-size: 0.58rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.kp-system__page {
  padding: 1.35rem 1.25rem 1.5rem;
  min-height: 300px;
  display: grid;
  gap: 0.85rem;
  align-content: start;
}

.kp-system__mock-kicker {
  margin: 0;
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.kp-system__mock-title {
  margin: 0;
  font-size: clamp(1.35rem, 2vw, 1.85rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.12;
  text-transform: uppercase;
  color: var(--kp-text);
}

.kp-system__mock-proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
  margin-top: 0.25rem;
}

.kp-system__mock-proof span {
  height: 28px;
  border: 1px solid rgba(120, 170, 220, 0.18);
  background: rgba(47, 98, 214, 0.08);
}

.kp-system__mock-cta {
  justify-self: start;
  margin-top: 0.35rem;
  min-height: 38px;
  padding: 0 1.1rem;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(85, 199, 216, 0.45);
  font-size: 0.62rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  background: rgba(85, 199, 216, 0.06);
  transition: box-shadow 0.35s ease, background 0.35s ease;
}

.kp-system__mock-cta.is-pulse {
  box-shadow: 0 0 18px rgba(85, 199, 216, 0.35);
  background: rgba(85, 199, 216, 0.12);
}

.kp-system__mock-form {
  display: grid;
  gap: 0.4rem;
  margin-top: 0.25rem;
}

.kp-system__mock-form span {
  height: 18px;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.25);
}

.kp-system__egress {
  display: grid;
  justify-items: center;
  width: 100%;
}

.kp-system__signal {
  position: absolute;
  left: 50%;
  top: 0;
  width: 7px;
  height: 7px;
  margin-left: -3.5px;
  background: var(--kp-cyan);
  box-shadow: 0 0 12px rgba(85, 199, 216, 0.55);
  opacity: 0;
  pointer-events: none;
  transition: top 0.45s ease;
}

@media (min-width: 1440px) {
  .kp-hero__grid {
    grid-template-columns: minmax(0, 1.05fr) minmax(560px, 0.95fr);
  }

  .kp-system {
    max-width: 620px;
  }
}

@media (min-width: 1600px) {
  .kp-hero__grid {
    grid-template-columns: minmax(0, 1.02fr) minmax(620px, 0.98fr);
  }

  .kp-system {
    max-width: 680px;
  }
}

/* 0 ? proposal object */
.kp-concept__grid {
  grid-template-columns: minmax(0, 1.05fr) minmax(430px, 0.9fr);
  gap: clamp(2rem, 5vw, 4.5rem);
  align-items: center;
}

.kp-proposal-stack {
  position: relative;
  width: min(100%, 480px);
  min-height: 520px;
  margin-left: auto;
  margin-top: 0;
}

.kp-proposal-sheet {
  position: absolute;
  inset: auto 0 0 auto;
  width: 100%;
  height: 500px;
  padding: 1.6rem 1.45rem;
}

.kp-proposal-sheet--back {
  transform: translate(-28px, -28px) rotate(-3deg);
  opacity: 0.42;
  z-index: 1;
}

.kp-proposal-sheet--mid {
  transform: translate(-14px, -14px) rotate(-1.2deg);
  opacity: 0.7;
  z-index: 2;
}

.kp-proposal-sheet--front {
  transform: translate(0, 18px);
  opacity: 1;
  z-index: 3;
  transition: transform 0.7s ease;
}

.kp-proposal-stack.is-in .kp-proposal-sheet--front {
  transform: translate(0, 0);
}

.kp-proposal-stack.is-in .kp-proposal-sheet--mid {
  transform: translate(-14px, -10px) rotate(-1deg);
}

.kp-proposal-stack.is-in .kp-proposal-sheet--back {
  transform: translate(-28px, -22px) rotate(-2.5deg);
}

.kp-proposal-sheet__brand {
  margin: 0 0 0.85rem;
  font-size: 0.68rem;
  letter-spacing: 0.18em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--kp-text) 70%, transparent);
}

.kp-proposal-sheet__title {
  margin: 0 0 1.25rem;
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  line-height: 1.35;
}

.kp-proposal-sheet__toc {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.kp-proposal-sheet__toc li {
  display: grid;
  grid-template-columns: 1.8rem 1fr;
  gap: 0.55rem;
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

.kp-proposal-sheet__toc span {
  color: var(--kp-cyan);
  font-variant-numeric: tabular-nums;
}

.kp-proposal-sheet__zero {
  margin-top: 1.5rem;
  font-size: 2.8rem;
  letter-spacing: -0.04em;
}

/* Commercial loop */
.kp-loop {
  position: relative;
  margin-top: 2.5rem;
  min-height: 280px;
  padding: 1.75rem 1rem 1.5rem;
  border: 1px solid var(--kp-line);
  background: linear-gradient(180deg, rgba(0, 16, 30, 0.35), transparent);
}

.kp-loop__row {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  position: relative;
  z-index: 2;
}

.kp-loop__row--top {
  margin-bottom: 5.5rem;
}

.kp-loop__row li {
  min-height: 88px;
  padding: 1rem 0.85rem;
  border: 1px solid rgba(85, 199, 216, 0.18);
  background: rgba(0, 8, 16, 0.72);
  transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.kp-loop__row li.is-active {
  border-color: rgba(85, 199, 216, 0.7);
  box-shadow: 0 0 18px rgba(85, 199, 216, 0.12);
}

.kp-loop__name {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.85rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-text);
}

.kp-loop__row li.is-active .kp-loop__name {
  color: var(--kp-cyan);
}

.kp-loop__desc {
  font-size: 0.95rem;
  line-height: 1.4;
  color: var(--kp-muted);
}

.kp-loop__paths {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  pointer-events: none;
  z-index: 1;
}

.kp-loop__track {
  stroke: rgba(85, 199, 216, 0.28);
  stroke-width: 1.5;
}

.kp-loop__signal {
  fill: var(--kp-cyan);
  opacity: 0;
}

.kp-loop.is-playing .kp-loop__signal {
  opacity: 1;
}

/* Process premium rows � no sticky */
.kp-process-layout {
  display: block;
}

.kp-process__sticky {
  display: none !important;
}

.kp-process li {
  grid-template-columns: 72px minmax(250px, 300px) 1fr;
  gap: 1.5rem;
  padding: 1.55rem 0;
  opacity: 0.62;
  border-top-color: rgba(120, 170, 220, 0.14);
  transition: opacity 0.25s ease, border-color 0.25s ease;
}

.kp-process li.is-active,
.kp-process li:hover {
  opacity: 1;
  border-top-color: rgba(85, 199, 216, 0.35);
}

.kp-process__n {
  font-size: 1.05rem;
  color: rgba(85, 199, 216, 0.55);
}

.kp-process li.is-active .kp-process__n,
.kp-process li:hover .kp-process__n {
  color: var(--kp-cyan);
}

.kp-process__title {
  font-size: 1.05rem;
  color: color-mix(in srgb, var(--kp-text) 78%, transparent);
}

.kp-process li.is-active .kp-process__title,
.kp-process li:hover .kp-process__title {
  color: var(--kp-text);
}

.kp-process__body {
  font-size: 1.125rem;
}

/* Cases: equal panels, 16/9, poster always */
.kp-case {
  min-height: 0;
  grid-template-rows: auto auto;
}

.kp-case__media {
  aspect-ratio: 16 / 9;
  min-height: 0;
  background: #0a1018;
}

.kp-case__media img {
  opacity: 1 !important;
  z-index: 1;
}

.kp-case__video {
  z-index: 2;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.kp-case.is-playing .kp-case__video {
  opacity: 1;
}

.kp-case__body {
  padding: 1.35rem 1.35rem 1.5rem;
}

.kp-case__metric {
  font-size: clamp(1.2rem, 1.8vw, 1.55rem);
}

@media (max-width: 900px) {
  .kp-system {
    max-width: none;
    margin: 1.5rem 0 0;
  }

  .kp-system__page {
    min-height: 240px;
  }

  .kp-concept__grid {
    grid-template-columns: 1fr;
  }

  .kp-proposal-stack {
    width: 100%;
    min-height: 440px;
    margin: 1.5rem auto 0;
  }

  .kp-proposal-sheet {
    height: 420px;
  }

  .kp-loop {
    min-height: 0;
    padding: 0;
    border: 0;
    background: transparent;
  }

  .kp-loop__paths {
    display: none;
  }

  .kp-loop__row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .kp-loop__row--top {
    margin-bottom: 0;
  }

  .kp-loop__row--bottom {
    display: flex;
    flex-direction: column-reverse;
  }

  .kp-loop__row li {
    border-left: 0;
    border-right: 0;
    border-radius: 0;
    min-height: 0;
  }

  .kp-process li {
    grid-template-columns: 2.5rem 1fr;
    opacity: 1;
  }

  .kp-process__body {
    grid-column: 2;
    font-size: 1rem;
  }

  .kp-hero {
    min-height: 0;
  }
}

/* =========================================================
   WAVE 3 � hero container + approach route + type
   ========================================================= */

:root {
  --kp-shell: min(1360px, calc(100% - clamp(96px, 8vw, 128px)));
}

.kp-shell {
  width: var(--kp-shell);
  max-width: 1360px;
  margin-inline: auto;
  padding-inline: 0;
}

@media (max-width: 900px) {
  :root {
    --kp-shell: min(1360px, calc(100% - 32px));
  }
}

/* Hero: restore centered shell composition */
.kp-hero {
  min-height: calc(840px - var(--kp-header-h));
  overflow: visible;
}

.kp-hero > .kp-shell {
  overflow: visible;
}

.kp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  gap: clamp(3rem, 5vw, 5rem);
  align-items: center;
  width: 100%;
  max-width: 100%;
}

.kp-hero__copy {
  max-width: 700px;
  min-width: 0;
  margin: 0;
  padding: 0;
  transform: none;
  position: relative;
  left: auto;
}

.kp-hero h1 {
  max-width: 700px;
  margin: 0;
  font-size: clamp(2.3rem, 4.4vw, 3.7rem);
}

.kp-hero__body {
  max-width: 620px;
  font-size: 1.125rem;
  line-height: 1.55;
}

.kp-hero-visual {
  position: relative;
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  min-width: 0;
}

.kp-hero-visual__flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.55rem;
  margin-bottom: 0.85rem;
}

.kp-hero-visual__label {
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-muted);
  transition: color 0.3s ease;
}

.kp-hero-visual__label--core {
  color: var(--kp-text-soft);
}

.kp-hero-visual__label.is-active {
  color: var(--kp-cyan);
}

.kp-hero-visual__arrow {
  color: rgba(85, 199, 216, 0.4);
  font-size: 0.75rem;
}

.kp-hero-visual__browser {
  border: 1px solid rgba(85, 199, 216, 0.32);
  background:
    linear-gradient(165deg, rgba(0, 18, 34, 0.95), rgba(0, 0, 0, 0.72));
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.4);
  transition: border-color 0.35s ease, box-shadow 0.35s ease;
}

.kp-hero-visual__browser.is-active {
  border-color: rgba(85, 199, 216, 0.7);
  box-shadow: 0 0 28px rgba(47, 98, 214, 0.16), 0 24px 60px rgba(0, 0, 0, 0.4);
}

.kp-hero-visual__chrome {
  display: flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.75rem 0.95rem;
  border-bottom: 1px solid var(--kp-line-soft);
}

.kp-hero-visual__chrome span {
  width: 7px;
  height: 7px;
  background: rgba(154, 163, 188, 0.35);
}

.kp-hero-visual__chrome em {
  margin-left: 0.55rem;
  font-style: normal;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.kp-hero-visual__page {
  padding: 1.6rem 1.45rem 1.7rem;
  display: grid;
  gap: 0.85rem;
  min-height: 360px;
  align-content: start;
}

.kp-hero-visual__eyebrow {
  margin: 0;
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.kp-hero-visual__title {
  margin: 0;
  font-size: clamp(1.45rem, 2.1vw, 1.95rem);
  font-weight: 500;
  letter-spacing: -0.03em;
  line-height: 1.12;
  text-transform: uppercase;
  color: var(--kp-text);
}

.kp-hero-visual__lede {
  margin: 0;
  max-width: 22rem;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--kp-muted);
}

.kp-hero-visual__cta {
  justify-self: start;
  min-height: 40px;
  padding: 0 1.15rem;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(85, 199, 216, 0.5);
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  background: rgba(85, 199, 216, 0.07);
  transition: box-shadow 0.35s ease, background 0.35s ease;
}

.kp-hero-visual__cta.is-pulse {
  box-shadow: 0 0 18px rgba(85, 199, 216, 0.32);
  background: rgba(85, 199, 216, 0.12);
}

.kp-hero-visual__proof {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin-top: 0.35rem;
}

.kp-hero-visual__proof span {
  height: 34px;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(47, 98, 214, 0.08);
}

.kp-hero-visual__form {
  display: grid;
  gap: 0.4rem;
  margin-top: 0.2rem;
  opacity: 0.55;
  transition: opacity 0.35s ease;
}

.kp-hero-visual__form.is-active {
  opacity: 1;
}

.kp-hero-visual__form span {
  height: 18px;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.28);
}

.kp-hero-visual__side {
  display: flex;
  gap: 0.65rem;
  margin-top: 0.85rem;
}

.kp-hero-visual__mini {
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-muted);
  padding: 0.45rem 0.7rem;
  border: 1px solid rgba(85, 199, 216, 0.16);
  transition: color 0.3s ease, border-color 0.3s ease;
}

.kp-hero-visual__mini.is-active {
  color: var(--kp-cyan);
  border-color: rgba(85, 199, 216, 0.55);
}

.kp-hero-visual__signal {
  position: absolute;
  left: 1.15rem;
  top: 8%;
  width: 6px;
  height: 6px;
  background: var(--kp-cyan);
  box-shadow: 0 0 10px rgba(85, 199, 216, 0.5);
  opacity: 0;
  pointer-events: none;
  transition: top 0.5s ease;
}

@media (min-width: 1440px) {
  .kp-hero__grid {
    grid-template-columns: minmax(0, 0.52fr) minmax(0, 0.48fr);
    gap: 72px;
  }

  .kp-hero-visual {
    max-width: 580px;
  }
}

@media (min-width: 1600px) {
  .kp-hero-visual {
    max-width: 640px;
  }
}

/* Approach: route BETWEEN rows, never through cards */
.kp-loop {
  position: relative;
  margin-top: 2.5rem;
  min-height: 0;
  padding: 0;
  border: 0;
  background: transparent;
  display: grid;
  gap: 0;
}

.kp-loop__row {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1rem;
  position: relative;
  z-index: 2;
}

.kp-loop__row--top {
  margin-bottom: 0;
}

.kp-loop__row li {
  min-height: 96px;
  padding: 1.1rem 1rem;
  border: 0;
  border-top: 1px solid rgba(85, 199, 216, 0.28);
  background: transparent;
  box-shadow: none;
}

.kp-loop__row li.is-active {
  border-top-color: rgba(85, 199, 216, 0.85);
  box-shadow: none;
}

.kp-loop__name {
  font-size: 0.95rem;
  letter-spacing: 0.1em;
  margin-bottom: 0.45rem;
}

.kp-loop__desc {
  font-size: 1rem;
  line-height: 1.5;
}

.kp-loop__mid {
  position: relative;
  height: 32px;
  margin: 28px 0;
  z-index: 1;
}

.kp-loop__mid-line {
  position: absolute;
  left: 0;
  right: 0;
  top: 50%;
  height: 1px;
  background: linear-gradient(
    90deg,
    rgba(85, 199, 216, 0.12),
    rgba(85, 199, 216, 0.4),
    rgba(85, 199, 216, 0.12)
  );
}

.kp-loop__mid-signal {
  position: absolute;
  top: calc(50% - 3px);
  left: 0;
  width: 6px;
  height: 6px;
  background: var(--kp-cyan);
  opacity: 0;
  box-shadow: 0 0 8px rgba(85, 199, 216, 0.4);
}

.kp-loop.is-playing .kp-loop__mid-signal {
  opacity: 0.85;
}

.kp-loop__paths {
  display: none !important;
}

/* Typography readability (CSS-only; no structure changes) */
.kp-lede,
.kp-hero__body,
.kp-trust__secondary,
.kp-process__body,
.kp-case__desc,
.kp-compare td,
.kp-compare-mobile__usual,
.kp-compare-mobile__ours,
.kp-faq__panel {
  font-size: max(1.125rem, 18px);
  line-height: 1.55;
}

.kp-format p,
.kp-matrix__col li,
.kp-loop__desc,
.kp-concept__list li {
  font-size: max(1rem, 16px);
  line-height: 1.5;
}

.kp-journey__chip,
.kp-journey__node,
.kp-seo-arch__children span,
.kp-seo-arch__stack span {
  font-size: max(0.875rem, 14px);
}

.kp-loop__name,
.kp-process__title,
.kp-matrix__col h3,
.kp-format h3 {
  font-size: max(0.95rem, 15px);
}

@media (max-width: 900px) {
  .kp-hero {
    min-height: 0;
  }

  .kp-hero__grid {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .kp-hero-visual {
    max-width: none;
    margin: 0;
  }

  .kp-hero-visual__page {
    min-height: 280px;
  }

  .kp-loop__mid {
    display: none;
  }

  .kp-loop__row {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .kp-loop__row--bottom {
    display: flex;
    flex-direction: column-reverse;
  }

  .kp-loop__row li {
    min-height: 0;
    padding: 1rem 0;
    border-top: 1px solid var(--kp-line-soft);
  }

  .kp-lede,
  .kp-hero__body,
  .kp-process__body,
  .kp-case__desc,
  .kp-trust__secondary {
    font-size: max(1rem, 16px);
  }

  .kp-format p,
  .kp-loop__desc,
  .kp-matrix__col li {
    font-size: max(0.9375rem, 15px);
  }
}

/* =========================================================
   WAVE 4 ? commercial hero + inline CTA
   ========================================================= */

.kp-hero {
  padding: 0;
  border-top: 0;
  min-height: calc(100vh - var(--kp-header-h));
  display: flex;
  align-items: stretch;
  overflow: visible;
}

.kp-hero > .kp-shell,
.kp-hero__shell {
  width: min(1360px, calc(100% - 96px));
  max-width: 1360px;
  margin-inline: auto;
  padding-top: 72px;
  padding-bottom: 80px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  min-height: calc(100vh - var(--kp-header-h));
  min-height: max(780px, calc(100vh - var(--kp-header-h)));
  max-height: none;
}

.kp-hero .kp-breadcrumb {
  margin: 0 0 1rem;
  opacity: 0.55;
  position: relative;
  z-index: 1;
}

.kp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.52fr) minmax(0, 0.48fr);
  column-gap: 72px;
  align-items: center;
  width: 100%;
  max-width: 100%;
}

.kp-hero__copy {
  max-width: none;
  min-width: 0;
  margin: 0;
  padding: 0;
  transform: none;
  position: relative;
  left: auto;
}

.kp-hero .kp-eyebrow {
  font-size: 13px;
  margin: 0 0 1rem;
}

.kp-hero h1 {
  margin: 0;
  max-width: 700px;
  font-size: clamp(56px, 4.35vw, 74px);
  font-weight: 500;
  line-height: 0.97;
  letter-spacing: -0.045em;
  text-transform: uppercase;
}

.kp-hero__body {
  margin: 28px 0 0;
  max-width: 620px;
  font-size: 19px;
  line-height: 1.52;
  color: var(--kp-text-soft);
}

.kp-hero__offer {
  margin-top: 30px;
  padding-left: 18px;
  border-left: 2px solid var(--kp-cyan);
}

.kp-hero__offer-label {
  margin: 0;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.kp-hero__offer-title {
  margin: 0.45rem 0 0;
  font-size: 20px;
  font-weight: 600;
  letter-spacing: -0.02em;
  line-height: 1.25;
  text-transform: uppercase;
  color: var(--kp-text);
}

.kp-hero__offer-desc {
  margin: 0.55rem 0 0;
  max-width: 28rem;
  font-size: 15.5px;
  line-height: 1.45;
  color: var(--kp-text-soft);
}

.kp-hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem 0.85rem;
  margin-top: 28px;
}

.kp-hero__actions .kp-btn {
  min-height: 54px;
  height: 54px;
}

.kp-hero__actions .kp-btn--ghost {
  font-weight: 500;
}

.kp-hero__proof {
  margin: 26px 0 0;
  font-size: 13px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--kp-muted) 92%, transparent);
}

.kp-hero__work {
  position: relative;
  width: 100%;
  min-width: 0;
  margin: 0;
}

.kp-hero__work-caption {
  margin: 0 0 0.85rem;
  font-size: 12px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.kp-hero__work-stack {
  position: relative;
  width: 100%;
  padding-bottom: 56px;
}

.kp-hero__work-main {
  margin: 0;
  width: 100%;
}

.kp-hero__work-main img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border: 1px solid rgba(85, 199, 216, 0.35);
  border-radius: 0;
  background: #00101e;
}

.kp-hero__work-main figcaption,
.kp-hero__work-secondary figcaption {
  margin-top: 0.45rem;
  font-size: 11px;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.kp-hero__work-secondary {
  position: absolute;
  right: -20px;
  bottom: -6px;
  z-index: 2;
  width: 60%;
  margin: 0;
}

.kp-hero__work-secondary img {
  display: block;
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border: 1px solid rgba(85, 199, 216, 0.35);
  border-radius: 0;
  background: #00101e;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.45);
}

.kp-hero__work-mobile {
  display: none;
}

/* One-time reveal ? no loop */
.kp-hero__work-main {
  opacity: 0;
  transform: translateY(18px);
  animation: kp-hero-work-in 800ms ease forwards;
}

.kp-hero__work-secondary {
  opacity: 0;
  transform: translateY(26px);
  animation: kp-hero-work-in 850ms ease 120ms forwards;
}

@keyframes kp-hero-work-in {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@media (prefers-reduced-motion: reduce) {
  .kp-hero__work-main,
  .kp-hero__work-secondary {
    opacity: 1;
    transform: none;
    animation: none;
  }
}

/* Inline conversion strips */
.direction-inline-cta {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 1.5rem 2rem;
  margin-top: 2.5rem;
  padding: 30px 0;
  border-top: 1px solid rgba(85, 199, 216, 0.2);
  border-bottom: 1px solid rgba(85, 199, 216, 0.2);
  background: transparent;
  border-radius: 0;
}

.direction-inline-cta__copy {
  min-width: 0;
  flex: 1 1 auto;
}

.direction-inline-cta__heading {
  margin: 0;
  font-size: clamp(22px, 1.7vw, 26px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -0.03em;
  text-transform: uppercase;
  color: var(--kp-text);
}

.direction-inline-cta__body {
  margin: 0.65rem 0 0;
  max-width: 36rem;
  font-size: 16px;
  line-height: 1.5;
  color: var(--kp-text-soft);
}

.direction-inline-cta .kp-btn {
  flex: 0 0 auto;
  height: 50px;
  min-height: 50px;
  min-width: 210px;
}

@media (max-width: 900px) {
  .kp-hero {
    min-height: 0;
  }

  .kp-hero > .kp-shell,
  .kp-hero__shell {
    width: calc(100% - 40px);
    max-width: none;
    min-height: 0;
    padding-top: 48px;
    padding-bottom: 72px;
  }

  .kp-hero .kp-breadcrumb {
    display: none;
  }

  .kp-hero__grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .kp-hero h1 {
    font-size: clamp(38px, 10.5vw, 46px);
    line-height: 0.98;
    letter-spacing: -0.04em;
    max-width: none;
  }

  .kp-hero__body {
    margin-top: 24px;
    font-size: 16px;
    line-height: 1.5;
    max-width: none;
  }

  .kp-hero__offer {
    margin-top: 24px;
  }

  .kp-hero__offer-title {
    font-size: 18px;
  }

  .kp-hero__offer-desc {
    font-size: 15px;
  }

  .kp-hero__actions {
    margin-top: 24px;
    flex-direction: column;
    align-items: stretch;
  }

  .kp-hero__actions .kp-btn {
    width: 100%;
    height: 54px;
    min-height: 54px;
  }

  .kp-hero__actions .kp-btn--ghost {
    height: 48px;
    min-height: 48px;
    margin-top: 10px;
  }

  .kp-hero__proof {
    margin-top: 22px;
    font-size: 12px;
    display: flex;
    flex-direction: column;
    gap: 0.35rem;
  }

  .kp-hero__proof-sep {
    display: none;
  }

  .kp-hero__work {
    margin-top: 36px;
  }

  .kp-hero__work-caption,
  .kp-hero__work-stack {
    display: none;
  }

  .kp-hero__work-mobile {
    display: block;
  }

  .kp-hero__work-mobile img {
    display: block;
    width: 100%;
    aspect-ratio: 16 / 10;
    object-fit: cover;
    border: 1px solid rgba(85, 199, 216, 0.35);
    border-radius: 0;
    background: #00101e;
  }

  .kp-hero__work-mobile-line {
    margin: 0.7rem 0 0;
    font-size: 12px;
    letter-spacing: 0.1em;
    text-transform: uppercase;
    color: var(--kp-muted);
  }

  .direction-inline-cta {
    flex-direction: column;
    align-items: stretch;
    padding: 26px 0;
  }

  .direction-inline-cta__heading {
    font-size: 20px;
  }

  .direction-inline-cta__body {
    font-size: 16px;
  }

  .direction-inline-cta .kp-btn {
    width: 100%;
    min-width: 0;
    margin-top: 18px;
  }
}

@media (min-width: 1600px) {
  .kp-hero > .kp-shell,
  .kp-hero__shell {
    width: min(1360px, calc(100% - 96px));
    max-width: 1360px;
  }
}

/* ============================================================
   DIRECTION EXPANSION ? AI DIRECT + SEO
   Scoped only: body.direction-ai-direct / body.direction-seo
   Must not alter /websites/ visual.
   ============================================================ */

body.direction-ai-direct,
body.direction-seo {
  background: #000000;
  background-image: none;
}

body.direction-ai-direct .kp-section--ambient,
body.direction-seo .kp-section--ambient {
  position: relative;
  background: #020913;
}

body.direction-ai-direct .kp-section--ambient::before,
body.direction-seo .kp-section--ambient::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 30%, rgba(4, 116, 241, 0.06), rgba(0, 0, 0, 0) 65%);
}

body.direction-ai-direct .kp-section--ambient > .kp-shell,
body.direction-seo .kp-section--ambient > .kp-shell,
body.direction-ai-direct .kp-section--ambient.kp-hero > .kp-shell,
body.direction-seo .kp-section--ambient.kp-hero > .kp-shell {
  position: relative;
  z-index: 1;
}

body.direction-ai-direct .kp-hero h1,
body.direction-seo .kp-hero h1 {
  font-size: clamp(2.375rem, 4.8vw, 4.25rem);
  line-height: 1.04;
}

body.direction-ai-direct .kp-h2,
body.direction-seo .kp-h2 {
  font-size: clamp(1.875rem, 3.8vw, 3.25rem);
  max-width: 18em;
}

body.direction-ai-direct .kp-hero__body,
body.direction-ai-direct .kp-lede,
body.direction-ai-direct .kp-process__body,
body.direction-ai-direct .dir-pillar li,
body.direction-ai-direct .dir-result__note,
body.direction-ai-direct .dir-split__list li,
body.direction-ai-direct .kp-faq__panel,
body.direction-seo .kp-hero__body,
body.direction-seo .kp-lede,
body.direction-seo .kp-process__body,
body.direction-seo .dir-pillar li,
body.direction-seo .dir-result__note,
body.direction-seo .dir-split__list li,
body.direction-seo .kp-faq__panel,
body.direction-seo .dir-ai-note {
  font-size: clamp(1.0625rem, 1.2vw, 1.125rem);
  line-height: 1.52;
}

body.direction-ai-direct .kp-eyebrow,
body.direction-seo .kp-eyebrow {
  font-size: 0.8125rem;
}

body.direction-ai-direct .kp-hero__proof,
body.direction-seo .kp-hero__proof {
  margin-top: 1.75rem;
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--kp-muted) 92%, transparent);
}

body.direction-ai-direct .kp-hero__grid,
body.direction-seo .kp-hero__grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  align-items: center;
}

body.direction-ai-direct .kp-hero__grid {
  grid-template-areas:
    "copy visual"
    "actions visual"
    "proof visual";
  grid-template-rows: auto auto auto;
  row-gap: 1.25rem;
}

body.direction-ai-direct .kp-hero__copy { grid-area: copy; align-self: end; }
body.direction-ai-direct .kp-hero__visual { grid-area: visual; align-self: center; }
body.direction-ai-direct .kp-hero__actions { grid-area: actions; align-self: start; margin-top: 0; }
body.direction-ai-direct .kp-hero__proof { grid-area: proof; align-self: start; margin-top: 0; }

body.direction-ai-direct .kp-hero__visual,
body.direction-seo .kp-hero__visual {
  width: 100%;
  min-width: 0;
}

.dir-funnel {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  width: 100%;
  max-width: 420px;
  margin-left: auto;
  padding: 1.25rem 1.1rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.92), rgba(0, 0, 0, 0.88));
}

.dir-funnel__node {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.55s ease, transform 0.55s ease, border-color 0.35s ease, color 0.35s ease;
  padding: 0.85rem 0.95rem;
  border: 1px solid rgba(120, 170, 220, 0.14);
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: color-mix(in srgb, var(--kp-text-soft) 88%, transparent);
  background: rgba(0, 0, 0, 0.35);
}

.dir-funnel__node--multi {
  display: grid;
  gap: 0.45rem;
  padding: 0.95rem;
}

.dir-funnel__node--multi span {
  display: block;
  padding: 0.45rem 0.5rem;
  border: 1px solid rgba(85, 199, 216, 0.12);
}

.dir-funnel__node--end {
  border-color: rgba(85, 199, 216, 0.45);
  color: var(--kp-cyan);
  font-weight: 600;
}

.dir-funnel__arrow {
  opacity: 0;
  align-self: center;
  margin: 0.35rem 0;
  color: rgba(85, 199, 216, 0.55);
  font-size: 0.85rem;
  letter-spacing: 0.2em;
  transition: opacity 0.4s ease;
}

.dir-funnel.is-revealed .dir-funnel__node,
.dir-funnel.is-revealed .dir-funnel__arrow {
  opacity: 1;
  transform: none;
}

.dir-funnel.is-revealed .dir-funnel__node:nth-child(1) { transition-delay: 0.05s; }
.dir-funnel.is-revealed .dir-funnel__arrow:nth-child(2) { transition-delay: 0.12s; }
.dir-funnel.is-revealed .dir-funnel__node:nth-child(3) { transition-delay: 0.18s; }
.dir-funnel.is-revealed .dir-funnel__arrow:nth-child(4) { transition-delay: 0.24s; }
.dir-funnel.is-revealed .dir-funnel__node:nth-child(5) { transition-delay: 0.3s; }
.dir-funnel.is-revealed .dir-funnel__arrow:nth-child(6) { transition-delay: 0.36s; }
.dir-funnel.is-revealed .dir-funnel__node:nth-child(7) { transition-delay: 0.42s; }
.dir-funnel.is-revealed .dir-funnel__arrow:nth-child(8) { transition-delay: 0.48s; }
.dir-funnel.is-revealed .dir-funnel__node:nth-child(9) { transition-delay: 0.54s; }
.dir-funnel.is-revealed .dir-funnel__arrow:nth-child(10) { transition-delay: 0.6s; }
.dir-funnel.is-revealed .dir-funnel__node:nth-child(11) { transition-delay: 0.66s; }

@media (prefers-reduced-motion: reduce) {
  .dir-funnel__node,
  .dir-funnel__arrow {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

body.direction-ai-direct .kp-process li,
body.direction-seo .kp-process li {
  grid-template-columns: 3.5rem minmax(0, 1fr);
}

body.direction-ai-direct .kp-process__title,
body.direction-seo .kp-process__title {
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  letter-spacing: 0.06em;
}

.dir-loss .kp-process__body {
  grid-column: 2;
  margin-top: 0.45rem;
}

.dir-pillars {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--kp-line-soft);
  background: var(--kp-line-soft);
}

.dir-pillar {
  background: #000000;
  padding: 1.6rem 1.35rem 1.75rem;
  min-width: 0;
}

.dir-pillar__n {
  display: block;
  margin-bottom: 0.85rem;
  color: var(--kp-cyan);
  font-size: 0.78rem;
  letter-spacing: 0.12em;
}

.dir-pillar h3 {
  margin: 0 0 1.1rem;
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.dir-pillar ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.dir-pillar li {
  color: var(--kp-muted);
  padding-left: 0.85rem;
  position: relative;
}

.dir-pillar li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.65em;
  width: 0.35rem;
  height: 1px;
  background: rgba(85, 199, 216, 0.55);
}

.dir-result {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) auto minmax(0, 0.7fr);
  gap: clamp(1rem, 3vw, 2rem);
  align-items: center;
  margin-top: 0.5rem;
  padding: 1.75rem 1.5rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.9), rgba(0, 0, 0, 0.9));
}

.dir-result__sources {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.65rem;
}

.dir-result__sources span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 64px;
  padding: 0.75rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: var(--kp-text-soft);
}

.dir-result__arrow {
  color: var(--kp-cyan);
  font-size: 1.5rem;
  text-align: center;
}

.dir-result__out {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 140px;
  border: 1px solid rgba(85, 199, 216, 0.45);
  color: var(--kp-cyan);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 1rem;
  font-weight: 600;
  text-align: center;
  padding: 1rem;
}

.dir-result__note {
  margin: 1.35rem 0 0;
  max-width: 40rem;
  color: var(--kp-muted);
}

.dir-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  border: 1px solid rgba(85, 199, 216, 0.22);
}

.dir-metrics span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 96px;
  padding: 1rem 0.75rem;
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: var(--kp-text-soft);
  border-right: 1px solid rgba(120, 170, 220, 0.14);
  background: rgba(2, 9, 19, 0.65);
}

.dir-metrics span:last-child {
  border-right: 0;
  color: var(--kp-cyan);
  font-weight: 600;
}

.dir-site-arch {
  width: 100%;
  max-width: 480px;
  margin-left: auto;
  padding: 1.25rem 1.1rem 1.4rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.92), rgba(0, 0, 0, 0.88));
}

.dir-site-arch__root {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  margin-bottom: 1rem;
  border: 1px solid rgba(85, 199, 216, 0.4);
  color: var(--kp-cyan);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.92rem;
  font-weight: 600;
}

.dir-site-arch__level,
.dir-site-arch__children {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.45rem;
  margin-bottom: 0.75rem;
}

.dir-site-arch__level span,
.dir-site-arch__children span,
.dir-site-arch__bottom span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.45rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  text-align: center;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.68rem;
  color: var(--kp-text-soft);
  background: rgba(0, 0, 0, 0.35);
}

.dir-site-arch__children {
  margin-bottom: 1rem;
}

.dir-site-arch__children span {
  min-height: 36px;
  font-size: 0.62rem;
  color: var(--kp-muted);
}

.dir-site-arch__bottom {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.45rem;
}

.dir-site-arch__bottom span {
  border-color: rgba(85, 199, 216, 0.28);
  color: var(--kp-cyan);
}

.dir-site-arch__labels {
  display: grid;
  gap: 0.4rem;
  margin-top: 1rem;
}

.dir-site-arch__labels p {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-muted);
  text-align: center;
}

.dir-vflow {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  max-width: 520px;
  margin: 0 auto;
}

.dir-vflow__node {
  width: 100%;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  text-align: center;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: var(--kp-text-soft);
  background: rgba(0, 0, 0, 0.45);
}

.dir-vflow__node--strong {
  border-color: rgba(85, 199, 216, 0.4);
  color: var(--kp-cyan);
  font-weight: 600;
}

.dir-vflow__arrow {
  color: rgba(85, 199, 216, 0.55);
  padding: 0.4rem 0;
  font-size: 0.9rem;
}

.dir-split {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1px;
  border: 1px solid var(--kp-line-soft);
  background: var(--kp-line-soft);
}

.dir-split__col {
  background: #000;
  padding: 1.75rem 1.5rem;
}

.dir-split__col h3 {
  margin: 0 0 1.15rem;
  font-size: 1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.dir-split__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.65rem;
}

.dir-split__list li {
  color: var(--kp-muted);
  padding-left: 0.85rem;
  position: relative;
}

.dir-split__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.7em;
  width: 0.35rem;
  height: 1px;
  background: rgba(85, 199, 216, 0.55);
}

.dir-ai-note {
  margin: 1.5rem 0 0;
  max-width: 46rem;
  color: var(--kp-text-soft);
}

.dir-future {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.55rem;
}

.dir-future span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  padding: 0.85rem 0.6rem;
  border: 1px dashed rgba(85, 199, 216, 0.28);
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--kp-muted);
}

body.direction-ai-direct .kp-trust__grid,
body.direction-seo .kp-trust__grid {
  grid-template-columns: minmax(0, 0.38fr) minmax(0, 0.62fr);
}

body.direction-ai-direct .kp-finale,
body.direction-seo .kp-finale {
  background: #020913;
  position: relative;
}

body.direction-ai-direct .kp-finale::before,
body.direction-seo .kp-finale::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 40%, rgba(4, 116, 241, 0.05), rgba(0, 0, 0, 0) 65%);
}

body.direction-ai-direct .kp-finale > .kp-shell,
body.direction-seo .kp-finale > .kp-shell {
  position: relative;
  z-index: 1;
}

@media (max-width: 1100px) {
  .dir-pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .dir-metrics {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .dir-metrics span:nth-child(3) {
    border-right: 0;
  }

  .dir-metrics span:nth-child(n + 4) {
    border-top: 1px solid rgba(120, 170, 220, 0.14);
  }

  .dir-future {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  body.direction-ai-direct .kp-hero__grid,
  body.direction-seo .kp-hero__grid {
    grid-template-columns: 1fr;
  }

  body.direction-ai-direct .kp-hero__grid {
    grid-template-areas:
      "copy"
      "visual"
      "actions"
      "proof";
    grid-template-columns: 1fr;
    row-gap: 1.35rem;
  }

  .dir-funnel,
  .dir-site-arch {
    max-width: none;
    margin: 1.75rem 0 0;
  }

  .dir-result {
    grid-template-columns: 1fr;
  }

  .dir-result__arrow {
    transform: rotate(90deg);
  }

  .dir-split {
    grid-template-columns: 1fr;
  }

  body.direction-ai-direct .kp-trust__grid,
  body.direction-seo .kp-trust__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  body.direction-ai-direct .kp-hero h1,
  body.direction-seo .kp-hero h1 {
    font-size: clamp(2.375rem, 9vw, 2.875rem);
  }

  body.direction-ai-direct .kp-h2,
  body.direction-seo .kp-h2 {
    font-size: clamp(1.875rem, 7vw, 2.375rem);
  }

  body.direction-ai-direct .kp-hero__body,
  body.direction-ai-direct .kp-lede,
  body.direction-seo .kp-hero__body,
  body.direction-seo .kp-lede {
    font-size: 1rem;
  }

  .dir-pillars,
  .dir-metrics,
  .dir-future,
  .dir-result__sources,
  .dir-site-arch__level,
  .dir-site-arch__children,
  .dir-site-arch__bottom {
    grid-template-columns: 1fr;
  }

  .dir-metrics span,
  .dir-metrics span:nth-child(3) {
    border-right: 0;
    border-bottom: 1px solid rgba(120, 170, 220, 0.14);
  }

  .dir-metrics span:last-child {
    border-bottom: 0;
  }

  .dir-funnel__node,
  .dir-vflow__node,
  .dir-site-arch__level span,
  .dir-site-arch__bottom span {
    font-size: 0.78rem;
  }

  body.direction-ai-direct .kp-process li,
  body.direction-seo .kp-process li {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 0.85rem;
  }
}

/* ============================================================
   DIRECTION EXPANSION ? AI AVITO + YANDEX BUSINESS
   Scoped only: body.direction-ai-avito / body.direction-yandex-business
   Must not alter /websites/, /ai-direct/, /seo/ visuals.
   ============================================================ */

body.direction-ai-avito,
body.direction-yandex-business {
  background: #000000;
  background-image: none;
}

body.direction-ai-avito .kp-section--ambient,
body.direction-yandex-business .kp-section--ambient {
  position: relative;
  background: #020913;
}

body.direction-ai-avito .kp-section--ambient::before,
body.direction-yandex-business .kp-section--ambient::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 30%, rgba(4, 116, 241, 0.05), rgba(0, 0, 0, 0) 65%);
}

body.direction-ai-avito .kp-section--ambient > .kp-shell,
body.direction-yandex-business .kp-section--ambient > .kp-shell,
body.direction-ai-avito .kp-section--ambient.kp-hero > .kp-shell,
body.direction-yandex-business .kp-section--ambient.kp-hero > .kp-shell {
  position: relative;
  z-index: 1;
}

body.direction-ai-avito .kp-hero h1,
body.direction-yandex-business .kp-hero h1 {
  font-size: clamp(2.375rem, 4.8vw, 4.25rem);
  line-height: 1.04;
}

body.direction-ai-avito .kp-h2,
body.direction-yandex-business .kp-h2 {
  font-size: clamp(1.875rem, 3.8vw, 3.25rem);
  max-width: 18em;
}

body.direction-ai-avito .kp-hero__body,
body.direction-ai-avito .kp-lede,
body.direction-ai-avito .kp-process__body,
body.direction-ai-avito .dir-pillar li,
body.direction-ai-avito .kp-faq__panel,
body.direction-ai-avito .avito-system__step p,
body.direction-ai-avito .avito-scenarios p,
body.direction-yandex-business .kp-hero__body,
body.direction-yandex-business .kp-lede,
body.direction-yandex-business .kp-process__body,
body.direction-yandex-business .dir-pillar li,
body.direction-yandex-business .kp-faq__panel,
body.direction-yandex-business .maps-why p {
  font-size: clamp(1.0625rem, 1.2vw, 1.125rem);
  line-height: 1.52;
}

body.direction-ai-avito .kp-eyebrow,
body.direction-yandex-business .kp-eyebrow {
  font-size: 0.8125rem;
}

body.direction-ai-avito .kp-hero__proof,
body.direction-yandex-business .kp-hero__proof {
  margin-top: 1.75rem;
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--kp-muted) 92%, transparent);
}

body.direction-ai-avito .kp-hero__grid,
body.direction-yandex-business .kp-hero__grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  align-items: center;
}

body.direction-ai-avito .kp-hero__visual,
body.direction-yandex-business .kp-hero__visual {
  width: 100%;
  min-width: 0;
}

body.direction-ai-avito .kp-process li,
body.direction-yandex-business .kp-process li {
  grid-template-columns: 3.5rem minmax(0, 1fr);
}

body.direction-ai-avito .kp-process__title,
body.direction-yandex-business .kp-process__title {
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  letter-spacing: 0.06em;
}

body.direction-ai-avito .kp-trust__grid,
body.direction-yandex-business .kp-trust__grid {
  align-items: start;
}

body.direction-ai-avito .kp-finale,
body.direction-yandex-business .kp-finale {
  position: relative;
  background: #00101e;
}

body.direction-ai-avito .kp-finale::before,
body.direction-yandex-business .kp-finale::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 40%, rgba(4, 116, 241, 0.05), rgba(0, 0, 0, 0) 65%);
}

body.direction-ai-avito .kp-finale > .kp-shell,
body.direction-yandex-business .kp-finale > .kp-shell {
  position: relative;
  z-index: 1;
}

/* --- AI AVITO development pricing cards --- */
body.direction-ai-avito .kp-dev-cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(1.25rem, 2.5vw, 2rem);
}

body.direction-ai-avito .kp-dev-card {
  display: flex;
  flex-direction: column;
  padding: clamp(1.5rem, 2.5vw, 2.1rem);
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(165deg, rgba(2, 10, 20, 0.92), rgba(0, 0, 0, 0.85));
}

body.direction-ai-avito .kp-dev-card__n {
  margin: 0 0 0.75rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  color: var(--kp-cyan);
}

body.direction-ai-avito .kp-dev-card__title {
  margin: 0 0 0.6rem;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  letter-spacing: 0.01em;
  text-transform: uppercase;
  color: var(--kp-text);
}

body.direction-ai-avito .kp-dev-card__fit {
  margin: 0 0 1.1rem;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--kp-text-soft);
}

body.direction-ai-avito .kp-dev-card__list {
  margin: 0 0 1.4rem;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.5rem;
}

body.direction-ai-avito .kp-dev-card__list li {
  padding: 0.5rem 0 0.5rem 1rem;
  border-top: 1px solid rgba(75, 190, 255, 0.12);
  position: relative;
  font-size: 0.88rem;
  color: var(--kp-text-soft);
}

body.direction-ai-avito .kp-dev-card__list li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 1rem;
  width: 5px;
  height: 1px;
  background: var(--kp-cyan);
}

body.direction-ai-avito .kp-dev-card__price {
  margin: auto 0 1.25rem;
  padding-top: 1.1rem;
  border-top: 1px solid rgba(85, 199, 216, 0.28);
  font-size: clamp(1.3rem, 2vw, 1.65rem);
  font-weight: 600;
  letter-spacing: -0.01em;
  color: #fff;
}

body.direction-ai-avito .kp-dev-card__price span {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.68rem;
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

body.direction-ai-avito .ai-avito-pricing__note {
  color: var(--kp-text-soft);
}

body.direction-ai-avito .ai-avito-pricing__note strong {
  color: var(--kp-cyan);
}

@media (max-width: 767px) {
  body.direction-ai-avito .kp-dev-cards {
    grid-template-columns: 1fr;
  }
}

/* --- AI AVITO visuals --- */

.avito-dialogue {
  width: 100%;
  max-width: 460px;
  margin-left: auto;
  padding: 1.35rem 1.2rem 1.5rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.94), rgba(0, 0, 0, 0.9));
}

.avito-dialogue__source,
.avito-dialogue__sink {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 52px;
  padding: 0.7rem 0.9rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.78rem;
  text-align: center;
  color: var(--kp-text-soft);
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.avito-dialogue__sink {
  border-color: rgba(85, 199, 216, 0.42);
  color: var(--kp-cyan);
  font-weight: 600;
}

.avito-dialogue__arrow {
  display: flex;
  justify-content: center;
  padding: 0.45rem 0;
  color: rgba(85, 199, 216, 0.55);
  opacity: 0;
  transition: opacity 0.4s ease;
}

.avito-dialogue__core {
  padding: 1.1rem 1rem 1.2rem;
  border: 1px solid rgba(85, 199, 216, 0.34);
  background: rgba(0, 16, 30, 0.55);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.avito-dialogue__label {
  margin: 0 0 1rem;
  text-align: center;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--kp-cyan);
}

.avito-dialogue__steps {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.45rem 0.35rem;
}

.avito-dialogue__steps > span:not(.avito-dialogue__conn) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.68rem;
  color: var(--kp-text-soft);
  background: rgba(0, 0, 0, 0.4);
}

.avito-dialogue__steps > span.is-current {
  border-color: rgba(85, 199, 216, 0.55);
  color: var(--kp-cyan);
  box-shadow: 0 0 0 1px rgba(85, 199, 216, 0.12);
}

.avito-dialogue__conn {
  color: rgba(85, 199, 216, 0.5);
  font-size: 0.75rem;
}

.avito-dialogue.is-revealed .avito-dialogue__source,
.avito-dialogue.is-revealed .avito-dialogue__core,
.avito-dialogue.is-revealed .avito-dialogue__sink,
.avito-dialogue.is-revealed .avito-dialogue__arrow {
  opacity: 1;
  transform: none;
}

.avito-dialogue.is-revealed .avito-dialogue__source { transition-delay: 0.05s; }
.avito-dialogue.is-revealed .avito-dialogue__arrow:nth-of-type(1) { transition-delay: 0.12s; }
.avito-dialogue.is-revealed .avito-dialogue__core { transition-delay: 0.2s; }
.avito-dialogue.is-revealed .avito-dialogue__arrow:nth-of-type(2) { transition-delay: 0.32s; }
.avito-dialogue.is-revealed .avito-dialogue__sink { transition-delay: 0.4s; }

.avito-system {
  display: flex;
  flex-direction: column;
  gap: 0;
  max-width: 760px;
  margin: 0 auto;
}

.avito-system__step {
  padding: 1.35rem 1.4rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  background: rgba(0, 0, 0, 0.45);
}

.avito-system__step--strong {
  border-color: rgba(85, 199, 216, 0.42);
  background: rgba(0, 16, 30, 0.55);
}

.avito-system__step h3 {
  margin: 0 0 0.55rem;
  font-size: clamp(1rem, 1.4vw, 1.15rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text);
}

.avito-system__step--strong h3 {
  color: var(--kp-cyan);
}

.avito-system__step p {
  margin: 0;
  color: var(--kp-muted);
  max-width: 42rem;
}

.avito-system__arrow {
  align-self: center;
  padding: 0.4rem 0;
  color: rgba(85, 199, 216, 0.55);
  font-size: 0.9rem;
}

.avito-scenarios {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--kp-line-soft);
  background: var(--kp-line-soft);
}

.avito-scenarios article {
  padding: 1.75rem 1.5rem;
  background: #000;
}

.avito-scenarios h3 {
  margin: 0 0 0.85rem;
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.avito-scenarios p {
  margin: 0;
  color: var(--kp-muted);
  max-width: 34rem;
}

.avito-effect span {
  font-size: clamp(0.72rem, 1vw, 0.82rem);
  line-height: 1.35;
}

/* --- YANDEX BUSINESS visuals --- */

.maps-card {
  position: relative;
  width: 100%;
  max-width: 420px;
  margin-left: auto;
  min-height: 420px;
  padding: 1.5rem 1rem 1rem;
}

.maps-card__orbit {
  position: absolute;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.68rem;
  color: color-mix(in srgb, var(--kp-muted) 88%, transparent);
  opacity: 0;
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.maps-card__orbit--search {
  top: 0.4rem;
  left: 0.2rem;
  transform: translateY(6px);
}

.maps-card__orbit--maps {
  top: 0.4rem;
  right: 0.4rem;
  transform: translateY(6px);
}

.maps-card__orbit--local {
  bottom: 0.2rem;
  left: 50%;
  transform: translate(-50%, 6px);
}

.maps-card__panel {
  position: relative;
  z-index: 1;
  margin-top: 1.6rem;
  padding: 1.35rem 1.2rem 1.4rem;
  border: 1px solid rgba(85, 199, 216, 0.28);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.96), rgba(0, 0, 0, 0.92));
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

.maps-card__kicker {
  margin: 0 0 0.85rem;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  font-size: 0.68rem;
  color: var(--kp-cyan);
}

.maps-card__name {
  margin: 0 0 0.55rem;
  font-size: clamp(1.15rem, 1.6vw, 1.35rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
}

.maps-card__meta {
  margin: 0 0 0.35rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--kp-muted);
}

.maps-card__photo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 88px;
  margin: 1rem 0;
  border: 1px solid rgba(120, 170, 220, 0.16);
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--kp-text-soft);
  background: rgba(0, 16, 30, 0.55);
}

.maps-card__services {
  margin: 0 0 1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: var(--kp-text-soft);
}

.maps-card__actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.maps-card__actions span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.4rem;
  border: 1px solid rgba(85, 199, 216, 0.28);
  text-align: center;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.62rem;
  color: var(--kp-cyan);
  background: rgba(0, 0, 0, 0.35);
}

.maps-card.is-revealed .maps-card__orbit,
.maps-card.is-revealed .maps-card__panel {
  opacity: 1;
  transform: none;
}

.maps-card.is-revealed .maps-card__orbit--local {
  transform: translate(-50%, 0);
}

.maps-card.is-revealed .maps-card__orbit--search { transition-delay: 0.05s; }
.maps-card.is-revealed .maps-card__orbit--maps { transition-delay: 0.12s; }
.maps-card.is-revealed .maps-card__panel { transition-delay: 0.18s; }
.maps-card.is-revealed .maps-card__orbit--local { transition-delay: 0.3s; }

.maps-why {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--kp-line-soft);
  background: var(--kp-line-soft);
}

.maps-why article {
  padding: 1.9rem 1.55rem;
  background: #000;
}

.maps-why h3 {
  margin: 0 0 0.85rem;
  font-size: clamp(1.05rem, 1.5vw, 1.25rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.maps-why p {
  margin: 0;
  color: var(--kp-muted);
  max-width: 34rem;
}

.maps-path {
  display: flex;
  flex-direction: column;
  align-items: center;
  max-width: 640px;
  margin: 0 auto;
  padding: 1.5rem 1.25rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.9), rgba(0, 0, 0, 0.9));
}

.maps-path__node {
  width: 100%;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  text-align: center;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.85rem;
  color: var(--kp-text-soft);
  background: rgba(0, 0, 0, 0.4);
}

.maps-path__node--strong {
  border-color: rgba(85, 199, 216, 0.4);
  color: var(--kp-cyan);
  font-weight: 600;
}

.maps-path__node--end {
  border-color: rgba(85, 199, 216, 0.5);
  color: var(--kp-cyan);
  font-weight: 600;
}

.maps-path__arrow {
  padding: 0.4rem 0;
  color: rgba(85, 199, 216, 0.55);
}

.maps-path__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.5rem;
  width: 100%;
}

.maps-path__actions span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0.55rem;
  border: 1px solid rgba(85, 199, 216, 0.28);
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--kp-cyan);
  background: rgba(0, 0, 0, 0.35);
}

.maps-proof__head {
  max-width: 820px;
}

.maps-proof__channel {
  margin: 0.35rem 0 1.15rem;
  font-size: 0.82rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.maps-proof__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin: 0 0 1rem;
}

.maps-proof__chips span {
  display: inline-flex;
  align-items: center;
  min-height: 2.4rem;
  padding: 0.55rem 0.9rem;
  border: 1px solid rgba(85, 199, 216, 0.42);
  background: linear-gradient(180deg, rgba(85, 199, 216, 0.12), rgba(0, 0, 0, 0.55));
  color: var(--kp-text);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;
}

.maps-proof__context {
  max-width: 40rem;
}

.maps-proof {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid rgba(85, 199, 216, 0.28);
  background: rgba(85, 199, 216, 0.28);
  max-width: 720px;
}

.maps-proof__metric {
  padding: 2.25rem 1.5rem;
  background: #000;
  text-align: center;
}

.maps-proof__value {
  margin: 0 0 0.75rem;
  font-size: clamp(2.75rem, 5vw, 4rem);
  line-height: 1;
  letter-spacing: -0.03em;
  color: var(--kp-cyan);
  font-weight: 600;
}

.maps-proof__label {
  margin: 0;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.82rem;
  color: var(--kp-text-soft);
}

.maps-proof__cta {
  margin-top: 2rem;
}

.maps-connect {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0;
  max-width: 760px;
  margin: 0 auto;
  padding: 1.5rem 1.25rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.9), rgba(0, 0, 0, 0.9));
}

.maps-connect__row {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
  gap: 0.5rem;
  width: 100%;
}

.maps-connect__row span,
.maps-connect__core,
.maps-connect__end {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 56px;
  padding: 0.75rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.75rem;
  color: var(--kp-text-soft);
  background: rgba(0, 0, 0, 0.4);
}

.maps-connect__core {
  width: 100%;
  border-color: rgba(85, 199, 216, 0.42);
  color: var(--kp-cyan);
  font-weight: 600;
  font-size: 0.9rem;
}

.maps-connect__end {
  width: 100%;
  border-color: rgba(85, 199, 216, 0.35);
  color: var(--kp-cyan);
}

.maps-connect__arrow {
  padding: 0.45rem 0;
  color: rgba(85, 199, 216, 0.55);
}

@media (prefers-reduced-motion: reduce) {
  .avito-dialogue__source,
  .avito-dialogue__core,
  .avito-dialogue__sink,
  .avito-dialogue__arrow,
  .maps-card__orbit,
  .maps-card__panel {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .maps-card__orbit--local {
    transform: translate(-50%, 0);
  }
}

@media (max-width: 1024px) {
  body.direction-ai-avito .kp-hero__grid,
  body.direction-yandex-business .kp-hero__grid {
    grid-template-columns: 1fr;
  }

  .avito-dialogue,
  .maps-card {
    margin: 1.5rem auto 0;
    max-width: 100%;
  }

  body.direction-ai-avito .kp-trust__grid,
  body.direction-yandex-business .kp-trust__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 767px) {
  body.direction-ai-avito .kp-hero h1,
  body.direction-yandex-business .kp-hero h1 {
    font-size: clamp(2.375rem, 9vw, 2.875rem);
  }

  body.direction-ai-avito .kp-h2,
  body.direction-yandex-business .kp-h2 {
    font-size: clamp(1.875rem, 7vw, 2.25rem);
  }

  body.direction-ai-avito .kp-hero__body,
  body.direction-ai-avito .kp-lede,
  body.direction-yandex-business .kp-hero__body,
  body.direction-yandex-business .kp-lede {
    font-size: 1rem;
  }

  body.direction-ai-avito .kp-process li,
  body.direction-yandex-business .kp-process li {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 0.85rem;
  }

  .avito-scenarios,
  .maps-why,
  .maps-proof {
    grid-template-columns: 1fr;
  }

  .avito-dialogue__steps > span:not(.avito-dialogue__conn) {
    font-size: 0.72rem;
    min-height: 44px;
  }

  .avito-dialogue__conn {
    display: none;
  }

  .avito-dialogue__steps {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0.45rem;
  }

  .maps-card {
    min-height: 0;
    padding: 0;
  }

  .maps-card__orbit {
    position: static;
    display: inline-block;
    margin: 0 0.65rem 0.75rem 0;
    transform: none;
  }

  .maps-card__orbit--local {
    transform: none;
  }

  .maps-card__panel {
    margin-top: 0.5rem;
  }

  .maps-card__actions {
    grid-template-columns: 1fr;
  }

  .maps-path__actions {
    grid-template-columns: 1fr;
  }

  .maps-connect__row {
    grid-template-columns: 1fr;
  }

  .avito-system__step,
  .maps-why article,
  .avito-scenarios article {
    padding: 1.35rem 1.15rem;
  }
}

/* ============================================================
   DIRECTION EXPANSION ? AVITO / VK / AUTOMATION / PACKAGING
   Scoped: body.direction-avito | direction-vk | direction-automation | direction-packaging
   Must not alter existing direction visuals beyond shared reusable classes.
   ============================================================ */

body.direction-avito,
body.direction-vk,
body.direction-automation,
body.direction-packaging {
  background: #000000;
  background-image: none;
}

body.direction-avito .kp-section--ambient,
body.direction-vk .kp-section--ambient,
body.direction-automation .kp-section--ambient,
body.direction-packaging .kp-section--ambient {
  position: relative;
  background: #020913;
}

body.direction-avito .kp-section--ambient::before,
body.direction-vk .kp-section--ambient::before,
body.direction-automation .kp-section--ambient::before,
body.direction-packaging .kp-section--ambient::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 30%, rgba(4, 116, 241, 0.055), rgba(0, 0, 0, 0) 65%);
}

body.direction-avito .kp-section--ambient > .kp-shell,
body.direction-vk .kp-section--ambient > .kp-shell,
body.direction-automation .kp-section--ambient > .kp-shell,
body.direction-packaging .kp-section--ambient > .kp-shell {
  position: relative;
  z-index: 1;
}

body.direction-avito .kp-hero h1,
body.direction-vk .kp-hero h1,
body.direction-automation .kp-hero h1,
body.direction-packaging .kp-hero h1 {
  font-size: clamp(2.375rem, 4.8vw, 4.25rem);
  line-height: 1.04;
}

body.direction-avito .kp-h2,
body.direction-vk .kp-h2,
body.direction-automation .kp-h2,
body.direction-packaging .kp-h2 {
  font-size: clamp(1.875rem, 3.8vw, 3.25rem);
  max-width: 18em;
}

body.direction-avito .kp-hero__body,
body.direction-avito .kp-lede,
body.direction-avito .kp-process__body,
body.direction-avito .dir-pillar li,
body.direction-avito .dir-split__list li,
body.direction-avito .kp-faq__panel,
body.direction-vk .kp-hero__body,
body.direction-vk .kp-lede,
body.direction-vk .kp-process__body,
body.direction-vk .dir-pillar li,
body.direction-vk .kp-faq__panel,
body.direction-automation .kp-hero__body,
body.direction-automation .kp-lede,
body.direction-automation .kp-process__body,
body.direction-automation .dir-pillar li,
body.direction-automation .avito-scenarios p,
body.direction-automation .kp-faq__panel,
body.direction-packaging .kp-hero__body,
body.direction-packaging .kp-lede,
body.direction-packaging .kp-process__body,
body.direction-packaging .dir-pillar li,
body.direction-packaging .dir-split__list li,
body.direction-packaging .kp-faq__panel {
  font-size: clamp(1.0625rem, 1.2vw, 1.125rem);
  line-height: 1.52;
}

body.direction-avito .kp-eyebrow,
body.direction-vk .kp-eyebrow,
body.direction-automation .kp-eyebrow,
body.direction-packaging .kp-eyebrow {
  font-size: 0.8125rem;
}

body.direction-avito .kp-hero__proof,
body.direction-vk .kp-hero__proof,
body.direction-automation .kp-hero__proof,
body.direction-packaging .kp-hero__proof {
  margin-top: 1.75rem;
  font-size: 0.8125rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: color-mix(in srgb, var(--kp-muted) 92%, transparent);
}

body.direction-avito .kp-hero__grid,
body.direction-vk .kp-hero__grid,
body.direction-automation .kp-hero__grid,
body.direction-packaging .kp-hero__grid {
  grid-template-columns: minmax(0, 1.1fr) minmax(0, 0.9fr);
  align-items: center;
}

body.direction-avito .kp-process li,
body.direction-vk .kp-process li,
body.direction-automation .kp-process li,
body.direction-packaging .kp-process li {
  grid-template-columns: 3.5rem minmax(0, 1fr);
}

body.direction-avito .kp-process__title,
body.direction-vk .kp-process__title,
body.direction-automation .kp-process__title,
body.direction-packaging .kp-process__title {
  font-size: clamp(1rem, 1.35vw, 1.15rem);
  letter-spacing: 0.06em;
}

body.direction-avito .kp-finale,
body.direction-vk .kp-finale,
body.direction-automation .kp-finale,
body.direction-packaging .kp-finale {
  position: relative;
  background: #00101e;
}

body.direction-avito .kp-finale::before,
body.direction-vk .kp-finale::before,
body.direction-automation .kp-finale::before,
body.direction-packaging .kp-finale::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 40%, rgba(4, 116, 241, 0.05), rgba(0, 0, 0, 0) 65%);
}

body.direction-avito .kp-finale > .kp-shell,
body.direction-vk .kp-finale > .kp-shell,
body.direction-automation .kp-finale > .kp-shell,
body.direction-packaging .kp-finale > .kp-shell {
  position: relative;
  z-index: 1;
}

.avito-presentation {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.avito-presentation span {
  min-height: 88px;
  font-size: clamp(0.72rem, 1vw, 0.82rem);
}

.avito-presentation span:nth-child(4n) {
  border-right: 0;
}

.avito-presentation span:nth-child(n + 5) {
  border-top: 1px solid rgba(120, 170, 220, 0.14);
}

.avito-hero-flow {
  max-width: 420px;
  margin-left: auto;
  padding: 1.25rem 1.1rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.92), rgba(0, 0, 0, 0.88));
}

.auto-flow {
  display: grid;
  gap: 1rem;
  width: 100%;
  max-width: 460px;
  margin-left: auto;
  padding: 1.25rem 1.1rem 1.4rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.92), rgba(0, 0, 0, 0.88));
}

.auto-flow__core {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.auto-flow__core .dir-vflow__node {
  width: 100%;
}

.auto-flow__orbit {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.auto-flow__orbit span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 40px;
  padding: 0.4rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  text-align: center;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.68rem;
  color: var(--kp-muted);
  background: rgba(0, 0, 0, 0.35);
}

@media (max-width: 1024px) {
  body.direction-avito .kp-hero__grid,
  body.direction-vk .kp-hero__grid,
  body.direction-automation .kp-hero__grid,
  body.direction-packaging .kp-hero__grid {
    grid-template-columns: 1fr;
  }

  .avito-hero-flow,
  .auto-flow {
    margin: 1.5rem auto 0;
    max-width: 100%;
  }
}

@media (max-width: 767px) {
  body.direction-avito .kp-hero h1,
  body.direction-vk .kp-hero h1,
  body.direction-automation .kp-hero h1,
  body.direction-packaging .kp-hero h1 {
    font-size: clamp(2.375rem, 9vw, 2.875rem);
  }

  body.direction-avito .kp-h2,
  body.direction-vk .kp-h2,
  body.direction-automation .kp-h2,
  body.direction-packaging .kp-h2 {
    font-size: clamp(1.875rem, 7vw, 2.25rem);
  }

  body.direction-avito .kp-process li,
  body.direction-vk .kp-process li,
  body.direction-automation .kp-process li,
  body.direction-packaging .kp-process li {
    grid-template-columns: 2.5rem minmax(0, 1fr);
    gap: 0.85rem;
  }

  .avito-presentation {
    grid-template-columns: 1fr;
  }

  .avito-presentation span,
  .avito-presentation span:nth-child(4n) {
    border-right: 0;
    border-bottom: 1px solid rgba(120, 170, 220, 0.14);
  }

  .avito-presentation span:last-child {
    border-bottom: 0;
  }

  .avito-presentation span:nth-child(n + 5) {
    border-top: 0;
  }

  .auto-flow__orbit {
    grid-template-columns: 1fr 1fr;
  }
}

/* =========================================================
   WAVE 5 ? /websites/ commercial rebuild
   ========================================================= */

body.direction-websites .kp-section {
  padding-block: clamp(5.5rem, 9vw, 8.5rem);
}

body.direction-websites {
  overflow-x: clip;
}

body.direction-websites .kp-hero {
  min-height: clamp(760px, 92vh, 820px);
  padding-block: 0;
}

body.direction-websites .kp-hero > .kp-shell,
body.direction-websites .kp-hero__shell {
  width: min(1360px, calc(100% - 96px));
  max-width: 1360px;
  min-height: clamp(760px, calc(100vh - var(--kp-header-h)), 820px);
  padding-top: 64px;
  padding-bottom: 72px;
}

body.direction-websites .kp-hero__grid {
  grid-template-columns: minmax(0, 0.52fr) minmax(0, 0.48fr);
  column-gap: clamp(48px, 4.5vw, 64px);
  align-items: center;
}

body.direction-websites .kp-hero h1 {
  font-size: clamp(52px, 4.2vw, 70px);
}

body.direction-websites .kp-hero__work {
  position: relative;
  width: min(46vw, 680px);
  max-width: 100%;
  height: 600px;
  margin-left: auto;
  overflow: visible;
}

body.direction-websites .kp-hero__work-caption,
body.direction-websites .kp-hero__work-stack,
body.direction-websites .kp-hero__work-mobile {
  display: none !important;
}

body.direction-websites .kp-hero-collage {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: visible;
}

body.direction-websites .kp-hero-collage__glow {
  position: absolute;
  inset: 4% 2% 6% 4%;
  pointer-events: none;
  z-index: 0;
  background:
    radial-gradient(circle at 52% 46%, rgba(4, 116, 241, 0.1), rgba(4, 116, 241, 0.03) 38%, transparent 68%),
    radial-gradient(circle at 70% 70%, rgba(85, 199, 216, 0.05), transparent 55%);
}

body.direction-websites .kp-hero-card {
  position: absolute;
  display: flex;
  flex-direction: column;
  background: #030a12;
  border: 1px solid rgba(75, 190, 255, 0.24);
  box-shadow: 0 24px 70px rgba(0, 0, 0, 0.38);
  overflow: hidden;
  transition:
    transform 240ms cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 240ms ease,
    border-color 240ms ease,
    opacity 500ms ease;
}

body.direction-websites .kp-hero-collage .kp-hero-card {
  opacity: 0;
  transform: translateY(18px);
}

body.direction-websites .kp-hero-collage.is-ready .kp-hero-card,
body.direction-websites .kp-hero-collage .kp-hero-card.is-in {
  opacity: 1;
  transform: translateY(0);
}

body.direction-websites .kp-hero-card__chrome {
  display: flex;
  align-items: center;
  gap: 5px;
  height: 22px;
  padding: 0 10px;
  background: rgba(8, 16, 28, 0.95);
  border-bottom: 1px solid rgba(75, 190, 255, 0.12);
}

body.direction-websites .kp-hero-card__chrome span {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(140, 170, 200, 0.35);
}

body.direction-websites .kp-hero-card__frame {
  position: relative;
  width: 100%;
  aspect-ratio: 16 / 10;
  overflow: hidden;
  background: #071018;
}

body.direction-websites .kp-hero-card__frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: top center;
}

body.direction-websites .kp-hero-card__name {
  margin: 0;
  padding: 0.45rem 0.7rem 0.55rem;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(220, 232, 245, 0.88);
  background: rgba(3, 10, 18, 0.96);
}

body.direction-websites .kp-hero-card--a {
  width: 62%;
  left: 0%;
  top: 10%;
  rotate: -2deg;
  z-index: 3;
}

body.direction-websites .kp-hero-card--b {
  width: 60%;
  right: 0%;
  top: 34%;
  left: auto;
  rotate: 2deg;
  z-index: 5;
}

body.direction-websites .kp-hero-card--c {
  width: 48%;
  left: 4%;
  bottom: 2%;
  top: auto;
  rotate: -3deg;
  z-index: 4;
}

body.direction-websites .kp-hero-card--d {
  width: 42%;
  right: 4%;
  top: 2%;
  left: auto;
  rotate: 3deg;
  z-index: 2;
}

body.direction-websites .kp-hero-card--e {
  width: 42%;
  right: 8%;
  bottom: 0%;
  top: auto;
  left: auto;
  rotate: 2deg;
  z-index: 1;
}

@media (hover: hover) and (pointer: fine) {
  body.direction-websites .kp-hero-collage .kp-hero-card:hover {
    transform: translateY(-6px) scale(1.015);
    z-index: 8;
    border-color: rgba(75, 190, 255, 0.42);
    box-shadow: 0 28px 80px rgba(0, 0, 0, 0.46);
  }
}

@media (prefers-reduced-motion: reduce) {
  body.direction-websites .kp-hero-collage .kp-hero-card,
  body.direction-websites .kp-hero-collage.is-ready .kp-hero-card {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

body.direction-websites .kp-hero-slider {
  display: none;
}

body.direction-websites .kp-format {
  min-height: 220px;
  transition:
    transform 200ms ease,
    border-color 200ms ease,
    background 200ms ease;
}

body.direction-websites .kp-format h3 {
  font-size: max(1rem, 16px);
}

body.direction-websites .kp-format p {
  font-size: max(1rem, 16px);
}

body.direction-websites .kp-format:hover {
  transform: translateY(-2px);
  border-color: rgba(75, 190, 255, 0.42);
  background: rgba(4, 116, 241, 0.025);
}

body.direction-websites .direction-inline-cta .kp-btn {
  min-height: 56px;
  height: 56px;
}

body.direction-websites .kp-cost-table-wrap {
  width: 100%;
  overflow: visible;
  margin-top: 2.5rem;
}

body.direction-websites .kp-cost-table {
  width: 100%;
  border-collapse: collapse;
  table-layout: fixed;
}

body.direction-websites .kp-cost-table th,
body.direction-websites .kp-cost-table td {
  padding: 1.05rem 1rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(75, 190, 255, 0.12);
  font-size: 0.98rem;
  line-height: 1.45;
}

body.direction-websites .kp-cost-table thead th {
  background: rgba(8, 18, 34, 0.92);
  color: rgba(210, 224, 240, 0.75);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 500;
  border-bottom: 1px solid rgba(75, 190, 255, 0.22);
}

body.direction-websites .kp-cost-table tbody th {
  color: var(--kp-text);
  font-size: 0.95rem;
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.direction-websites .kp-cost-table td {
  color: var(--kp-text-soft);
}

body.direction-websites .kp-cost-table__price {
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
  font-variant-numeric: tabular-nums;
}

body.direction-websites .kp-cost-table tbody tr:hover {
  background: rgba(4, 116, 241, 0.025);
}

body.direction-websites .kp-cost-stack {
  display: none;
}

body.direction-websites .kp-cost-factors {
  margin-top: 3.5rem;
}

body.direction-websites .kp-cost-factors__title {
  margin: 0 0 1.5rem;
  font-size: clamp(1.15rem, 1.6vw, 1.45rem);
  font-weight: 500;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

body.direction-websites .kp-cost-factors__grid {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.85rem 1.5rem;
}

body.direction-websites .kp-cost-factors__grid li {
  display: flex;
  gap: 0.75rem;
  align-items: baseline;
  min-height: 2.6rem;
  padding: 0.65rem 0;
  border-top: 1px solid rgba(75, 190, 255, 0.12);
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-text);
}

body.direction-websites .kp-cost-factors__grid span {
  color: var(--kp-cyan);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  flex: 0 0 auto;
}

body.direction-websites .kp-cost-actions {
  margin-top: 2.5rem;
  gap: 0.85rem;
}

body.direction-websites .kp-cost-actions .kp-btn {
  min-height: 54px;
}

@media (max-width: 1199px) {
  body.direction-websites .kp-hero__work {
    width: min(48vw, 560px);
    height: 520px;
  }
}

@media (max-width: 1024px) {
  body.direction-websites .kp-hero__grid {
    grid-template-columns: 1fr;
    gap: 2.5rem;
  }

  body.direction-websites .kp-hero__work {
    width: 100%;
    max-width: 640px;
    height: 460px;
    margin-inline: auto;
    overflow: hidden;
  }

  body.direction-websites .kp-proposal-stack {
    max-width: 100%;
    overflow: hidden;
  }
}

@media (max-width: 767px) {
  body.direction-websites .kp-section {
    padding-block: clamp(4.5rem, 12vw, 6rem);
  }

  body.direction-websites .kp-hero {
    min-height: 0;
  }

  body.direction-websites .kp-hero > .kp-shell,
  body.direction-websites .kp-hero__shell {
    width: calc(100% - 32px);
    min-height: 0;
    padding-top: 56px;
    padding-bottom: 48px;
  }

  body.direction-websites .kp-hero__grid {
    display: flex;
    flex-direction: column;
    gap: 1.75rem;
  }

  body.direction-websites .kp-hero h1 {
    font-size: clamp(38px, 10vw, 46px);
    line-height: 1.02;
  }

  body.direction-websites .kp-hero__body {
    font-size: 16px;
    margin-top: 1.15rem;
  }

  body.direction-websites .kp-hero__offer-desc,
  body.direction-websites .kp-hero__proof {
    font-size: 15px;
  }

  body.direction-websites .kp-hero__actions .kp-btn {
    width: 100%;
    font-size: 14px;
  }

  body.direction-websites .kp-hero__work {
    width: 100%;
    height: auto;
    margin: 0;
    overflow: hidden;
  }

  body.direction-websites .kp-hero-collage {
    display: none;
  }

  body.direction-websites .kp-hero-slider {
    display: block;
    width: 100%;
    max-width: 100%;
    overflow: hidden;
  }

  body.direction-websites .kp-hero-slider__viewport {
    display: flex;
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scroll-behavior: smooth;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: none;
  }

  body.direction-websites .kp-hero-slider__viewport::-webkit-scrollbar {
    display: none;
  }

  body.direction-websites .kp-hero-slider__slide {
    flex: 0 0 100%;
    width: 100%;
    max-width: 100%;
    scroll-snap-align: start;
  }

  body.direction-websites .kp-hero-slider .kp-hero-card {
    position: relative;
    width: 100%;
    inset: auto;
    rotate: none;
    transform: none;
    opacity: 1;
  }

  body.direction-websites .kp-hero-slider .kp-hero-card__frame {
    aspect-ratio: 16 / 10;
  }

  body.direction-websites .kp-hero-slider__bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 0.75rem;
    margin-top: 0.85rem;
  }

  body.direction-websites .kp-hero-slider__name {
    margin: 0;
    font-size: 13px;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--kp-text);
  }

  body.direction-websites .kp-hero-slider__controls {
    display: flex;
    align-items: center;
    gap: 0.45rem;
  }

  body.direction-websites .kp-hero-slider__counter {
    font-size: 13px;
    letter-spacing: 0.1em;
    color: var(--kp-muted);
    font-variant-numeric: tabular-nums;
    margin-right: 0.25rem;
  }

  body.direction-websites .kp-hero-slider__btn {
    width: 44px;
    height: 44px;
    min-width: 44px;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(75, 190, 255, 0.28);
    background: rgba(4, 12, 22, 0.9);
    color: var(--kp-text);
    font-size: 1rem;
    cursor: pointer;
  }

  body.direction-websites .kp-hero-slider__btn:hover,
  body.direction-websites .kp-hero-slider__btn:focus-visible {
    border-color: rgba(75, 190, 255, 0.55);
    color: #fff;
    outline: none;
  }

  body.direction-websites .kp-h2 {
    font-size: clamp(30px, 8vw, 38px);
  }

  body.direction-websites .kp-lede,
  body.direction-websites .kp-format p,
  body.direction-websites .kp-cost-item__text {
    font-size: 16px;
  }

  body.direction-websites .kp-cost-table-wrap {
    display: none;
  }

  body.direction-websites .kp-cost-stack {
    display: block;
    margin-top: 1.5rem;
  }

  body.direction-websites .kp-cost-item {
    padding: 1.35rem 0;
    border-top: 1px solid rgba(75, 190, 255, 0.12);
    border-bottom: 1px solid rgba(75, 190, 255, 0.12);
    margin-top: -1px;
  }

  body.direction-websites .kp-cost-item__label {
    margin: 0.85rem 0 0.25rem;
    font-size: 0.72rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
    color: var(--kp-muted);
  }

  body.direction-websites .kp-cost-item__label:first-child {
    margin-top: 0;
  }

  body.direction-websites .kp-cost-item__title {
    margin: 0;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  body.direction-websites .kp-cost-item__text {
    margin: 0;
    color: var(--kp-text-soft);
    line-height: 1.5;
  }

  body.direction-websites .kp-cost-item__price {
    margin: 0.15rem 0 0;
    font-size: clamp(22px, 6vw, 26px);
    font-weight: 600;
    color: #fff;
    letter-spacing: -0.02em;
  }

  body.direction-websites .kp-cost-factors__grid {
    grid-template-columns: 1fr;
  }

  body.direction-websites .kp-cost-actions {
    flex-direction: column;
  }

  body.direction-websites .kp-cost-actions .kp-btn {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.direction-websites .kp-hero-slider__viewport {
    scroll-behavior: auto;
  }
}

/* =========================================================
   WAVE NEXT ? /ai-direct/ commercial upgrade
   ========================================================= */

body.direction-ai-direct {
  overflow-x: clip;
}

body.direction-ai-direct .kp-hero__visual {
  min-height: 520px;
}

body.direction-ai-direct .direct-board {
  position: relative;
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  min-height: 520px;
  padding: 1.1rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(165deg, rgba(2, 10, 20, 0.96), rgba(0, 0, 0, 0.9));
  overflow: hidden;
}

body.direction-ai-direct .direct-board__glow {
  position: absolute;
  inset: 8% 10% 12% 8%;
  pointer-events: none;
  background:
    radial-gradient(circle at 40% 30%, rgba(4, 116, 241, 0.12), transparent 58%),
    radial-gradient(circle at 78% 72%, rgba(85, 199, 216, 0.06), transparent 50%);
}

body.direction-ai-direct .direct-board > *:not(.direct-board__glow) {
  position: relative;
  z-index: 1;
  opacity: 0;
  transform: translateY(12px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

body.direction-ai-direct .direct-board.is-revealed > *:not(.direct-board__glow) {
  opacity: 1;
  transform: none;
}

body.direction-ai-direct .direct-board.is-revealed .direct-board__queries { transition-delay: 0.04s; }
body.direction-ai-direct .direct-board.is-revealed .direct-board__ads { transition-delay: 0.12s; }
body.direction-ai-direct .direct-board.is-revealed .direct-board__landings { transition-delay: 0.2s; }
body.direction-ai-direct .direct-board.is-revealed .direct-board__conv { transition-delay: 0.28s; }
body.direction-ai-direct .direct-board.is-revealed .direct-board__ai { transition-delay: 0.36s; }
body.direction-ai-direct .direct-board.is-revealed .direct-board__out { transition-delay: 0.44s; }

body.direction-ai-direct .direct-board__queries {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.85rem;
}

body.direction-ai-direct .direct-board__chip {
  padding: 0.38rem 0.62rem;
  border: 1px solid rgba(75, 190, 255, 0.28);
  background: rgba(4, 116, 241, 0.08);
  color: rgba(220, 232, 245, 0.92);
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: lowercase;
}

body.direction-ai-direct .direct-board__chip--soft {
  border-color: rgba(120, 170, 220, 0.16);
  background: rgba(255, 255, 255, 0.02);
  color: rgba(180, 198, 220, 0.75);
}

body.direction-ai-direct .direct-board__ads {
  display: grid;
  grid-template-columns: 1.15fr 0.85fr;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}

body.direction-ai-direct .direct-board__ads--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.direction-ai-direct .direct-board__ads--three .direct-ad {
  padding: 0.7rem 0.6rem;
}

body.direction-ai-direct .direct-ad {
  padding: 0.8rem 0.85rem;
  border: 1px solid rgba(75, 190, 255, 0.22);
  background: rgba(0, 0, 0, 0.35);
}

body.direction-ai-direct .direct-ad--alt {
  border-color: rgba(120, 170, 220, 0.16);
}

body.direction-ai-direct .direct-ad__src,
body.direction-ai-direct .direct-land__label,
body.direction-ai-direct .direct-board__ai-label,
body.direction-ai-direct .direct-board__out-label {
  margin: 0;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

body.direction-ai-direct .direct-ad__title,
body.direction-ai-direct .direct-land__body,
body.direction-ai-direct .direct-board__out-title {
  margin: 0.35rem 0 0;
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--kp-text);
}

body.direction-ai-direct .direct-ad__meta,
body.direction-ai-direct .direct-board__ai-body {
  margin: 0.35rem 0 0;
  font-size: 0.72rem;
  color: rgba(180, 198, 220, 0.78);
}

body.direction-ai-direct .direct-board__landings {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-bottom: 0.75rem;
}

body.direction-ai-direct .direct-land {
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(255, 255, 255, 0.02);
}

body.direction-ai-direct .direct-land--maps {
  border-color: rgba(85, 199, 216, 0.28);
}

body.direction-ai-direct .direct-board__conv {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.75rem;
}

body.direction-ai-direct .direct-board__conv span {
  padding: 0.45rem 0.7rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: rgba(85, 199, 216, 0.06);
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(220, 232, 245, 0.9);
}

body.direction-ai-direct .direct-board__ai {
  padding: 0.85rem 0.95rem;
  margin-bottom: 0.75rem;
  border: 1px solid rgba(4, 116, 241, 0.35);
  background: linear-gradient(135deg, rgba(4, 116, 241, 0.12), rgba(0, 0, 0, 0.2));
}

body.direction-ai-direct .direct-board__out {
  padding: 0.95rem 1rem;
  border: 1px solid rgba(85, 199, 216, 0.42);
  background: rgba(85, 199, 216, 0.08);
}

body.direction-ai-direct .direct-board__out-title {
  color: #fff;
  font-weight: 600;
  font-size: 1.05rem;
}

/* App product block */
body.direction-ai-direct .direct-app {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(2rem, 4vw, 3.5rem);
  align-items: start;
}

body.direction-ai-direct .direct-app__quote {
  margin: 1.6rem 0 0.75rem;
  padding: 1rem 0 1rem 1.1rem;
  border-left: 2px solid var(--kp-cyan);
}

body.direction-ai-direct .direct-app__quote p {
  margin: 0;
  font-size: clamp(1.15rem, 1.8vw, 1.45rem);
  line-height: 1.35;
  letter-spacing: -0.02em;
  color: var(--kp-text);
}

body.direction-ai-direct .direct-app__quote-note {
  margin: 0;
  max-width: 36rem;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--kp-text-soft);
}

body.direction-ai-direct .direct-app__api {
  margin: 1.25rem 0 0;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

body.direction-ai-direct .direct-app__panel {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

body.direction-ai-direct .direct-app__panel article {
  padding: 1rem 1.05rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.28);
  min-height: 7.5rem;
}

body.direction-ai-direct .direct-app__panel span {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  color: var(--kp-cyan);
}

body.direction-ai-direct .direct-app__panel h3 {
  margin: 0.45rem 0 0.4rem;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.direction-ai-direct .direct-app__panel p {
  margin: 0;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--kp-text-soft);
}

/* Pricing */
body.direction-ai-direct .direct-price-wrap {
  margin-top: 2rem;
}

body.direction-ai-direct .direct-price-table {
  width: 100%;
  border-collapse: collapse;
}

body.direction-ai-direct .direct-price-table th,
body.direction-ai-direct .direct-price-table td {
  padding: 1rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(75, 190, 255, 0.12);
  font-size: 0.98rem;
  line-height: 1.4;
}

body.direction-ai-direct .direct-price-table thead th {
  background: rgba(8, 18, 34, 0.92);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: rgba(210, 224, 240, 0.75);
  font-weight: 500;
}

body.direction-ai-direct .direct-price-table tbody th {
  font-weight: 600;
  letter-spacing: 0.03em;
  text-transform: uppercase;
  font-size: 0.9rem;
  color: var(--kp-text);
}

body.direction-ai-direct .direct-price-table td:nth-child(2) {
  color: #fff;
  font-weight: 600;
  white-space: nowrap;
}

body.direction-ai-direct .direct-price-table td:nth-child(3) {
  color: rgba(180, 198, 220, 0.78);
  white-space: nowrap;
}

body.direction-ai-direct .direct-price-table tbody tr:hover {
  background: rgba(4, 116, 241, 0.025);
}

body.direction-ai-direct .direct-price-stack {
  display: none;
}

body.direction-ai-direct .direct-price-factors {
  margin-top: 2.75rem;
}

body.direction-ai-direct .direct-price-factors h3 {
  margin: 0 0 1rem;
  font-size: 1.15rem;
  letter-spacing: -0.02em;
  text-transform: uppercase;
}

body.direction-ai-direct .direct-price-factors ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem 1.5rem;
}

body.direction-ai-direct .direct-price-factors li {
  padding: 0.55rem 0;
  border-top: 1px solid rgba(75, 190, 255, 0.12);
  font-size: 0.95rem;
  color: var(--kp-text-soft);
}

body.direction-ai-direct .direct-price-factors__n {
  color: var(--kp-cyan);
  font-size: 0.72rem;
  letter-spacing: 0.12em;
}

body.direction-ai-direct .direct-price-factors li small {
  display: block;
  margin-top: 0.3rem;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: none;
  color: var(--kp-muted);
}

body.direction-ai-direct .direct-price-factors__note {
  margin: 1.5rem 0 0;
  max-width: 46rem;
  font-size: 0.95rem;
  line-height: 1.55;
  color: var(--kp-text-soft);
}

/* Expert materials / future topics */
body.direction-ai-direct .direct-future,
body.direction-ai-avito .direct-future {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.5rem;
}

body.direction-ai-direct .direct-future span,
body.direction-ai-avito .direct-future span {
  padding: 0.55rem 0.8rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  background: rgba(0, 0, 0, 0.25);
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(220, 232, 245, 0.88);
  cursor: pointer;
}

body.direction-ai-direct .direct-future__note {
  margin: 1rem 0 0;
  font-size: 0.9rem;
  color: var(--kp-muted);
}

/* Regional sub-block (AI Direct expert materials) */
body.direction-ai-direct .kp-regional {
  margin-top: clamp(2.5rem, 4vw, 3.5rem);
  padding-top: clamp(2.5rem, 4vw, 3.5rem);
  border-top: 1px solid rgba(75, 190, 255, 0.12);
}

body.direction-ai-direct .kp-region-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.5rem;
}

body.direction-ai-direct .kp-region-chips span {
  padding: 0.5rem 0.75rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: rgba(85, 199, 216, 0.05);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(220, 232, 245, 0.85);
  cursor: pointer;
}

/* Metrika path section */
body.direction-ai-direct .kp-metrika__list {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.6rem 1.5rem;
  margin: 0 0 clamp(2rem, 3vw, 2.75rem);
  padding: 0;
  list-style: none;
}

body.direction-ai-direct .kp-metrika__list li {
  padding: 0.6rem 0;
  border-top: 1px solid rgba(75, 190, 255, 0.12);
  font-size: 0.92rem;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

body.direction-ai-direct .kp-metrika__path {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.5rem;
  margin-bottom: clamp(2rem, 3vw, 2.75rem);
  font-size: 0.8rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-text);
}

body.direction-ai-direct .kp-metrika__path-arrow {
  color: var(--kp-cyan);
}

body.direction-ai-direct .kp-metrika__board {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  padding: 1.1rem 1.25rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: rgba(0, 0, 0, 0.35);
}

body.direction-ai-direct .kp-metrika__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  flex: 1 1 auto;
}

body.direction-ai-direct .kp-metrika__chips span {
  padding: 0.4rem 0.65rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  background: rgba(255, 255, 255, 0.02);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(220, 232, 245, 0.85);
}

body.direction-ai-direct .kp-metrika__arrow {
  color: var(--kp-cyan);
  font-size: 1.1rem;
}

body.direction-ai-direct .kp-metrika__cost {
  padding: 0.6rem 0.9rem;
  border: 1px solid rgba(85, 199, 216, 0.42);
  background: rgba(85, 199, 216, 0.08);
  font-size: 0.78rem;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #fff;
  white-space: nowrap;
}

@media (prefers-reduced-motion: reduce) {
  body.direction-ai-direct .direct-board > *:not(.direct-board__glow) {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 1024px) {
  body.direction-ai-direct .direct-app {
    grid-template-columns: 1fr;
  }

  body.direction-ai-direct .kp-hero__visual {
    min-height: 0;
  }

  body.direction-ai-direct .direct-board {
    max-width: none;
    min-height: 0;
    margin: 0;
  }
}

@media (max-width: 767px) {
  body.direction-ai-direct .kp-hero__grid {
    display: grid;
  }

  body.direction-ai-direct .direct-board {
    padding: 0.95rem;
  }

  body.direction-ai-direct .direct-board__ads,
  body.direction-ai-direct .direct-board__ads--three,
  body.direction-ai-direct .direct-board__landings,
  body.direction-ai-direct .direct-app__panel,
  body.direction-ai-direct .direct-price-factors ul,
  body.direction-ai-direct .kp-metrika__list {
    grid-template-columns: 1fr;
  }

  body.direction-ai-direct .kp-metrika__board {
    flex-direction: column;
    align-items: flex-start;
  }

  body.direction-ai-direct .direct-board__chip,
  body.direction-ai-direct .direct-board__conv span,
  body.direction-ai-direct .direct-ad__title,
  body.direction-ai-direct .direct-land__body {
    font-size: 0.8rem;
  }

  body.direction-ai-direct .direct-ad__meta,
  body.direction-ai-direct .direct-board__ai-body {
    font-size: 0.75rem;
  }

  body.direction-ai-direct .direct-price-wrap {
    display: none;
  }

  body.direction-ai-direct .direct-price-stack {
    display: grid;
    gap: 0;
    margin-top: 1.25rem;
  }

  body.direction-ai-direct .direct-price-stack article {
    padding: 1.2rem 0;
    border-top: 1px solid rgba(75, 190, 255, 0.12);
    border-bottom: 1px solid rgba(75, 190, 255, 0.12);
    margin-top: -1px;
  }

  body.direction-ai-direct .direct-price-stack h3 {
    margin: 0 0 0.65rem;
    font-size: 1rem;
    letter-spacing: 0.03em;
    text-transform: uppercase;
  }

  body.direction-ai-direct .direct-price-stack p {
    margin: 0.25rem 0 0;
    font-size: 1rem;
    color: #fff;
  }

  body.direction-ai-direct .direct-price-stack p span {
    display: inline-block;
    min-width: 5.5rem;
    margin-right: 0.5rem;
    color: var(--kp-muted);
    font-size: 0.75rem;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  body.direction-ai-direct .direct-price-stack p:last-child {
    color: rgba(180, 198, 220, 0.85);
  }
}

/* ==========================================================================
   AVITO / AI-AVITO ? commercial polish (hero visuals, anatomy, pricing, IA)
   ========================================================================== */

/* Shared commercial pricing */
.dir-price-wrap {
  margin-top: 2rem;
  overflow-x: auto;
}

.dir-price-table {
  width: 100%;
  min-width: 720px;
  border-collapse: collapse;
}

.dir-price-table th,
.dir-price-table td {
  padding: 1.05rem 1rem;
  text-align: left;
  vertical-align: top;
  border-bottom: 1px solid rgba(75, 190, 255, 0.12);
  font-size: 1rem;
  line-height: 1.45;
}

.dir-price-table thead th {
  background: rgba(8, 18, 34, 0.92);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(210, 224, 240, 0.75);
  font-weight: 500;
}

.dir-price-table tbody th {
  font-weight: 600;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.92rem;
  color: var(--kp-text);
  white-space: nowrap;
}

.dir-price-table td:nth-child(2) {
  color: var(--kp-text-soft);
  font-size: 0.98rem;
}

.dir-price-table td:nth-child(3) {
  color: #fff;
  font-weight: 700;
  font-size: 1.05rem;
  white-space: nowrap;
}

.dir-price-table td:nth-child(4) {
  color: rgba(180, 198, 220, 0.72);
  font-size: 0.95rem;
  white-space: nowrap;
}

.dir-price-table tbody tr:hover {
  background: rgba(4, 116, 241, 0.025);
}

.dir-price-stack {
  display: none;
}

.dir-price-factors {
  margin-top: 2.75rem;
}

.dir-price-factors h3 {
  margin: 0 0 1.15rem;
  font-size: clamp(1.05rem, 1.6vw, 1.2rem);
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.dir-price-factors ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.65rem;
}

.dir-price-factors li {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  min-height: 88px;
  padding: 1rem 0.9rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.28);
  font-size: 0.92rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-text);
  line-height: 1.35;
}

.dir-price-factors li span {
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
}

.dir-future-ia {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.5rem;
}

.dir-future-ia span,
.dir-future-ia a {
  padding: 0.7rem 0.95rem;
  border: 1px dashed rgba(85, 199, 216, 0.28);
  background: rgba(0, 0, 0, 0.22);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(220, 232, 245, 0.88);
  text-decoration: none;
}

.dir-future-ia a:hover,
.dir-future-ia a:focus-visible {
  border-color: rgba(85, 199, 216, 0.55);
  color: #fff;
}

/* --- AVITO: marketplace management hero --- */
.avito-manage {
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  padding: 1.15rem 1.1rem 1.25rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.96), rgba(0, 0, 0, 0.9));
}

.avito-manage__search,
.avito-manage__body,
.avito-manage__flow,
.avito-manage__card,
.avito-manage__metrics span {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.avito-manage.is-revealed .avito-manage__search,
.avito-manage.is-revealed .avito-manage__body,
.avito-manage.is-revealed .avito-manage__flow,
.avito-manage.is-revealed .avito-manage__card,
.avito-manage.is-revealed .avito-manage__metrics span {
  opacity: 1;
  transform: none;
}

.avito-manage.is-revealed .avito-manage__search { transition-delay: 0.05s; }
.avito-manage.is-revealed .avito-manage__body { transition-delay: 0.14s; }
.avito-manage.is-revealed .avito-manage__card:nth-child(1) { transition-delay: 0.2s; }
.avito-manage.is-revealed .avito-manage__card:nth-child(2) { transition-delay: 0.28s; }
.avito-manage.is-revealed .avito-manage__card:nth-child(3) { transition-delay: 0.36s; }
.avito-manage.is-revealed .avito-manage__metrics span:nth-child(1) { transition-delay: 0.42s; }
.avito-manage.is-revealed .avito-manage__metrics span:nth-child(2) { transition-delay: 0.48s; }
.avito-manage.is-revealed .avito-manage__metrics span:nth-child(3) { transition-delay: 0.54s; }
.avito-manage.is-revealed .avito-manage__metrics span:nth-child(4) { transition-delay: 0.6s; }
.avito-manage.is-revealed .avito-manage__flow { transition-delay: 0.68s; }

.avito-manage__search {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 46px;
  padding: 0.65rem 0.9rem;
  border: 1px solid rgba(85, 199, 216, 0.28);
  background: rgba(0, 0, 0, 0.45);
  margin-bottom: 0.95rem;
}

.avito-manage__search-ico {
  width: 0.7rem;
  height: 0.7rem;
  border: 1.5px solid rgba(85, 199, 216, 0.75);
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
}

.avito-manage__search-ico::after {
  content: "";
  position: absolute;
  width: 0.45rem;
  height: 1.5px;
  background: rgba(85, 199, 216, 0.75);
  right: -0.35rem;
  bottom: -0.15rem;
  transform: rotate(40deg);
}

.avito-manage__query {
  font-size: 0.95rem;
  color: var(--kp-text);
  letter-spacing: 0.02em;
}

.avito-manage__body {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(0, 0.9fr);
  gap: 0.75rem;
  align-items: stretch;
}

.avito-manage__cards {
  display: grid;
  gap: 0.55rem;
}

.avito-manage__card {
  display: grid;
  grid-template-columns: auto 52px minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 0.65rem;
  row-gap: 0.15rem;
  padding: 0.7rem 0.75rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 8, 16, 0.72);
}

.avito-manage__n {
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  color: var(--kp-cyan);
}

.avito-manage__thumb {
  grid-row: 1 / span 2;
  width: 52px;
  height: 52px;
  border: 1px solid rgba(120, 170, 220, 0.18);
  background:
    linear-gradient(135deg, rgba(4, 116, 241, 0.18), rgba(0, 0, 0, 0.2)),
    rgba(8, 18, 34, 0.9);
}

.avito-manage__title {
  margin: 0;
  grid-column: 3;
  font-size: 0.82rem;
  line-height: 1.3;
  color: var(--kp-text);
}

.avito-manage__price,
.avito-manage__pos {
  margin: 0;
  grid-column: 3;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.avito-manage__price {
  color: rgba(220, 232, 245, 0.88);
}

.avito-manage__metrics {
  display: grid;
  gap: 0.45rem;
  align-content: start;
}

.avito-manage__metrics span {
  display: flex;
  align-items: center;
  min-height: 42px;
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.35);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
  line-height: 1.25;
}

.avito-manage__flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem 0.55rem;
  margin-top: 0.95rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(120, 170, 220, 0.14);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.avito-manage__flow span:nth-child(even) {
  color: rgba(85, 199, 216, 0.5);
}

/* Research strip */
.avito-research {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 0 0 2rem;
}

.avito-research__item {
  padding: 1.2rem 1.1rem 1.3rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.28);
}

.avito-research__n {
  display: block;
  margin-bottom: 0.7rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
}

.avito-research__item h3 {
  margin: 0 0 0.55rem;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.avito-research__item p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.5;
  color: var(--kp-text-soft);
}

/* Ad anatomy */
.avito-anatomy {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 1.5rem 2rem;
  align-items: start;
}

.avito-anatomy__card {
  padding: 1.15rem;
  border: 1px solid rgba(85, 199, 216, 0.24);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.96), rgba(0, 0, 0, 0.9));
}

.avito-anatomy__photo {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 180px;
  margin-bottom: 1rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  background:
    linear-gradient(160deg, rgba(4, 116, 241, 0.16), rgba(0, 0, 0, 0.35)),
    rgba(8, 18, 34, 0.95);
  letter-spacing: 0.14em;
  text-transform: uppercase;
  font-size: 0.82rem;
  color: rgba(220, 232, 245, 0.78);
}

.avito-anatomy__title {
  margin: 0 0 0.45rem;
  font-size: 1.15rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.avito-anatomy__price {
  margin: 0 0 1rem;
  font-size: 1.05rem;
  font-weight: 600;
  color: var(--kp-cyan);
  letter-spacing: 0.08em;
}

.avito-anatomy__block {
  margin: 0 0 0.55rem;
  padding: 0.7rem 0.8rem;
  border: 1px solid rgba(120, 170, 220, 0.12);
  background: rgba(0, 0, 0, 0.28);
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

.avito-anatomy__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  margin-top: 1rem;
  border: 1px solid rgba(85, 199, 216, 0.45);
  background: rgba(4, 116, 241, 0.08);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  font-size: 0.82rem;
  color: var(--kp-cyan);
  font-weight: 600;
}

.avito-anatomy__callouts {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.7rem;
}

.avito-anatomy__callouts li {
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  gap: 0.75rem;
  padding: 0.85rem 0;
  border-top: 1px solid rgba(120, 170, 220, 0.14);
}

.avito-anatomy__callouts li:last-child {
  border-bottom: 1px solid rgba(120, 170, 220, 0.14);
}

.avito-anatomy__n {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--kp-cyan);
  padding-top: 0.15rem;
}

.avito-anatomy__callouts h3 {
  margin: 0 0 0.3rem;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.avito-anatomy__callouts p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--kp-text-soft);
}

body.direction-avito .kp-hero__body,
body.direction-avito .kp-lede,
body.direction-avito .dir-split__list,
body.direction-avito .avito-research__item p,
body.direction-avito .avito-anatomy__callouts p {
  font-size: 1.125rem;
}

body.direction-avito #avito-pricing .kp-actions {
  margin-top: 2rem;
}

/* --- AI AVITO: dialogue engine hero --- */
.ai-chat-engine {
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  padding: 1.1rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.96), rgba(0, 0, 0, 0.9));
}

.ai-chat-engine__banner,
.ai-chat-engine__msg,
.ai-chat-engine__flow,
.ai-chat-engine__status {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.ai-chat-engine.is-revealed .ai-chat-engine__banner,
.ai-chat-engine.is-revealed .ai-chat-engine__msg,
.ai-chat-engine.is-revealed .ai-chat-engine__flow,
.ai-chat-engine.is-revealed .ai-chat-engine__status {
  opacity: 1;
  transform: none;
}

.ai-chat-engine.is-revealed .ai-chat-engine__banner { transition-delay: 0.05s; }
.ai-chat-engine.is-revealed .ai-chat-engine__msg[data-chat-step="1"] { transition-delay: 0.18s; }
.ai-chat-engine.is-revealed .ai-chat-engine__msg[data-chat-step="2"] { transition-delay: 0.34s; }
.ai-chat-engine.is-revealed .ai-chat-engine__msg[data-chat-step="3"] { transition-delay: 0.5s; }
.ai-chat-engine.is-revealed .ai-chat-engine__msg[data-chat-step="4"] { transition-delay: 0.66s; }
.ai-chat-engine.is-revealed .ai-chat-engine__msg[data-chat-step="5"] { transition-delay: 0.82s; }
.ai-chat-engine.is-revealed .ai-chat-engine__msg[data-chat-step="6"] { transition-delay: 0.98s; }
.ai-chat-engine.is-revealed .ai-chat-engine__flow { transition-delay: 1.14s; }
.ai-chat-engine.is-revealed .ai-chat-engine__status { transition-delay: 1.26s; }

.ai-chat-engine__banner {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  margin-bottom: 0.85rem;
  padding: 0.65rem 0.8rem;
  border: 1px solid rgba(85, 199, 216, 0.35);
  background: rgba(4, 116, 241, 0.08);
  text-align: center;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 0.72rem;
  color: var(--kp-cyan);
  font-weight: 600;
}

.ai-chat-engine__panel {
  display: grid;
  gap: 0.65rem;
  padding: 0.9rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.4);
}

.ai-chat-engine__msg {
  max-width: 92%;
  padding: 0.75rem 0.85rem;
  border: 1px solid rgba(120, 170, 220, 0.14);
  background: rgba(8, 18, 34, 0.75);
}

.ai-chat-engine__msg--client {
  justify-self: start;
}

.ai-chat-engine__msg--ai {
  justify-self: end;
  border-color: rgba(85, 199, 216, 0.28);
  background: rgba(0, 16, 30, 0.7);
}

.ai-chat-engine__who {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.ai-chat-engine__msg--ai .ai-chat-engine__who {
  color: var(--kp-cyan);
}

.ai-chat-engine__msg p {
  margin: 0;
  font-size: 16px;
  line-height: 1.45;
  color: var(--kp-text);
}

.ai-chat-engine__flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.5rem;
  margin-top: 0.9rem;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.ai-chat-engine__flow span:nth-child(even) {
  color: rgba(85, 199, 216, 0.5);
}

.ai-chat-engine__status {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-top: 0.85rem;
}

.ai-chat-engine__status span {
  padding: 0.4rem 0.55rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.3);
  font-size: 0.66rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

body.direction-ai-avito .kp-hero__body,
body.direction-ai-avito .kp-lede {
  font-size: 1.125rem;
}

body.direction-ai-avito #ai-avito-pricing .kp-actions {
  margin-top: 2rem;
}

@media (prefers-reduced-motion: reduce) {
  .avito-manage__search,
  .avito-manage__body,
  .avito-manage__flow,
  .avito-manage__card,
  .avito-manage__metrics span,
  .ai-chat-engine__banner,
  .ai-chat-engine__msg,
  .ai-chat-engine__flow,
  .ai-chat-engine__status {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 1200px) {
  .dir-price-factors ul {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 1024px) {
  .avito-manage,
  .ai-chat-engine {
    margin: 1.5rem auto 0;
    max-width: 100%;
  }

  .avito-anatomy {
    grid-template-columns: 1fr;
  }

  .avito-research {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .dir-price-wrap {
    display: none;
  }

  .dir-price-stack {
    display: grid;
    gap: 0;
    margin-top: 1.25rem;
  }

  .dir-price-stack article {
    padding: 1.25rem 0;
    border-top: 1px solid rgba(75, 190, 255, 0.12);
    border-bottom: 1px solid rgba(75, 190, 255, 0.12);
    margin-top: -1px;
  }

  .dir-price-stack h3 {
    margin: 0 0 0.45rem;
    font-size: 1.05rem;
    letter-spacing: 0.04em;
    text-transform: uppercase;
  }

  .dir-price-stack__fit {
    margin: 0 0 0.85rem;
    font-size: 1rem;
    line-height: 1.4;
    color: var(--kp-text-soft);
  }

  .dir-price-stack p {
    margin: 0.3rem 0 0;
    font-size: 1.05rem;
    color: #fff;
    font-weight: 600;
  }

  .dir-price-stack p span {
    display: block;
    margin-bottom: 0.15rem;
    color: var(--kp-muted);
    font-size: 0.72rem;
    font-weight: 500;
    letter-spacing: 0.1em;
    text-transform: uppercase;
  }

  .dir-price-stack p:last-child {
    color: rgba(180, 198, 220, 0.85);
    font-weight: 500;
  }

  .dir-price-factors ul {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 767px) {
  body.direction-avito .kp-hero__body,
  body.direction-avito .kp-lede,
  body.direction-avito .dir-split__list,
  body.direction-avito .avito-research__item p,
  body.direction-avito .avito-anatomy__callouts p,
  body.direction-ai-avito .kp-hero__body,
  body.direction-ai-avito .kp-lede,
  .ai-chat-engine__msg p {
    font-size: 1rem;
  }

  .avito-manage__body {
    grid-template-columns: 1fr;
  }

  .avito-manage__metrics {
    grid-template-columns: 1fr 1fr;
  }

  .avito-manage__card {
    grid-template-columns: auto 48px minmax(0, 1fr);
  }

  .avito-manage__title {
    font-size: 0.9rem;
  }

  .avito-anatomy__photo {
    min-height: 150px;
  }

  .ai-chat-engine__msg {
    max-width: 100%;
  }

  .ai-chat-engine__msg p {
    font-size: 1rem;
  }

  .dir-price-factors ul {
    grid-template-columns: 1fr;
  }

  .dir-price-factors li {
    min-height: 0;
  }

  .dir-future-ia span {
    width: 100%;
    text-align: center;
  }
}

@media (max-width: 430px) {
  .avito-manage,
  .ai-chat-engine {
    padding: 0.95rem;
  }

  .avito-manage__metrics {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   SEO / GEO commercial rebuild
   ========================================================================== */

body.direction-seo .kp-hero__body,
body.direction-seo .kp-lede,
body.direction-geo .kp-hero__body,
body.direction-geo .kp-lede {
  font-size: 1.125rem;
}

.seo-star {
  color: var(--kp-cyan);
  font-size: 0.7em;
  vertical-align: super;
  margin-left: 0.1em;
}

.seo-footnote {
  margin: 1rem 0 0;
  max-width: 40rem;
  font-size: 0.95rem;
  color: var(--kp-muted);
}

.seo-footnote span {
  color: var(--kp-cyan);
}

.seo-serp {
  width: 100%;
  max-width: 560px;
  margin-left: auto;
  padding: 1.15rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.96), rgba(0, 0, 0, 0.9));
}

.seo-serp__search,
.seo-serp__hit,
.seo-serp__side {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.seo-serp.is-revealed .seo-serp__search,
.seo-serp.is-revealed .seo-serp__hit,
.seo-serp.is-revealed .seo-serp__side {
  opacity: 1;
  transform: none;
}

.seo-serp.is-revealed .seo-serp__search { transition-delay: 0.05s; }
.seo-serp.is-revealed .seo-serp__hit:nth-child(1) { transition-delay: 0.18s; }
.seo-serp.is-revealed .seo-serp__hit:nth-child(2) { transition-delay: 0.28s; }
.seo-serp.is-revealed .seo-serp__hit:nth-child(3) { transition-delay: 0.38s; }
.seo-serp.is-revealed .seo-serp__side { transition-delay: 0.5s; }

.seo-serp__search {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 46px;
  margin-bottom: 0.9rem;
  padding: 0.7rem 0.9rem;
  border: 1px solid rgba(85, 199, 216, 0.28);
  background: rgba(0, 0, 0, 0.45);
  font-size: 1rem;
  color: var(--kp-text);
}

.seo-serp__ico {
  width: 0.7rem;
  height: 0.7rem;
  border: 1.5px solid rgba(85, 199, 216, 0.75);
  border-radius: 50%;
  position: relative;
  flex-shrink: 0;
}

.seo-serp__ico::after {
  content: "";
  position: absolute;
  width: 0.45rem;
  height: 1.5px;
  right: -0.35rem;
  bottom: -0.15rem;
  background: rgba(85, 199, 216, 0.75);
  transform: rotate(40deg);
}

.seo-serp__results {
  display: grid;
  gap: 0.55rem;
  margin-bottom: 0.9rem;
}

.seo-serp__hit {
  display: grid;
  grid-template-columns: 2rem minmax(0, 1fr);
  gap: 0.65rem;
  padding: 0.8rem 0.85rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 8, 16, 0.7);
}

.seo-serp__hit.is-own {
  border-color: rgba(85, 199, 216, 0.45);
  box-shadow: 0 0 0 1px rgba(85, 199, 216, 0.08);
}

.seo-serp__n {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--kp-cyan);
}

.seo-serp__title {
  margin: 0 0 0.25rem;
  font-size: 1rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--kp-text);
}

.seo-serp__hit.is-own .seo-serp__title {
  color: var(--kp-cyan);
}

.seo-serp__desc,
.seo-serp__url {
  margin: 0;
  font-size: 0.9rem;
  color: var(--kp-text-soft);
}

.seo-serp__side {
  display: grid;
  gap: 0.7rem;
}

.seo-serp__core {
  padding: 0.85rem;
  border: 1px dashed rgba(85, 199, 216, 0.28);
  background: rgba(0, 0, 0, 0.28);
}

.seo-serp__core p {
  margin: 0 0 0.55rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.seo-serp__core span {
  display: inline-block;
  margin: 0 0.35rem 0.35rem 0;
  padding: 0.35rem 0.55rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  font-size: 0.78rem;
  color: var(--kp-text-soft);
}

.seo-serp__kpis {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
}

.seo-serp__kpis span {
  padding: 0.45rem 0.6rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

.seo-modules .dir-pillar p {
  margin: 0.55rem 0 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--kp-text-soft);
}

.seo-metrics {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

/* GEO */
body.direction-geo {
  --kp-page-accent: #55c7d8;
}

body.direction-geo .kp-section--ambient {
  position: relative;
}

body.direction-geo .kp-finale {
  background: #020913;
  position: relative;
}

body.direction-geo .kp-finale::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 40%, rgba(4, 116, 241, 0.05), rgba(0, 0, 0, 0) 65%);
}

body.direction-geo .kp-finale > .kp-shell {
  position: relative;
  z-index: 1;
}

.geo-ai-dialog {
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  padding: 1.15rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.96), rgba(0, 0, 0, 0.9));
}

.geo-ai-dialog__q,
.geo-ai-dialog__a,
.geo-ai-dialog__flow {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.geo-ai-dialog.is-revealed .geo-ai-dialog__q,
.geo-ai-dialog.is-revealed .geo-ai-dialog__a,
.geo-ai-dialog.is-revealed .geo-ai-dialog__flow {
  opacity: 1;
  transform: none;
}

.geo-ai-dialog.is-revealed .geo-ai-dialog__q { transition-delay: 0.08s; }
.geo-ai-dialog.is-revealed .geo-ai-dialog__a { transition-delay: 0.28s; }
.geo-ai-dialog.is-revealed .geo-ai-dialog__flow { transition-delay: 0.5s; }

.geo-ai-dialog__q,
.geo-ai-dialog__a {
  padding: 0.95rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.35);
  margin-bottom: 0.7rem;
}

.geo-ai-dialog__q span,
.geo-ai-dialog__a > span {
  display: block;
  margin-bottom: 0.45rem;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.geo-ai-dialog__q p,
.geo-ai-dialog__a > p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--kp-text);
}

.geo-ai-dialog__card {
  margin-top: 0.85rem;
  padding: 0.85rem;
  border: 1px solid rgba(85, 199, 216, 0.4);
  background: rgba(0, 16, 30, 0.6);
}

.geo-ai-dialog__brand {
  margin: 0 0 0.55rem;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  font-weight: 600;
}

.geo-ai-dialog__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.geo-ai-dialog__tags span {
  padding: 0.3rem 0.5rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

.geo-ai-dialog__flow {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem 0.45rem;
  align-items: center;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.geo-audit,
.geo-niches {
  display: grid;
  gap: 0.55rem;
}

.geo-audit {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.geo-audit span,
.geo-niches article {
  display: flex;
  align-items: center;
  min-height: 72px;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.28);
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text);
}

.geo-knowledge-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.geo-knowledge-grid span {
  display: flex;
  align-items: center;
  min-height: 72px;
  justify-content: center;
  text-align: center;
}

.geo-niches {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.geo-niches h3 {
  margin: 0;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.geo-compare {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
}

.geo-compare__col {
  padding: 1.2rem;
  border: 1px solid rgba(85, 199, 216, 0.28);
  background: rgba(0, 0, 0, 0.3);
}

.geo-compare__col--soft {
  border-color: rgba(120, 170, 220, 0.16);
}

.geo-compare__col h3 {
  margin: 0 0 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.geo-compare__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}

.geo-compare__col li {
  font-size: 1rem;
  color: var(--kp-text-soft);
}

.geo-compare__vs {
  align-self: center;
  font-size: 0.85rem;
  letter-spacing: 0.14em;
  color: var(--kp-cyan);
}

.geo-dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.geo-dual__col {
  padding: 1.35rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.3);
}

.geo-dual__col--accent {
  border-color: rgba(85, 199, 216, 0.35);
}

.geo-dual__col h3 {
  margin: 0 0 1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.geo-dual__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.5rem;
}

.geo-dual__col li {
  font-size: 1.05rem;
  color: var(--kp-text);
}

.geo-dual__result {
  margin: 1.25rem 0 0;
  font-size: 0.95rem;
  color: var(--kp-text-soft);
}

.geo-dual__sum {
  margin: 1.5rem 0 0;
  font-size: 1.05rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

@media (prefers-reduced-motion: reduce) {
  .seo-serp__search,
  .seo-serp__hit,
  .seo-serp__side,
  .geo-ai-dialog__q,
  .geo-ai-dialog__a,
  .geo-ai-dialog__flow {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 1024px) {
  .seo-serp,
  .geo-ai-dialog {
    margin: 1.5rem auto 0;
    max-width: 100%;
  }

  .seo-metrics,
  .geo-audit,
  .geo-niches,
  .geo-knowledge-grid,
  .geo-dual,
  .geo-compare {
    grid-template-columns: 1fr;
  }

  .geo-compare__vs {
    justify-self: center;
  }
}

@media (max-width: 767px) {
  body.direction-seo .kp-hero__body,
  body.direction-seo .kp-lede,
  body.direction-geo .kp-hero__body,
  body.direction-geo .kp-lede,
  .seo-serp__search,
  .seo-serp__title,
  .geo-ai-dialog__q p,
  .geo-ai-dialog__a > p {
    font-size: 1rem;
  }

  .seo-serp__side {
    grid-template-columns: 1fr;
  }

  .geo-niches {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 430px) {
  .geo-niches {
    grid-template-columns: 1fr;
  }
}
/* === SEO+GEO WAVE 2 === */

/* SEO modules: force 3Г—2 / 2Г—3 / 1Г—6 вЂ” no empty cells */
.seo-modules.dir-pillars {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.seo-modules .dir-pillar {
  min-height: 10.5rem;
}

@media (max-width: 1199px) {
  .seo-modules.dir-pillars {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .seo-modules.dir-pillars {
    grid-template-columns: 1fr;
  }
}

/* SEO guarantee result strip + scale */
.seo-result-strip {
  margin-top: 2rem;
  padding: 1.5rem 1.4rem 1.6rem;
  border: 1px solid rgba(85, 199, 216, 0.28);
  background: linear-gradient(180deg, rgba(2, 16, 28, 0.92), rgba(0, 0, 0, 0.88));
}

.seo-result-strip__label {
  margin: 0 0 0.65rem;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.seo-result-strip__intro {
  margin: 0 0 1.25rem;
  max-width: 42rem;
  font-size: 1.125rem;
  line-height: 1.5;
  color: var(--kp-text);
}

.seo-result-strip__grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.75rem;
}

.seo-result-strip__grid article {
  padding: 1rem 0.95rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.35);
  min-height: 9.5rem;
}

.seo-result-strip__grid span {
  display: block;
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
}

.seo-result-strip__grid h3 {
  margin: 0 0 0.55rem;
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.seo-result-strip__grid p {
  margin: 0;
  font-size: 0.95rem;
  line-height: 1.45;
  color: var(--kp-text-soft);
}

.seo-guarantee-scale {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1.2fr);
  gap: 1rem;
  align-items: stretch;
  margin: 1.5rem 0 1.25rem;
}

.seo-guarantee-scale__before,
.seo-guarantee-scale__after {
  padding: 1.15rem 1.2rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.35);
}

.seo-guarantee-scale__after {
  border-color: rgba(85, 199, 216, 0.35);
}

.seo-guarantee-scale__k {
  margin: 0 0 0.45rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  color: var(--kp-cyan);
}

.seo-guarantee-scale__title {
  margin: 0 0 0.35rem;
  font-size: 1.05rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.seo-guarantee-scale__note {
  margin: 0;
  font-size: 0.92rem;
  color: var(--kp-muted);
}

.seo-guarantee-scale__arrow {
  align-self: center;
  color: var(--kp-cyan);
  font-size: 1.4rem;
}

.seo-guarantee-scale__after ul {
  list-style: none;
  margin: 0.55rem 0 0;
  padding: 0;
  display: grid;
  gap: 0.4rem;
}

.seo-guarantee-scale__after li {
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-text);
}

@media (max-width: 1024px) {
  .seo-result-strip__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .seo-guarantee-scale {
    grid-template-columns: 1fr;
  }

  .seo-guarantee-scale__arrow {
    justify-self: center;
    transform: rotate(90deg);
  }
}

@media (max-width: 767px) {
  .seo-result-strip__grid {
    grid-template-columns: 1fr;
  }
}

/* GEO depth + typography */
body.direction-geo {
  --kp-page-accent: #55c7d8;
  background: #02070d;
}

body.direction-geo .kp-section {
  background: #02070d;
}

body.direction-geo .kp-section--ambient,
body.direction-geo .geo-ads,
body.direction-geo .geo-competitors,
body.direction-geo .geo-work,
body.direction-geo #geo-pricing {
  background: #00101e;
}

body.direction-geo .geo-fast,
body.direction-geo .geo-aifile,
body.direction-geo .geo-alice,
body.direction-geo .geo-high-ticket,
body.direction-geo .geo-vs-seo {
  background: #021321;
}

body.direction-geo .kp-section--ambient::before,
body.direction-geo .geo-fast::before,
body.direction-geo .geo-ads::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 70% 20%, rgba(85, 199, 216, 0.08), transparent 55%);
}

body.direction-geo .kp-section {
  position: relative;
}

body.direction-geo .kp-section > .kp-shell {
  position: relative;
  z-index: 1;
}

body.direction-geo .kp-h2 {
  font-size: clamp(2.75rem, 4.2vw, 4rem);
  line-height: 0.98;
}

body.direction-geo .geo-hero h1 {
  margin: 0 0 1rem;
  font-size: clamp(3.75rem, 5.2vw, 5.375rem);
  line-height: 0.94;
  letter-spacing: -0.02em;
  max-width: 11ch;
}

body.direction-geo .geo-lede-lg,
body.direction-geo .geo-ads__body {
  font-size: clamp(1.2rem, 1.35vw, 1.375rem);
  line-height: 1.5;
  color: var(--kp-text);
}

body.direction-geo .kp-lede,
body.direction-geo .kp-hero__body {
  font-size: clamp(1.125rem, 1.2vw, 1.25rem);
  line-height: 1.55;
}

body.direction-geo .kp-finale {
  background: #020913;
}

body.direction-geo .kp-finale::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(circle at 50% 40%, rgba(4, 116, 241, 0.06), transparent 65%);
}

body.direction-geo .kp-finale > .kp-shell {
  position: relative;
  z-index: 1;
}

/* GEO hero layout */
.geo-hero {
  overflow: hidden;
}

.geo-hero::after {
  content: "";
  position: absolute;
  right: -8%;
  top: 8%;
  width: min(52vw, 640px);
  height: min(70vh, 620px);
  pointer-events: none;
  background: radial-gradient(circle, rgba(4, 116, 241, 0.1), transparent 68%);
}

.geo-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  grid-template-areas:
    "intro visual"
    "foot visual";
  align-items: center;
  gap: clamp(1.25rem, 2.5vw, 2.5rem) clamp(1.5rem, 3vw, 3rem);
}

.geo-hero__intro {
  grid-area: intro;
}

.geo-hero__visual {
  grid-area: visual;
  width: min(100%, 620px);
  margin-left: auto;
  align-self: stretch;
}

.geo-hero__foot {
  grid-area: foot;
  align-self: start;
}

.geo-hero__offer {
  margin: 0 0 1.1rem;
  font-size: clamp(1.2rem, 1.5vw, 1.45rem);
  line-height: 1.35;
  color: var(--kp-cyan);
  letter-spacing: 0.01em;
}

.geo-workspace {
  width: 100%;
  min-height: 520px;
  padding: 1.15rem 1.2rem 1.25rem;
  border: 1px solid rgba(85, 199, 216, 0.32);
  background:
    linear-gradient(180deg, rgba(2, 14, 26, 0.98), rgba(0, 0, 0, 0.94));
  box-shadow: 0 0 0 1px rgba(85, 199, 216, 0.06), 0 24px 60px rgba(0, 0, 0, 0.45);
}

.geo-workspace__models {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.9rem;
}

.geo-workspace__models span {
  padding: 0.4rem 0.65rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.geo-workspace__models span.is-active {
  border-color: rgba(85, 199, 216, 0.55);
  color: var(--kp-cyan);
  background: rgba(85, 199, 216, 0.08);
}

.geo-workspace [data-geo-step] {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.28s ease, transform 0.28s ease;
  pointer-events: none;
}

.geo-workspace.is-done [data-geo-step],
.geo-workspace.is-on-q [data-geo-step="q"],
.geo-workspace.is-on-scan [data-geo-step="scan"],
.geo-workspace.is-on-a [data-geo-step="a"],
.geo-workspace.is-on-own [data-geo-step="own"],
.geo-workspace.is-on-muted [data-geo-step="muted"],
.geo-workspace.is-on-why [data-geo-step="why"] {
  opacity: 1;
  transform: none;
  pointer-events: auto;
}

.geo-workspace.is-done [data-geo-step="scan"],
.geo-workspace.is-on-a [data-geo-step="scan"],
.geo-workspace.is-on-own [data-geo-step="scan"],
.geo-workspace.is-on-muted [data-geo-step="scan"],
.geo-workspace.is-on-why [data-geo-step="scan"] {
  display: none;
}

.geo-workspace__q,
.geo-workspace__a {
  padding: 0.95rem 1rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.38);
  margin-bottom: 0.7rem;
}

.geo-workspace__q span,
.geo-workspace__a > span {
  display: block;
  margin-bottom: 0.4rem;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.geo-workspace__q p,
.geo-workspace__a > p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.4;
  color: var(--kp-text);
}

.geo-workspace__scan {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.7rem;
  padding: 0.55rem 0.75rem;
  border: 1px dashed rgba(85, 199, 216, 0.28);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.geo-workspace__scan-dot {
  width: 0.45rem;
  height: 0.45rem;
  border-radius: 50%;
  background: var(--kp-cyan);
  animation: geo-scan-pulse 0.7s ease-in-out infinite;
}

@keyframes geo-scan-pulse {
  0%, 100% { opacity: 0.35; transform: scale(0.85); }
  50% { opacity: 1; transform: scale(1); }
}

.geo-workspace.is-done .geo-workspace__scan-dot,
.geo-workspace.is-on-a .geo-workspace__scan-dot {
  animation: none;
}

.geo-workspace__own {
  margin-top: 0.85rem;
  padding: 0.9rem;
  border: 1px solid rgba(85, 199, 216, 0.5);
  background: rgba(0, 20, 36, 0.7);
  box-shadow: 0 0 0 1px rgba(85, 199, 216, 0.08);
}

.geo-workspace__own-head {
  display: flex;
  align-items: baseline;
  gap: 0.65rem;
  margin-bottom: 0.65rem;
}

.geo-workspace__n {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--kp-cyan);
}

.geo-workspace__own h3 {
  margin: 0;
  font-size: 1.05rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.geo-workspace__checks {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.35rem 0.6rem;
}

.geo-workspace__checks li {
  display: flex;
  justify-content: space-between;
  gap: 0.4rem;
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

.geo-workspace__checks span {
  color: var(--kp-cyan);
}

.geo-workspace__muted {
  margin-top: 0.65rem;
  display: grid;
  gap: 0.35rem;
}

.geo-workspace__muted p {
  margin: 0;
  padding: 0.55rem 0.7rem;
  border: 1px solid rgba(120, 170, 220, 0.12);
  background: rgba(0, 0, 0, 0.28);
  font-size: 0.88rem;
  color: var(--kp-muted);
}

.geo-workspace__muted span {
  margin-right: 0.45rem;
  color: rgba(120, 170, 220, 0.55);
}

.geo-workspace__why {
  margin-top: 0.75rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: rgba(0, 12, 22, 0.55);
}

.geo-workspace__why > p {
  margin: 0 0 0.55rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.geo-workspace__why > div {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.geo-workspace__why span {
  padding: 0.35rem 0.55rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
}

/* 7-day offer */
.geo-fast {
  border-top: 1px solid rgba(85, 199, 216, 0.18);
  border-bottom: 1px solid rgba(85, 199, 216, 0.18);
}

.geo-fast__shell {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(1.5rem, 4vw, 3.5rem);
  align-items: start;
}

.geo-fast__days {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.45rem;
}

.geo-fast__days li {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: center;
  min-height: 3.1rem;
  padding: 0.7rem 0.85rem;
  border: 1px solid rgba(85, 199, 216, 0.2);
  background: rgba(0, 0, 0, 0.28);
}

.geo-fast__days span {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--kp-cyan);
}

.geo-fast__days strong {
  font-size: 0.95rem;
  letter-spacing: 0.06em;
  font-weight: 600;
}

/* AI advertising — asymmetric urgency (5/7) */
.geo-ads {
  padding-top: clamp(7.5rem, 10vw, 8.75rem);
  padding-bottom: clamp(7.5rem, 10vw, 8.75rem);
}

.geo-ads__layout {
  display: grid;
  grid-template-columns: minmax(0, 0.42fr) minmax(0, 0.58fr);
  gap: clamp(1.75rem, 3.5vw, 3.25rem);
  align-items: center;
}

.geo-ads__copy {
  min-width: 0;
}

.geo-ads__body {
  max-width: 28rem;
  margin: 0 0 1rem;
  font-size: clamp(1.05rem, 1.15vw, 1.25rem);
  line-height: 1.55;
  color: var(--kp-text-soft);
}

.geo-ads__accent {
  margin: 1.65rem 0 1.75rem;
  font-size: clamp(1.2rem, 1.8vw, 1.55rem);
  line-height: 1.28;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.geo-ads__cta-mobile {
  display: none;
  margin-top: 1.5rem;
}

.geo-ads__window {
  min-width: 0;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background:
    radial-gradient(ellipse 70% 55% at 70% 15%, rgba(0, 180, 255, 0.07), transparent 60%),
    linear-gradient(180deg, rgba(2, 19, 33, 0.96), rgba(0, 0, 0, 0.88));
  box-shadow: 0 0 48px rgba(0, 160, 255, 0.06);
  overflow: hidden;
}

.geo-ads__window-head {
  padding: 0.95rem 1.15rem;
  border-bottom: 1px solid rgba(85, 199, 216, 0.14);
}

.geo-ads__window-label {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(160, 210, 235, 0.72);
}

.geo-ads__market {
  list-style: none;
  margin: 0;
  padding: 1.15rem 1.15rem 0.85rem;
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
}

.geo-ads__market > li:not(.geo-ads__market-arrow) {
  display: grid;
  grid-template-columns: 2.2rem minmax(0, 1fr);
  gap: 0.75rem;
  align-items: start;
  padding: 0.55rem 0.65rem;
  border: 1px solid transparent;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.45s ease, transform 0.45s ease, border-color 0.35s ease, background 0.35s ease;
}

.geo-ads__window.is-revealed .geo-ads__market > li:not(.geo-ads__market-arrow) {
  opacity: 1;
  transform: none;
}

.geo-ads__window.is-revealed .geo-ads__market > li:nth-child(1) { transition-delay: 0.05s; }
.geo-ads__window.is-revealed .geo-ads__market > li:nth-child(3) { transition-delay: 0.14s; }
.geo-ads__window.is-revealed .geo-ads__market > li:nth-child(5) { transition-delay: 0.23s; }
.geo-ads__window.is-revealed .geo-ads__market > li:nth-child(7) { transition-delay: 0.32s; }
.geo-ads__window.is-revealed .geo-ads__market > li:nth-child(9) {
  transition-delay: 0.42s;
  border-color: rgba(85, 199, 216, 0.28);
  background: rgba(0, 140, 220, 0.08);
}

.geo-ads__market-n {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: var(--kp-cyan);
  padding-top: 0.2rem;
}

.geo-ads__market strong {
  display: block;
  font-size: clamp(0.92rem, 1.1vw, 1.05rem);
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-weight: 600;
  line-height: 1.3;
  color: var(--kp-text);
}

.geo-ads__market p {
  margin: 0.28rem 0 0;
  font-size: 0.95rem;
  line-height: 1.4;
  color: var(--kp-text-soft);
}

.geo-ads__market-arrow {
  list-style: none;
  padding: 0.1rem 0 0.1rem 2.95rem;
  color: rgba(85, 199, 216, 0.55);
  font-size: 0.85rem;
  opacity: 0;
  transition: opacity 0.35s ease;
}

.geo-ads__window.is-revealed .geo-ads__market-arrow {
  opacity: 1;
}

.geo-ads__window-bar {
  margin-top: 0.35rem;
  padding: 0.85rem 1.15rem;
  border-top: 1px solid rgba(85, 199, 216, 0.14);
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: rgba(180, 215, 235, 0.78);
  background: rgba(0, 0, 0, 0.35);
}

@media (max-width: 1024px) {
  .geo-ads__layout {
    grid-template-columns: 1fr;
    gap: 1.75rem;
  }

  .geo-ads__cta {
    display: none;
  }

  .geo-ads__cta-mobile {
    display: flex;
  }

  .geo-ads__body {
    max-width: none;
    font-size: 1.05rem;
  }
}

@media (max-width: 767px) {
  .geo-ads {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }

  .geo-ads__body {
    font-size: 1rem;
  }

  .geo-ads__accent {
    font-size: 1.15rem;
  }

  .geo-ads__window-bar {
    letter-spacing: 0.06em;
    font-size: 0.68rem;
    line-height: 1.45;
  }
}

@media (prefers-reduced-motion: reduce) {
  .geo-ads__market > li:not(.geo-ads__market-arrow),
  .geo-ads__market-arrow {
    opacity: 1 !important;
    transform: none !important;
    transition: none !important;
  }

  .geo-ads__window .geo-ads__market > li:nth-child(9) {
    border-color: rgba(85, 199, 216, 0.28);
    background: rgba(0, 140, 220, 0.08);
  }
}

/* AI file composition */
.geo-aifile__shell {
  max-width: 1360px;
  padding-top: clamp(4rem, 9vw, 140px);
  padding-bottom: clamp(4rem, 9vw, 140px);
}

.geo-aifile__heading {
  max-width: 760px;
}

.geo-aifile__body {
  max-width: 720px;
}

.geo-aifile__head {
  margin-bottom: 64px;
}

.geo-aifile__compose {
  display: grid;
  grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
  gap: clamp(1.5rem, 3.5vw, 3rem);
  align-items: start;
}

.geo-aifile__doc {
  padding: 1.4rem 1.3rem 1.5rem;
  border: 1px solid rgba(85, 199, 216, 0.4);
  background:
    linear-gradient(160deg, rgba(0, 24, 40, 0.95), rgba(0, 0, 0, 0.92));
  min-height: 24rem;
}

.geo-aifile__doc-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  margin: 0 0 1.25rem;
  padding-bottom: 0.9rem;
  border-bottom: 1px solid rgba(120, 170, 220, 0.18);
}

.geo-aifile__doc-label {
  margin: 0;
  font-size: 0.85rem;
  letter-spacing: 0.18em;
  color: var(--kp-cyan);
}

.geo-aifile__doc-brand {
  margin: 0;
  font-size: 0.7rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.geo-aifile__doc ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.geo-aifile__doc li {
  padding: 0.7rem 0.8rem;
  border: 1px dashed rgba(120, 170, 220, 0.2);
  font-size: 0.95rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.geo-aifile__layers {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: clamp(24px, 2.5vw, 30px);
}

.geo-aifile__layers li {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 0.5rem 0.85rem;
  width: 100%;
  min-height: 64px;
  padding: 18px 22px;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.28);
}

.geo-aifile__layers span {
  color: var(--kp-cyan);
  font-size: 0.75rem;
  letter-spacing: 0.08em;
}

.geo-aifile__layers strong {
  font-size: 1rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-text);
}

.geo-aifile__layers small {
  flex: 1 1 100%;
  font-size: 0.8rem;
  letter-spacing: 0.01em;
  text-transform: none;
  color: var(--kp-muted);
}

.geo-aifile__accent {
  margin: 2.5rem 0 1.5rem;
  font-size: clamp(1.2rem, 1.8vw, 1.5rem);
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

/* Alice steps as timeline */
.geo-alice__steps {
  list-style: none;
  margin: 1.5rem 0 1.25rem;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.geo-alice__steps li {
  padding: 1.1rem 1rem;
  border: 1px solid rgba(85, 199, 216, 0.2);
  background: rgba(0, 0, 0, 0.28);
  min-height: 7rem;
}

.geo-alice__steps span {
  display: block;
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
}

.geo-alice__steps h3 {
  margin: 0;
  font-size: 1rem;
  letter-spacing: 0.06em;
}

/* Competitor board */
.geo-board {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  gap: 1rem;
  align-items: start;
  margin-top: 1.5rem;
}

.geo-board__col {
  padding: 1.25rem 1.15rem;
  border: 1px solid rgba(85, 199, 216, 0.32);
  background: rgba(0, 0, 0, 0.32);
}

.geo-board__col--soft {
  border-color: rgba(120, 170, 220, 0.18);
}

.geo-board__col h3 {
  margin: 0 0 0.45rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.geo-board__score {
  margin: 0 0 1rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--kp-muted);
}

.geo-board__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

.geo-board__col li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 0.75rem;
  align-items: center;
  padding-bottom: 0.45rem;
  border-bottom: 1px solid rgba(120, 170, 220, 0.12);
  font-size: 0.88rem;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.geo-board__col em {
  font-style: normal;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  padding: 0.25rem 0.45rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
}

.geo-board__col em[data-level="strong"] {
  color: var(--kp-cyan);
  border-color: rgba(85, 199, 216, 0.4);
}

.geo-board__col em[data-level="mid"] {
  color: var(--kp-text-soft);
}

.geo-board__col em[data-level="none"] {
  color: var(--kp-muted);
  opacity: 0.8;
}

.geo-board__mid {
  align-self: center;
  text-align: center;
  padding: 0.75rem;
  color: var(--kp-cyan);
}

.geo-board__mid p {
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
}

.geo-board__mid strong {
  display: block;
  margin-top: 0.35rem;
  font-size: 0.85rem;
  letter-spacing: 0.06em;
  line-height: 1.35;
  color: var(--kp-text);
}

/* High-ticket industry editorial cluster */
.geo-high-ticket__extra {
  margin-top: 1rem;
  max-width: 46rem;
}

.geo-industries {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.7rem;
  margin-top: 1.85rem;
}

.geo-industries__card {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  min-height: 160px;
  padding: 1.25rem 1.15rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  background:
    linear-gradient(180deg, rgba(8, 18, 32, 0.35), rgba(0, 0, 0, 0.72)),
    rgba(0, 0, 0, 0.4);
}

.geo-industries__card--r1a,
.geo-industries__card--r2b,
.geo-industries__card--r4a {
  min-height: 190px;
  border-color: rgba(85, 199, 216, 0.28);
}

.geo-industries__n {
  display: block;
  margin-bottom: 0.65rem;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  color: var(--kp-cyan);
}

.geo-industries__card h3 {
  margin: 0 0 0.55rem;
  font-size: clamp(0.95rem, 1.15vw, 1.15rem);
  letter-spacing: 0.06em;
  line-height: 1.25;
  text-transform: uppercase;
}

.geo-industries__card p {
  margin: 0;
  font-size: 0.86rem;
  line-height: 1.4;
  color: var(--kp-text-soft);
}

.geo-industries__card--r1a { grid-column: span 5; }
.geo-industries__card--r1b { grid-column: span 3; }
.geo-industries__card--r1c { grid-column: span 4; }
.geo-industries__card--r2a { grid-column: span 3; }
.geo-industries__card--r2b { grid-column: span 5; }
.geo-industries__card--r2c { grid-column: span 4; }
.geo-industries__card--r3a,
.geo-industries__card--r3b,
.geo-industries__card--r3c { grid-column: span 4; }
.geo-industries__card--r4a { grid-column: span 5; }
.geo-industries__card--r4b { grid-column: span 3; }
.geo-industries__card--r4c { grid-column: span 4; }

/* Work rail вЂ” editorial sizes, not equal card grid */
.geo-work__rail {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.55rem;
  margin-top: 1.5rem;
}

.geo-work__rail article {
  padding: 1.15rem 1rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.28);
  min-height: 6.5rem;
}

.geo-work__rail article:nth-child(1) { grid-column: span 4; }
.geo-work__rail article:nth-child(2) { grid-column: span 3; }
.geo-work__rail article:nth-child(3) { grid-column: span 5; }
.geo-work__rail article:nth-child(4) { grid-column: span 5; }
.geo-work__rail article:nth-child(5) { grid-column: span 3; }
.geo-work__rail article:nth-child(6) { grid-column: span 4; }
.geo-work__rail article:nth-child(7) { grid-column: span 6; }
.geo-work__rail article:nth-child(8) { grid-column: span 6; }

.geo-work__rail span {
  display: block;
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
}

.geo-work__rail h3 {
  margin: 0;
  font-size: 1rem;
  letter-spacing: 0.06em;
}

.geo-audit {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

.geo-audit span {
  display: flex;
  align-items: center;
  min-height: 72px;
  padding: 0.9rem 1rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.28);
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.geo-dual {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.geo-dual__col {
  padding: 1.35rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.3);
}

.geo-dual__col--accent {
  border-color: rgba(85, 199, 216, 0.35);
}

.geo-dual__col h3 {
  margin: 0 0 1rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.geo-dual__col ul {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.5rem;
}

.geo-dual__col li {
  font-size: 1.05rem;
}

.geo-dual__result {
  margin: 1.25rem 0 0;
  font-size: 0.95rem;
  color: var(--kp-text-soft);
}

.geo-dual__sum {
  margin: 1.5rem 0 0;
  font-size: 1.05rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.geo-knowledge-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
}

.geo-knowledge-grid span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 72px;
  text-align: center;
}

@media (prefers-reduced-motion: reduce) {
  .geo-workspace [data-geo-step],
  .geo-workspace__scan-dot {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }

  .geo-workspace [data-geo-step="scan"] {
    display: none;
  }
}

@media (max-width: 1100px) {
  .geo-fast__shell,
  .geo-aifile__compose,
  .geo-board,
  .geo-dual,
  .geo-alice__steps,
  .geo-knowledge-grid {
    grid-template-columns: 1fr;
  }

  .geo-board__mid {
    justify-self: center;
  }

  .geo-audit {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .geo-industries {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .geo-industries__card,
  .geo-industries__card--r1a,
  .geo-industries__card--r1b,
  .geo-industries__card--r1c,
  .geo-industries__card--r2a,
  .geo-industries__card--r2b,
  .geo-industries__card--r2c,
  .geo-industries__card--r3a,
  .geo-industries__card--r3b,
  .geo-industries__card--r3c,
  .geo-industries__card--r4a,
  .geo-industries__card--r4b,
  .geo-industries__card--r4c {
    grid-column: auto;
    min-height: 150px;
  }

  .geo-work__rail {
    grid-template-columns: 1fr 1fr;
  }

  .geo-work__rail article {
    grid-column: auto !important;
  }
}

@media (max-width: 900px) {
  .geo-hero__grid {
    grid-template-columns: 1fr;
    grid-template-areas:
      "intro"
      "visual"
      "foot";
  }

  .geo-hero__visual {
    width: 100%;
    margin: 0;
  }

  body.direction-geo .geo-hero h1 {
    font-size: clamp(2.625rem, 10vw, 3.375rem);
    max-width: none;
  }

  .geo-workspace {
    min-height: 0;
  }

  .geo-workspace__q p,
  .geo-workspace__a > p,
  .geo-workspace__own h3 {
    font-size: 0.95rem;
  }

  .geo-workspace__checks {
    grid-template-columns: 1fr;
  }

  .geo-workspace__muted {
    display: none;
  }

  .geo-workspace__why > div span:nth-child(n + 4) {
    display: none;
  }
}

@media (max-width: 767px) {
  body.direction-geo .kp-h2 {
    font-size: clamp(2rem, 8vw, 2.5rem);
  }

  body.direction-geo .kp-lede,
  body.direction-geo .kp-hero__body,
  body.direction-geo .geo-lede-lg,
  body.direction-geo .geo-ads__body {
    font-size: 1rem;
  }

  .geo-fast__days li {
    grid-template-columns: 4.5rem minmax(0, 1fr);
  }

  .geo-work__rail,
  .geo-audit,
  .geo-industries {
    grid-template-columns: 1fr;
  }

  .maps-proof__chips span {
    white-space: normal;
  }

  .maps-proof {
    grid-template-columns: 1fr;
  }

}

@media (max-width: 430px) {
  .geo-workspace__models span {
    font-size: 0.68rem;
  }
}

/* ==========================================================================
   VK / PERFORMANCE ? commercial V1 (scoped: body.direction-vk)
   ========================================================================== */

body.direction-vk .kp-hero h1 {
  max-width: 14em;
}

body.direction-vk #vk-pricing .kp-actions {
  margin-top: 2rem;
}

/* --- Hero: creative-performance board --- */
body.direction-vk .vk-board {
  position: relative;
  width: 100%;
  max-width: 580px;
  margin-left: auto;
  padding: 1.1rem 1rem 1.15rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.96), rgba(0, 0, 0, 0.9));
}

body.direction-vk .vk-board__glow {
  position: absolute;
  inset: 12% 8% auto;
  height: 42%;
  pointer-events: none;
  background: radial-gradient(ellipse 70% 80% at 50% 0%, rgba(47, 98, 214, 0.14), transparent 70%);
}

body.direction-vk .vk-board__main,
body.direction-vk .vk-board__analytics,
body.direction-vk .vk-board__seg,
body.direction-vk .vk-board__creative,
body.direction-vk .vk-board__step {
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

body.direction-vk .vk-board.is-revealed .vk-board__main,
body.direction-vk .vk-board.is-revealed .vk-board__analytics,
body.direction-vk .vk-board.is-revealed .vk-board__seg,
body.direction-vk .vk-board.is-revealed .vk-board__creative,
body.direction-vk .vk-board.is-revealed .vk-board__step {
  opacity: 1;
  transform: none;
}

body.direction-vk .vk-board.is-revealed .vk-board__main {
  transition-delay: 0.06s;
}

body.direction-vk .vk-board.is-revealed .vk-board__seg:nth-child(1) {
  transition-delay: 0.12s;
}

body.direction-vk .vk-board.is-revealed .vk-board__seg:nth-child(2) {
  transition-delay: 0.18s;
}

body.direction-vk .vk-board.is-revealed .vk-board__seg:nth-child(3) {
  transition-delay: 0.24s;
}

body.direction-vk .vk-board.is-revealed .vk-board__creative:nth-child(1) {
  transition-delay: 0.3s;
}

body.direction-vk .vk-board.is-revealed .vk-board__creative:nth-child(2) {
  transition-delay: 0.36s;
}

body.direction-vk .vk-board.is-revealed .vk-board__creative:nth-child(3) {
  transition-delay: 0.42s;
}

body.direction-vk .vk-board.is-revealed .vk-board__step:nth-child(1) {
  transition-delay: 0.48s;
}

body.direction-vk .vk-board.is-revealed .vk-board__step:nth-child(3) {
  transition-delay: 0.54s;
}

body.direction-vk .vk-board.is-revealed .vk-board__step:nth-child(5) {
  transition-delay: 0.6s;
}

body.direction-vk .vk-board.is-revealed .vk-board__analytics {
  transition-delay: 0.72s;
}

body.direction-vk .vk-board__main {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1fr) minmax(0, 1.05fr);
  gap: 0.65rem;
  align-items: stretch;
}

body.direction-vk .vk-board__audience {
  display: grid;
  gap: 0.45rem;
}

body.direction-vk .vk-board__seg {
  padding: 0.65rem 0.7rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.42);
}

body.direction-vk .vk-board__seg-n {
  display: block;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
  margin-bottom: 0.25rem;
}

body.direction-vk .vk-board__seg-title {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--kp-text);
}

body.direction-vk .vk-board__seg-meta {
  margin: 0.2rem 0 0;
  font-size: 0.68rem;
  color: var(--kp-muted);
  letter-spacing: 0.04em;
}

body.direction-vk .vk-board__creatives {
  display: grid;
  gap: 0.45rem;
}

body.direction-vk .vk-board__creative {
  display: grid;
  grid-template-columns: auto 1fr;
  grid-template-rows: auto auto;
  gap: 0.35rem 0.55rem;
  padding: 0.65rem 0.7rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(8, 18, 34, 0.55);
  min-height: 72px;
}

body.direction-vk .vk-board__creative-type {
  grid-row: 1 / span 2;
  align-self: center;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  writing-mode: vertical-rl;
  transform: rotate(180deg);
  color: rgba(85, 199, 216, 0.85);
  font-weight: 600;
}

body.direction-vk .vk-board__creative-bar {
  display: block;
  height: 28px;
  border: 1px solid rgba(85, 199, 216, 0.25);
  background: linear-gradient(135deg, rgba(47, 98, 214, 0.25), rgba(0, 0, 0, 0.2));
}

body.direction-vk .vk-board__creative-play {
  display: block;
  width: 28px;
  height: 28px;
  border: 1px solid rgba(85, 199, 216, 0.35);
  border-radius: 50%;
  position: relative;
}

body.direction-vk .vk-board__creative-play::after {
  content: "";
  position: absolute;
  left: 11px;
  top: 8px;
  border: 6px solid transparent;
  border-left-color: rgba(85, 199, 216, 0.75);
}

body.direction-vk .vk-board__creative-slides {
  display: flex;
  gap: 0.2rem;
  align-items: center;
}

body.direction-vk .vk-board__creative-slides i {
  display: block;
  width: 18px;
  height: 24px;
  border: 1px solid rgba(120, 170, 220, 0.22);
  background: rgba(0, 0, 0, 0.35);
}

body.direction-vk .vk-board__creative-slides i:first-child {
  border-color: rgba(85, 199, 216, 0.4);
}

body.direction-vk .vk-board__creative-msg {
  margin: 0;
  grid-column: 2;
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

body.direction-vk .vk-board__convert {
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 0.35rem;
}

body.direction-vk .vk-board__step {
  padding: 0.55rem 0.65rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.4);
}

body.direction-vk .vk-board__step--lead {
  border-color: rgba(85, 199, 216, 0.38);
  background: rgba(4, 116, 241, 0.08);
}

body.direction-vk .vk-board__step-k {
  display: block;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
  font-weight: 600;
  margin-bottom: 0.15rem;
}

body.direction-vk .vk-board__step p {
  margin: 0;
  font-size: 0.65rem;
  color: var(--kp-muted);
  letter-spacing: 0.04em;
}

body.direction-vk .vk-board__step-arrow {
  text-align: center;
  color: rgba(85, 199, 216, 0.5);
  font-size: 0.75rem;
  line-height: 1;
}

body.direction-vk .vk-board__analytics {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 0.45rem 0.65rem;
  margin-top: 0.85rem;
  padding: 0.65rem 0.75rem;
  border: 1px dashed rgba(85, 199, 216, 0.28);
  background: rgba(0, 0, 0, 0.32);
}

body.direction-vk .vk-board__analytics-label {
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  font-weight: 600;
}

body.direction-vk .vk-board__analytics-loop {
  font-size: 1rem;
  color: rgba(85, 199, 216, 0.65);
}

body.direction-vk .vk-board__analytics-note {
  width: 100%;
  text-align: center;
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

/* --- Problem band + diagnostic matrix --- */
body.direction-vk .vk-problem-band {
  padding-top: 0;
  padding-bottom: clamp(3rem, 8vw, 5rem);
}

body.direction-vk .vk-problem-band__statement {
  width: 100%;
  padding: clamp(2.5rem, 7vw, 4.5rem) clamp(1rem, 4vw, 7vw);
  margin-bottom: clamp(2rem, 5vw, 3rem);
  background: #00101e;
  border-block: 1px solid rgba(85, 199, 216, 0.1);
  text-align: center;
}

body.direction-vk .vk-problem-band__title {
  margin: 0.75rem auto 0;
  max-width: 14em;
  font-size: clamp(2rem, 4.5vw, 3.5rem);
  line-height: 1.06;
  letter-spacing: 0.02em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--kp-text);
}

body.direction-vk .vk-problem-band__lede {
  margin: 1.25rem auto 0;
  max-width: 36em;
  font-size: clamp(1.0625rem, 1.2vw, 1.125rem);
  line-height: 1.52;
  color: var(--kp-text-soft);
}

body.direction-vk .vk-diag-matrix {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.55rem;
}

body.direction-vk .vk-diag-matrix__cell {
  padding: 1.15rem 1rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.35);
}

body.direction-vk .vk-diag-matrix__cell--wide {
  grid-column: 1 / -1;
}

body.direction-vk .vk-diag-matrix__cell span {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
  margin-bottom: 0.45rem;
}

body.direction-vk .vk-diag-matrix__cell h3 {
  margin: 0 0 0.45rem;
  font-size: 0.88rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text);
}

body.direction-vk .vk-diag-matrix__cell p {
  margin: 0;
  font-size: 0.98rem;
  line-height: 1.45;
  color: var(--kp-text-soft);
}

/* --- Creative lab --- */
body.direction-vk .vk-lab__title {
  max-width: 16em;
  line-height: 1.08;
}

body.direction-vk .vk-lab__lede {
  max-width: 40em;
}

body.direction-vk .vk-lab-board {
  margin-top: 2rem;
  padding: 1.35rem 1.25rem;
  border: 1px solid rgba(85, 199, 216, 0.2);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.88), rgba(0, 0, 0, 0.92));
}

body.direction-vk .vk-lab-board__row {
  display: grid;
  grid-template-columns: 5.5rem minmax(0, 1fr);
  gap: 0.85rem;
  align-items: center;
  padding: 0.85rem 0;
  border-bottom: 1px solid rgba(120, 170, 220, 0.12);
}

body.direction-vk .vk-lab-board__row:last-of-type {
  border-bottom: 0;
}

body.direction-vk .vk-lab-board__axis {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  font-weight: 600;
}

body.direction-vk .vk-lab-board__cells {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

body.direction-vk .vk-lab-board__cell {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.5rem 0.65rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.4);
  text-align: center;
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

body.direction-vk .vk-lab-board__cell--on {
  border-color: rgba(85, 199, 216, 0.42);
  color: var(--kp-text);
  background: rgba(4, 116, 241, 0.08);
}

body.direction-vk .vk-lab-board__note {
  margin: 1.15rem 0 0;
  font-size: 0.92rem;
  line-height: 1.45;
  color: var(--kp-muted);
  letter-spacing: 0.02em;
}

/* --- System flow --- */
body.direction-vk .vk-sys-flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: flex-start;
  gap: 0.35rem 0.25rem;
  margin-top: 0.5rem;
  padding: 1.25rem 1.1rem;
  border: 1px solid rgba(85, 199, 216, 0.18);
  background: rgba(0, 0, 0, 0.35);
}

body.direction-vk .vk-sys-flow__node {
  padding: 0.55rem 0.7rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(8, 18, 34, 0.65);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
  white-space: nowrap;
}

body.direction-vk .vk-sys-flow__node--strong {
  border-color: rgba(85, 199, 216, 0.42);
  color: var(--kp-cyan);
  font-weight: 600;
}

body.direction-vk .vk-sys-flow__arrow {
  color: rgba(85, 199, 216, 0.55);
  font-size: 0.85rem;
  padding: 0 0.1rem;
}

/* --- Retargeting --- */
body.direction-vk .vk-retarget {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.55rem;
}

body.direction-vk .vk-retarget__item {
  padding: 1.2rem 1.05rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.32);
}

body.direction-vk .vk-retarget__item--accent {
  grid-column: 1 / -1;
  border-color: rgba(85, 199, 216, 0.32);
  background: rgba(4, 116, 241, 0.06);
}

body.direction-vk .vk-retarget__n {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
  margin-bottom: 0.45rem;
}

body.direction-vk .vk-retarget__item h3 {
  margin: 0 0 0.45rem;
  font-size: 0.92rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.direction-vk .vk-retarget__item p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.45;
  color: var(--kp-text-soft);
}

/* --- Pricing CTA column --- */
body.direction-vk .dir-price-table--vk-cta {
  min-width: 880px;
}

body.direction-vk .dir-price-table--vk-cta td:nth-child(5) {
  white-space: nowrap;
  vertical-align: middle;
}

body.direction-vk .vk-price-cta {
  appearance: none;
  border: 1px solid rgba(85, 199, 216, 0.45);
  background: color-mix(in srgb, #0a1220 55%, #2f62d6 35%);
  color: var(--kp-text);
  font-family: inherit;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.55rem 0.75rem;
  cursor: pointer;
  min-height: 40px;
  transition: border-color 0.2s ease, background 0.2s ease;
}

body.direction-vk .vk-price-cta:hover,
body.direction-vk .vk-price-cta:focus-visible {
  border-color: var(--kp-cyan);
  outline: none;
}

body.direction-vk .vk-price-stack__btn {
  margin-top: 1rem;
  width: 100%;
  max-width: 280px;
}

@media (prefers-reduced-motion: reduce) {
  body.direction-vk .vk-board__main,
  body.direction-vk .vk-board__analytics,
  body.direction-vk .vk-board__seg,
  body.direction-vk .vk-board__creative,
  body.direction-vk .vk-board__step {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 1100px) {
  body.direction-vk .vk-board__main {
    grid-template-columns: 1fr;
  }

  body.direction-vk .vk-board__convert {
    flex-direction: row;
    flex-wrap: wrap;
    align-items: stretch;
  }

  body.direction-vk .vk-board__step {
    flex: 1 1 calc(33% - 0.5rem);
  }

  body.direction-vk .vk-board__step-arrow {
    display: none;
  }

  body.direction-vk .vk-diag-matrix {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 900px) {
  body.direction-vk .vk-sys-flow {
    flex-direction: column;
    align-items: stretch;
  }

  body.direction-vk .vk-sys-flow__arrow {
    align-self: center;
    transform: rotate(90deg);
  }

  body.direction-vk .vk-sys-flow__node {
    text-align: center;
    white-space: normal;
  }

  body.direction-vk .dir-price-stack--vk article .vk-price-stack__btn {
    display: inline-flex;
    width: auto;
  }
}

@media (max-width: 767px) {
  body.direction-vk .vk-diag-matrix {
    grid-template-columns: 1fr;
  }

  body.direction-vk .vk-lab-board__row {
    grid-template-columns: 1fr;
    gap: 0.5rem;
  }

  body.direction-vk .vk-lab-board__cells {
    grid-template-columns: 1fr;
  }

  body.direction-vk .vk-retarget {
    grid-template-columns: 1fr;
  }

  body.direction-vk .vk-retarget__item--accent {
    grid-column: auto;
  }

  body.direction-vk .vk-problem-band__title {
    font-size: clamp(1.875rem, 8vw, 2.5rem);
  }
}

/* ============================================================
   YANDEX BUSINESS V1 ? maps-local & section visuals
   Scoped: body.direction-yandex-business (typography overrides)
   ============================================================ */

body.direction-yandex-business .kp-section--ambient {
  background: #02070d;
}

body.direction-yandex-business .kp-section--ambient::before {
  background: radial-gradient(circle at 50% 28%, rgba(85, 199, 216, 0.06), rgba(0, 0, 0, 0) 65%);
}

body.direction-yandex-business .kp-finale {
  background: #00101e;
}

body.direction-yandex-business .kp-finale::before {
  background: radial-gradient(circle at 50% 40%, rgba(85, 199, 216, 0.07), rgba(0, 0, 0, 0) 65%);
}

@media (min-width: 768px) {
  body.direction-yandex-business .kp-hero h1 {
    font-size: clamp(3.625rem, 5vw, 5.125rem);
  }

  body.direction-yandex-business .kp-h2 {
    font-size: clamp(2.75rem, 3.6vw, 3.875rem);
  }

  body.direction-yandex-business .kp-hero__body,
  body.direction-yandex-business .kp-lede,
  body.direction-yandex-business .dir-split__list li,
  body.direction-yandex-business .kp-faq__panel,
  body.direction-yandex-business .maps-client-flow p {
    font-size: clamp(1.0625rem, 1.15vw, 1.3125rem);
  }
}

body.direction-yandex-business .dir-split__list li {
  font-size: clamp(1rem, 1.1vw, 1.125rem);
}

/* Hero: local search object */
.maps-local {
  width: 100%;
  max-width: 480px;
  margin-left: auto;
  padding: 1.25rem 1.15rem 1.35rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 19, 33, 0.96), rgba(0, 0, 0, 0.92));
  box-shadow: 0 0 48px rgba(85, 199, 216, 0.04);
}

.maps-local__search {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-height: 46px;
  padding: 0.55rem 0.85rem;
  margin-bottom: 0.85rem;
  border: 1px solid rgba(120, 170, 220, 0.2);
  background: rgba(0, 16, 30, 0.55);
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

.maps-local__search-ico {
  width: 14px;
  height: 14px;
  border: 2px solid rgba(85, 199, 216, 0.55);
  border-radius: 50%;
  flex-shrink: 0;
  position: relative;
}

.maps-local__search-ico::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 2px;
  background: rgba(85, 199, 216, 0.55);
  right: -5px;
  bottom: -2px;
  transform: rotate(45deg);
}

.maps-local__query {
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: var(--kp-text-soft);
}

.maps-local__split {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 0.65rem;
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.55s ease 0.08s, transform 0.55s ease 0.08s;
}

.maps-local__map {
  position: relative;
  min-height: 168px;
  padding: 0.75rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background:
    linear-gradient(135deg, rgba(2, 19, 33, 0.9), rgba(0, 0, 0, 0.75)),
    repeating-linear-gradient(
      0deg,
      rgba(85, 199, 216, 0.04) 0,
      rgba(85, 199, 216, 0.04) 1px,
      transparent 1px,
      transparent 22px
    ),
    repeating-linear-gradient(
      90deg,
      rgba(85, 199, 216, 0.04) 0,
      rgba(85, 199, 216, 0.04) 1px,
      transparent 1px,
      transparent 22px
    );
}

.maps-local__pin {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: rgba(120, 170, 220, 0.45);
  box-shadow: 0 0 0 3px rgba(120, 170, 220, 0.12);
}

.maps-local__pin:nth-of-type(1) {
  top: 28%;
  left: 22%;
}

.maps-local__pin:nth-of-type(2) {
  top: 52%;
  left: 38%;
}

.maps-local__pin:nth-of-type(4) {
  bottom: 22%;
  right: 18%;
}

.maps-local__pin--you {
  top: 38%;
  left: 55%;
  width: auto;
  height: auto;
  padding: 0.35rem 0.45rem;
  border-radius: 2px;
  font-size: 0.55rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.2;
  white-space: nowrap;
  color: #00101e;
  font-weight: 700;
  background: var(--kp-cyan);
  box-shadow: 0 0 16px rgba(85, 199, 216, 0.35);
}

.maps-local__card {
  padding: 0.85rem 0.75rem 0.95rem;
  border: 1px solid rgba(85, 199, 216, 0.32);
  background: rgba(0, 16, 30, 0.6);
}

.maps-local__card-kicker {
  margin: 0 0 0.45rem;
  font-size: 0.62rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

.maps-local__card-name {
  margin: 0 0 0.35rem;
  font-size: 0.82rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  line-height: 1.25;
}

.maps-local__stars {
  margin: 0 0 0.35rem;
  font-size: 0.75rem;
  letter-spacing: 0.12em;
  color: rgba(85, 199, 216, 0.85);
}

.maps-local__card-meta {
  margin: 0 0 0.75rem;
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

.maps-local__card-actions {
  display: grid;
  gap: 0.35rem;
}

.maps-local__card-actions span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 34px;
  border: 1px solid rgba(85, 199, 216, 0.28);
  font-size: 0.58rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  background: rgba(0, 0, 0, 0.35);
}

.maps-local__flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem 0.5rem;
  margin-top: 0.95rem;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(120, 170, 220, 0.14);
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  opacity: 0;
  transition: opacity 0.45s ease 0.22s;
}

.maps-local__flow span:nth-child(even) {
  color: rgba(85, 199, 216, 0.45);
}

.maps-local.is-revealed .maps-local__search,
.maps-local.is-revealed .maps-local__split {
  opacity: 1;
  transform: none;
}

.maps-local.is-revealed .maps-local__flow {
  opacity: 1;
}

/* maps-why: copy + client flow */
.maps-why-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.92fr);
  gap: clamp(1.5rem, 4vw, 3rem);
  align-items: start;
  margin-bottom: 2.5rem;
}

.maps-why-layout__copy .kp-section__head {
  margin-bottom: 0;
}

.maps-client-flow {
  padding: 1.35rem 1.2rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 19, 33, 0.92), rgba(0, 0, 0, 0.88));
}

.maps-client-flow__step {
  padding: 0.85rem 1rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.35);
}

.maps-client-flow__step--query {
  border-color: rgba(85, 199, 216, 0.28);
}

.maps-client-flow__step--strong {
  border-color: rgba(85, 199, 216, 0.42);
  background: rgba(0, 16, 30, 0.5);
}

.maps-client-flow__label {
  display: block;
  margin-bottom: 0.35rem;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
}

.maps-client-flow__step p {
  margin: 0;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
  color: var(--kp-text-soft);
  line-height: 1.35;
}

.maps-client-flow__conn {
  text-align: center;
  padding: 0.35rem 0;
  color: rgba(85, 199, 216, 0.5);
}

.maps-client-flow__actions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.45rem;
}

.maps-client-flow__actions span {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.4rem;
  border: 1px solid rgba(85, 199, 216, 0.3);
  text-align: center;
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  background: rgba(0, 0, 0, 0.35);
}

/* Position radial network */
.maps-position-net {
  position: relative;
  max-width: 720px;
  min-height: 420px;
  margin: 0 auto 2.5rem;
  border: 1px solid rgba(85, 199, 216, 0.2);
  background:
    radial-gradient(circle at 50% 50%, rgba(85, 199, 216, 0.06), transparent 55%),
    linear-gradient(180deg, rgba(2, 19, 33, 0.85), rgba(0, 0, 0, 0.9));
}

.maps-position-net__center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 140px;
  min-height: 72px;
  padding: 0.75rem 1rem;
  border: 1px solid rgba(85, 199, 216, 0.5);
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.82rem;
  font-weight: 600;
  color: var(--kp-cyan);
  background: rgba(0, 16, 30, 0.75);
  box-shadow: 0 0 32px rgba(85, 199, 216, 0.08);
}

.maps-position-net__node {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 44px;
  padding: 0.45rem 0.65rem;
  max-width: 148px;
  border: 1px solid rgba(120, 170, 220, 0.2);
  text-align: center;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.62rem;
  line-height: 1.25;
  color: var(--kp-text-soft);
  background: rgba(0, 0, 0, 0.45);
}

.maps-position-net__n1 {
  top: 8%;
  left: 50%;
  transform: translateX(-50%);
}

.maps-position-net__n2 {
  top: 22%;
  right: 6%;
}

.maps-position-net__n3 {
  top: 48%;
  right: 2%;
}

.maps-position-net__n4 {
  bottom: 18%;
  right: 8%;
}

.maps-position-net__n5 {
  bottom: 6%;
  left: 50%;
  transform: translateX(-50%);
}

.maps-position-net__n6 {
  bottom: 18%;
  left: 6%;
}

.maps-position-net__n7 {
  top: 48%;
  left: 2%;
}

.maps-position-net__n8 {
  top: 22%;
  left: 6%;
}

/* Reviews topics */
.maps-reviews-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(0, 0.95fr);
  gap: clamp(1.5rem, 4vw, 2.5rem);
  align-items: center;
}

.maps-reviews-topics {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem;
  padding: 1.25rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: rgba(0, 0, 0, 0.35);
}

.maps-reviews-topics span {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0.45rem 0.75rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.68rem;
  color: var(--kp-text-soft);
  background: rgba(2, 19, 33, 0.6);
  opacity: 0;
  transform: translateY(6px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

.maps-reviews-topics.is-revealed span {
  opacity: 1;
  transform: none;
}

.maps-reviews-topics.is-revealed span:nth-child(1) {
  transition-delay: 0.04s;
}
.maps-reviews-topics.is-revealed span:nth-child(2) {
  transition-delay: 0.08s;
}
.maps-reviews-topics.is-revealed span:nth-child(3) {
  transition-delay: 0.12s;
}
.maps-reviews-topics.is-revealed span:nth-child(4) {
  transition-delay: 0.16s;
}
.maps-reviews-topics.is-revealed span:nth-child(5) {
  transition-delay: 0.2s;
}
.maps-reviews-topics.is-revealed span:nth-child(6) {
  transition-delay: 0.24s;
}
.maps-reviews-topics.is-revealed span:nth-child(7) {
  transition-delay: 0.28s;
}

/* Ads stack */
.maps-ads-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.88fr);
  gap: clamp(1.5rem, 4vw, 2.75rem);
  align-items: center;
}

.maps-ads-stack {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  padding: 1.35rem 1.2rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 19, 33, 0.92), rgba(0, 0, 0, 0.88));
}

.maps-ads-stack__organic,
.maps-ads-stack__paid,
.maps-ads-stack__result {
  padding: 1rem;
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.75rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  color: var(--kp-text-soft);
  background: rgba(0, 0, 0, 0.35);
}

.maps-ads-stack__paid {
  border-color: rgba(85, 199, 216, 0.38);
  color: var(--kp-cyan);
}

.maps-ads-stack__result {
  border-color: rgba(85, 199, 216, 0.45);
  font-weight: 600;
  color: var(--kp-cyan);
  background: rgba(0, 16, 30, 0.55);
}

.maps-ads-stack__plus,
.maps-ads-stack__arrow {
  align-self: center;
  padding: 0.35rem 0;
  color: rgba(85, 199, 216, 0.55);
  letter-spacing: 0.1em;
}

.maps-analytics-board {
  max-width: 900px;
}

/* Pricing: 5 columns + compact CTA */
.kp-btn--compact {
  min-height: 2.5rem;
  padding: 0.45rem 0.75rem;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  white-space: nowrap;
}

body.direction-yandex-business .dir-price-table--maps {
  min-width: 880px;
}

body.direction-yandex-business .dir-price-table--maps td:nth-child(2) {
  font-size: 0.9rem;
  max-width: 16rem;
  white-space: normal;
}

body.direction-yandex-business .dir-price-table--maps td:nth-child(3) {
  white-space: nowrap;
}

body.direction-yandex-business .dir-price-table--maps td:nth-child(4) {
  white-space: nowrap;
}

body.direction-yandex-business .dir-price-table--maps td:nth-child(5) {
  vertical-align: middle;
  white-space: nowrap;
}

body.direction-yandex-business .dir-price-stack article .kp-btn--compact {
  margin-top: 0.85rem;
  width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  .maps-local__search,
  .maps-local__split,
  .maps-local__flow,
  .maps-reviews-topics span {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 1024px) {
  .maps-local {
    margin: 1.5rem auto 0;
    max-width: 100%;
  }

  .maps-why-layout,
  .maps-reviews-layout,
  .maps-ads-layout {
    grid-template-columns: 1fr;
  }

  .maps-position-net {
    min-height: 520px;
  }

  .maps-position-net__node {
    max-width: 120px;
    font-size: 0.58rem;
  }
}

@media (max-width: 767px) {
  .maps-local__split {
    grid-template-columns: 1fr;
  }

  .maps-local__pin--you {
    left: 50%;
    transform: translateX(-50%);
  }

  .maps-client-flow__actions {
    grid-template-columns: 1fr;
  }

  .maps-position-net {
    min-height: 0;
    padding: 1rem 0.75rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    position: static;
  }

  .maps-position-net__center,
  .maps-position-net__node {
    position: static;
    transform: none;
    max-width: none;
    width: 100%;
  }

  .maps-reviews-topics span {
    font-size: 0.72rem;
  }
}

/* ============================================================
   PACKAGING ? commercial V1 (scoped: body.direction-packaging)
   ============================================================ */

body.direction-packaging #pack-pricing .kp-actions {
  margin-top: 1.75rem;
}

body.direction-packaging .pack-positioning__question {
  margin-top: 0.75rem;
  font-size: clamp(1.125rem, 1.4vw, 1.375rem);
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  font-weight: 600;
}

/* Hero: positioning engine */
body.direction-packaging .pack-engine {
  position: relative;
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  padding: 1.2rem 1rem 1.3rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.96), rgba(0, 0, 0, 0.9));
  overflow: hidden;
}

body.direction-packaging .pack-engine__glow {
  position: absolute;
  inset: 20% 15% auto;
  height: 45%;
  background: radial-gradient(circle, rgba(85, 199, 216, 0.12), transparent 70%);
  pointer-events: none;
}

body.direction-packaging .pack-engine__grid {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr) minmax(0, 1fr);
  gap: 0.55rem;
  align-items: stretch;
}

body.direction-packaging .pack-engine__col {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  padding: 0.75rem 0.55rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.45s ease, transform 0.45s ease;
}

body.direction-packaging .pack-engine__col--raw {
  border-style: dashed;
  border-color: rgba(120, 170, 220, 0.22);
}

body.direction-packaging .pack-engine__core {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
  min-height: 100%;
  padding: 0.85rem 0.5rem;
  text-align: center;
  border: 1px solid rgba(85, 199, 216, 0.45);
  background: radial-gradient(circle at 50% 40%, rgba(85, 199, 216, 0.1), rgba(0, 0, 0, 0.65));
  opacity: 0;
  transform: scale(0.96);
  transition: opacity 0.5s ease, transform 0.5s ease;
}

body.direction-packaging .pack-engine__label {
  margin: 0 0 0.25rem;
  font-size: 0.58rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

body.direction-packaging .pack-engine__label--out {
  color: var(--kp-cyan);
}

body.direction-packaging .pack-engine__chip {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 32px;
  padding: 0.35rem 0.4rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  font-size: 0.58rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  text-align: center;
  line-height: 1.2;
  color: rgba(220, 232, 245, 0.72);
  background: rgba(0, 0, 0, 0.25);
}

body.direction-packaging .pack-engine__chip--out {
  border-color: rgba(85, 199, 216, 0.32);
  color: var(--kp-text-soft);
  background: rgba(0, 16, 30, 0.45);
}

body.direction-packaging .pack-engine__core-brand {
  margin: 0;
  font-size: 0.62rem;
  letter-spacing: 0.16em;
  color: var(--kp-cyan);
}

body.direction-packaging .pack-engine__core-title {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  line-height: 1.25;
  text-transform: uppercase;
  font-weight: 600;
}

body.direction-packaging .pack-engine__core-arrow {
  margin-top: 0.25rem;
  font-size: 0.85rem;
  color: rgba(85, 199, 216, 0.55);
}

body.direction-packaging .pack-engine.is-revealed .pack-engine__col--raw {
  opacity: 1;
  transform: none;
  transition-delay: 0.05s;
}

body.direction-packaging .pack-engine.is-revealed .pack-engine__core {
  opacity: 1;
  transform: none;
  transition-delay: 0.16s;
}

body.direction-packaging .pack-engine.is-revealed .pack-engine__col--out {
  opacity: 1;
  transform: none;
  transition-delay: 0.28s;
}

/* Positioning radial */
body.direction-packaging .pack-position-net {
  position: relative;
  max-width: 720px;
  min-height: 400px;
  margin: 0 auto;
  border: 1px solid rgba(85, 199, 216, 0.2);
  background:
    radial-gradient(circle at 50% 50%, rgba(85, 199, 216, 0.06), transparent 55%),
    linear-gradient(180deg, rgba(2, 19, 33, 0.85), rgba(0, 0, 0, 0.9));
}

body.direction-packaging .pack-position-net__center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 120px;
  min-height: 64px;
  padding: 0.65rem 0.85rem;
  border: 1px solid rgba(85, 199, 216, 0.5);
  text-align: center;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 0.78rem;
  font-weight: 600;
  color: var(--kp-cyan);
  background: rgba(0, 16, 30, 0.75);
  box-shadow: 0 0 32px rgba(85, 199, 216, 0.08);
}

body.direction-packaging .pack-position-net__node {
  position: absolute;
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 42px;
  padding: 0.4rem 0.6rem;
  max-width: 152px;
  border: 1px solid rgba(120, 170, 220, 0.2);
  text-align: center;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  font-size: 0.62rem;
  line-height: 1.25;
  color: var(--kp-text-soft);
  background: rgba(0, 0, 0, 0.45);
}

body.direction-packaging .pack-position-net__n1 {
  top: 6%;
  left: 50%;
  transform: translateX(-50%);
}

body.direction-packaging .pack-position-net__n2 {
  top: 24%;
  right: 4%;
}

body.direction-packaging .pack-position-net__n3 {
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

body.direction-packaging .pack-position-net__n4 {
  bottom: 22%;
  right: 6%;
}

body.direction-packaging .pack-position-net__n5 {
  bottom: 6%;
  left: 50%;
  transform: translateX(-50%);
}

body.direction-packaging .pack-position-net__n6 {
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}

/* Touchpoints map */
body.direction-packaging .pack-touch-map {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 0.75rem;
  padding: 1.35rem 1.2rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(180deg, rgba(2, 19, 33, 0.92), rgba(0, 0, 0, 0.88));
}

body.direction-packaging .pack-touch-map__hub {
  padding: 0.65rem 0.9rem;
  border: 1px solid rgba(85, 199, 216, 0.45);
  font-size: 0.78rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--kp-cyan);
  background: rgba(0, 16, 30, 0.55);
}

body.direction-packaging .pack-touch-map__arrow {
  color: rgba(85, 199, 216, 0.5);
  letter-spacing: 0.1em;
}

body.direction-packaging .pack-touch-map__spokes {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  flex: 1 1 100%;
}

@media (min-width: 768px) {
  body.direction-packaging .pack-touch-map__spokes {
    flex: 1 1 auto;
  }
}

body.direction-packaging .pack-touch-map__spokes span {
  display: inline-flex;
  align-items: center;
  min-height: 38px;
  padding: 0.4rem 0.65rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  font-size: 0.65rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-text-soft);
  background: rgba(0, 0, 0, 0.32);
}

/* Web-KP browser */
body.direction-packaging .pack-webkp-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 0.95fr);
  gap: clamp(1.5rem, 4vw, 2.75rem);
  align-items: center;
}

body.direction-packaging .pack-webkp {
  border: 1px solid rgba(85, 199, 216, 0.28);
  background: linear-gradient(180deg, rgba(2, 19, 33, 0.95), rgba(0, 0, 0, 0.92));
  box-shadow: 0 0 48px rgba(85, 199, 216, 0.04);
}

body.direction-packaging .pack-webkp__chrome {
  display: flex;
  align-items: center;
  gap: 0.4rem;
  padding: 0.65rem 0.85rem;
  border-bottom: 1px solid rgba(120, 170, 220, 0.14);
  background: rgba(0, 0, 0, 0.45);
}

body.direction-packaging .pack-webkp__dot {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: rgba(120, 170, 220, 0.35);
}

body.direction-packaging .pack-webkp__url {
  margin-left: 0.35rem;
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: lowercase;
  color: var(--kp-muted);
}

body.direction-packaging .pack-webkp__nav {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  padding: 0.65rem 0.85rem;
  border-bottom: 1px solid rgba(120, 170, 220, 0.12);
}

body.direction-packaging .pack-webkp__nav-item {
  padding: 0.35rem 0.5rem;
  font-size: 0.58rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-muted);
  border: 1px solid transparent;
}

body.direction-packaging .pack-webkp__nav-item--on {
  color: var(--kp-cyan);
  border-color: rgba(85, 199, 216, 0.35);
  background: rgba(0, 16, 30, 0.45);
}

body.direction-packaging .pack-webkp__body {
  padding: 1.1rem 0.95rem 1.25rem;
}

body.direction-packaging .pack-webkp__kicker {
  margin: 0 0 0.45rem;
  font-size: 0.58rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

body.direction-packaging .pack-webkp__title {
  margin: 0 0 0.85rem;
  font-size: 0.82rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.direction-packaging .pack-webkp__block {
  height: 10px;
  margin-bottom: 0.45rem;
  background: rgba(120, 170, 220, 0.14);
}

body.direction-packaging .pack-webkp__block--mid {
  width: 78%;
}

body.direction-packaging .pack-webkp__block--short {
  width: 52%;
  margin-bottom: 1rem;
}

body.direction-packaging .pack-webkp__cta {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  min-height: 40px;
  border: 1px solid rgba(85, 199, 216, 0.4);
  background: rgba(0, 16, 30, 0.5);
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  cursor: default;
}

/* Before / after */
body.direction-packaging .pack-ba {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
}

body.direction-packaging .pack-ba__col {
  padding: 1.35rem 1.15rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.28);
}

body.direction-packaging .pack-ba__col--before {
  border-style: dashed;
}

body.direction-packaging .pack-ba__col--after {
  border-color: rgba(85, 199, 216, 0.32);
  background: rgba(0, 16, 30, 0.35);
}

body.direction-packaging .pack-ba__col h3 {
  margin: 0 0 1rem;
  font-size: 0.78rem;
  letter-spacing: 0.14em;
  color: var(--kp-cyan);
}

body.direction-packaging .pack-ba__tags {
  list-style: none;
  margin: 0 0 0.85rem;
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

body.direction-packaging .pack-ba__tags li {
  padding: 0.45rem 0.65rem;
  border: 1px solid rgba(120, 170, 220, 0.2);
  font-size: 0.72rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(220, 232, 245, 0.65);
}

body.direction-packaging .pack-ba__note {
  margin: 0;
  font-size: 0.88rem;
  line-height: 1.45;
  color: var(--kp-text-soft);
}

body.direction-packaging .pack-ba__list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0.55rem;
}

body.direction-packaging .pack-ba__list li {
  padding: 0.65rem 0.75rem;
  border: 1px solid rgba(85, 199, 216, 0.28);
  font-size: 0.78rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-text);
  background: rgba(0, 0, 0, 0.25);
}

/* Deliverables editorial rail */
body.direction-packaging .pack-work__rail {
  display: grid;
  grid-template-columns: repeat(12, minmax(0, 1fr));
  gap: 0.55rem;
}

body.direction-packaging .pack-work__rail article {
  padding: 1.15rem 1rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.28);
  min-height: 6.5rem;
}

body.direction-packaging .pack-work__rail article:nth-child(1) {
  grid-column: span 4;
}

body.direction-packaging .pack-work__rail article:nth-child(2) {
  grid-column: span 3;
}

body.direction-packaging .pack-work__rail article:nth-child(3) {
  grid-column: span 5;
}

body.direction-packaging .pack-work__rail article:nth-child(4) {
  grid-column: span 5;
}

body.direction-packaging .pack-work__rail article:nth-child(5) {
  grid-column: span 3;
}

body.direction-packaging .pack-work__rail article:nth-child(6) {
  grid-column: span 4;
}

body.direction-packaging .pack-work__rail article:nth-child(7) {
  grid-column: span 6;
}

body.direction-packaging .pack-work__rail article:nth-child(8) {
  grid-column: span 6;
}

body.direction-packaging .pack-work__rail-accent {
  border-color: rgba(85, 199, 216, 0.38);
  background: rgba(0, 16, 30, 0.42);
}

body.direction-packaging .pack-work__rail span {
  display: block;
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
}

body.direction-packaging .pack-work__rail h3 {
  margin: 0;
  font-size: clamp(0.9rem, 1.1vw, 1rem);
  letter-spacing: 0.06em;
  line-height: 1.25;
}

/* Pricing CTA column */
body.direction-packaging .dir-price-table--pack-cta {
  min-width: 900px;
}

body.direction-packaging .dir-price-table--pack-cta td:nth-child(2) {
  font-size: 0.88rem;
  max-width: 15rem;
  white-space: normal;
}

body.direction-packaging .dir-price-table--pack-cta td:nth-child(3),
body.direction-packaging .dir-price-table--pack-cta td:nth-child(4) {
  white-space: nowrap;
}

body.direction-packaging .dir-price-table--pack-cta td:nth-child(5) {
  vertical-align: middle;
  white-space: nowrap;
}

body.direction-packaging .pack-price-cta {
  min-height: 2.35rem;
  padding: 0.4rem 0.65rem;
  border: 1px solid rgba(85, 199, 216, 0.45);
  background: rgba(0, 16, 30, 0.55);
  font-size: 0.58rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  cursor: pointer;
  transition: border-color 0.2s ease, background 0.2s ease;
}

body.direction-packaging .pack-price-cta:hover,
body.direction-packaging .pack-price-cta:focus-visible {
  border-color: var(--kp-cyan);
  background: rgba(0, 16, 30, 0.75);
}

body.direction-packaging .pack-price-stack__btn {
  margin-top: 0.85rem;
  width: 100%;
}

@media (prefers-reduced-motion: reduce) {
  body.direction-packaging .pack-engine__col,
  body.direction-packaging .pack-engine__core {
    opacity: 1;
    transform: none;
    transition: none;
  }
}

@media (max-width: 1024px) {
  body.direction-packaging .pack-engine {
    margin: 1.5rem auto 0;
    max-width: 100%;
  }

  body.direction-packaging .pack-webkp-layout {
    grid-template-columns: 1fr;
  }

  body.direction-packaging .pack-position-net {
    min-height: 480px;
  }
}

@media (max-width: 767px) {
  body.direction-packaging .pack-engine__grid {
    grid-template-columns: 1fr;
  }

  body.direction-packaging .pack-engine__core {
    min-height: 72px;
  }

  body.direction-packaging .pack-ba {
    grid-template-columns: 1fr;
  }

  body.direction-packaging .pack-work__rail article {
    grid-column: span 12 !important;
  }

  body.direction-packaging .pack-position-net {
    min-height: 0;
    padding: 1rem 0.75rem 1.25rem;
    display: flex;
    flex-direction: column;
    gap: 0.45rem;
    position: static;
  }

  body.direction-packaging .pack-position-net__center,
  body.direction-packaging .pack-position-net__node {
    position: static;
    transform: none;
    max-width: none;
    width: 100%;
  }

  body.direction-packaging .dir-price-stack--pack article .pack-price-stack__btn {
    width: 100%;
  }
}

/* ============================================================
   AUTOMATION / CRM ? commercial V1
   Scoped: body.direction-automation only
   ============================================================ */

body.direction-automation .auto-dual {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  width: 100%;
  max-width: 520px;
  margin-left: auto;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: var(--kp-line-soft);
}

body.direction-automation .auto-dual__col {
  padding: 1.15rem 1rem 1.25rem;
  background: linear-gradient(180deg, rgba(2, 9, 19, 0.94), rgba(0, 0, 0, 0.9));
  opacity: 0;
  transform: translateY(10px);
  transition: opacity 0.55s ease, transform 0.55s ease;
}

body.direction-automation .auto-dual__col--chaos {
  filter: saturate(0.45);
  opacity: 0.55;
}

body.direction-automation .auto-dual__col--system {
  border-left: 1px solid rgba(85, 199, 216, 0.12);
}

body.direction-automation .auto-dual__head {
  margin: 0 0 0.85rem;
  font-size: 0.68rem;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: var(--kp-muted);
}

body.direction-automation .auto-dual__chaos {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin-bottom: 0.75rem;
}

body.direction-automation .auto-dual__chip {
  padding: 0.35rem 0.5rem;
  border: 1px dashed rgba(120, 170, 220, 0.22);
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  color: rgba(160, 180, 200, 0.75);
  transform: rotate(var(--auto-rot, 0deg));
}

body.direction-automation .auto-dual__chip:nth-child(1) {
  --auto-rot: -4deg;
}
body.direction-automation .auto-dual__chip:nth-child(2) {
  --auto-rot: 3deg;
}
body.direction-automation .auto-dual__chip:nth-child(3) {
  --auto-rot: -2deg;
}
body.direction-automation .auto-dual__chip:nth-child(4) {
  --auto-rot: 5deg;
}
body.direction-automation .auto-dual__chip:nth-child(5) {
  --auto-rot: -3deg;
}

body.direction-automation .auto-dual__lost {
  margin: 0;
  font-size: clamp(1.5rem, 4vw, 2rem);
  letter-spacing: 0.2em;
  text-align: center;
  color: rgba(200, 90, 90, 0.55);
}

body.direction-automation .auto-dual__pipe {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem 0.25rem;
}

body.direction-automation .auto-dual__pipe > span:not(.auto-dual__arrow) {
  padding: 0.35rem 0.45rem;
  border: 1px solid rgba(85, 199, 216, 0.35);
  font-size: 0.62rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--kp-cyan);
  background: rgba(0, 24, 42, 0.55);
}

body.direction-automation .auto-dual__sale {
  border-color: rgba(85, 199, 216, 0.65) !important;
  color: #fff !important;
  background: rgba(85, 199, 216, 0.12) !important;
}

body.direction-automation .auto-dual__arrow {
  color: rgba(85, 199, 216, 0.45);
  font-size: 0.75rem;
}

body.direction-automation .auto-dual.is-revealed .auto-dual__col--system {
  opacity: 1;
  transform: translateY(0);
  transition-delay: 0.12s;
}

body.direction-automation .auto-dual.is-revealed .auto-dual__col--chaos {
  opacity: 0.72;
  transform: translateY(0);
  filter: saturate(0.5);
  transition-delay: 0.02s;
}

body.direction-automation .auto-leak-map {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  gap: 0;
  border: 1px solid var(--kp-line-soft);
}

body.direction-automation .auto-leak-map__step {
  display: grid;
  grid-template-columns: 2.75rem minmax(0, 1fr);
  gap: 1rem;
  padding: 1.35rem 1.25rem;
  border-bottom: 1px solid var(--kp-line-soft);
  background: #000;
}

body.direction-automation .auto-leak-map__step:last-child {
  border-bottom: 0;
}

body.direction-automation .auto-leak-map__n {
  font-size: 0.72rem;
  letter-spacing: 0.1em;
  color: rgba(85, 199, 216, 0.55);
}

body.direction-automation .auto-leak-map__title {
  margin: 0 0 0.45rem;
  font-size: clamp(0.95rem, 1.2vw, 1.05rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.direction-automation .auto-leak-map__leak {
  margin: 0;
  font-size: clamp(0.88rem, 1vw, 1rem);
  color: rgba(200, 120, 100, 0.85);
  max-width: 40rem;
}

body.direction-automation .auto-scenarios {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.direction-automation .auto-scenarios__wide {
  grid-column: 1 / -1;
}

body.direction-automation .auto-scenarios__flow {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.35rem;
  margin: 0 0 0.65rem;
  font-size: 0.65rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(85, 199, 216, 0.7);
}

body.direction-automation .auto-scenarios__flow span:first-child,
body.direction-automation .auto-scenarios__flow span:last-child {
  padding: 0.25rem 0.4rem;
  border: 1px solid rgba(85, 199, 216, 0.25);
}

body.direction-automation .auto-scenarios__arrow {
  color: rgba(85, 199, 216, 0.45);
}

body.direction-automation .auto-hub {
  position: relative;
  min-height: 340px;
  max-width: 640px;
  margin: 0 auto;
  padding: 2.5rem 1rem 2rem;
}

body.direction-automation .auto-hub__center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  min-width: 96px;
  min-height: 96px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(85, 199, 216, 0.55);
  background: rgba(0, 20, 36, 0.92);
  font-size: 0.85rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
  box-shadow: 0 0 40px rgba(85, 199, 216, 0.08);
}

body.direction-automation .auto-hub__node {
  position: absolute;
  padding: 0.45rem 0.55rem;
  border: 1px solid rgba(120, 170, 220, 0.22);
  font-size: 0.62rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  text-align: center;
  color: var(--kp-muted);
  background: rgba(0, 0, 0, 0.55);
  max-width: 7.5rem;
}

body.direction-automation .auto-hub__n1 {
  top: 4%;
  left: 50%;
  transform: translateX(-50%);
}
body.direction-automation .auto-hub__n2 {
  top: 18%;
  right: 4%;
}
body.direction-automation .auto-hub__n3 {
  top: 42%;
  right: 0;
}
body.direction-automation .auto-hub__n4 {
  bottom: 18%;
  right: 4%;
}
body.direction-automation .auto-hub__n5 {
  bottom: 4%;
  left: 50%;
  transform: translateX(-50%);
}
body.direction-automation .auto-hub__n6 {
  bottom: 18%;
  left: 4%;
}
body.direction-automation .auto-hub__n7 {
  top: 42%;
  left: 0;
}
body.direction-automation .auto-hub__n8 {
  top: 18%;
  left: 4%;
}
body.direction-automation .auto-hub__n9 {
  top: 8%;
  left: 22%;
}

body.direction-automation .auto-ai-layer {
  list-style: none;
  margin: 0;
  padding: 0;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  border: 1px solid var(--kp-line-soft);
  background: var(--kp-line-soft);
}

body.direction-automation .auto-ai-layer li {
  padding: 1.5rem 1.25rem;
  background: #000;
}

body.direction-automation .auto-ai-layer__n {
  display: block;
  margin-bottom: 0.65rem;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  color: rgba(85, 199, 216, 0.55);
}

body.direction-automation .auto-ai-layer h3 {
  margin: 0 0 0.55rem;
  font-size: clamp(0.92rem, 1.15vw, 1rem);
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

body.direction-automation .auto-ai-layer p {
  margin: 0;
  color: var(--kp-muted);
  font-size: clamp(0.88rem, 1vw, 1rem);
  max-width: 22rem;
}

body.direction-automation #automation-pricing .kp-actions {
  margin-top: 2rem;
}

body.direction-automation .auto-pricing-note {
  color: rgba(85, 199, 216, 0.75);
}

body.direction-automation .dir-price-table--auto-cta td:nth-child(5) {
  width: 7.5rem;
  text-align: center;
}

body.direction-automation .auto-price-cta {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  padding: 0.35rem 0.65rem;
  border: 1px solid rgba(85, 199, 216, 0.45);
  background: transparent;
  color: var(--kp-cyan);
  font: inherit;
  font-size: 0.62rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  cursor: pointer;
  transition: background 0.2s ease, border-color 0.2s ease;
}

body.direction-automation .auto-price-cta:hover,
body.direction-automation .auto-price-cta:focus-visible {
  background: rgba(85, 199, 216, 0.1);
  border-color: rgba(85, 199, 216, 0.75);
}

body.direction-automation .auto-price-stack__btn {
  margin-top: 1rem;
  width: 100%;
  justify-content: center;
}

@media (max-width: 1024px) {
  body.direction-automation .auto-dual {
    max-width: 100%;
    margin-top: 1.5rem;
  }

  body.direction-automation .auto-ai-layer {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  body.direction-automation .auto-dual {
    grid-template-columns: 1fr;
  }

  body.direction-automation .auto-dual__col--system {
    border-left: 0;
    border-top: 1px solid rgba(85, 199, 216, 0.12);
  }

  body.direction-automation .auto-scenarios {
    grid-template-columns: 1fr;
  }

  body.direction-automation .auto-scenarios__wide {
    grid-column: auto;
  }

  body.direction-automation .auto-ai-layer {
    grid-template-columns: 1fr;
  }

  body.direction-automation .auto-hub {
    min-height: 0;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
    padding: 0;
  }

  body.direction-automation .auto-hub__center,
  body.direction-automation .auto-hub__node {
    position: static;
    transform: none;
    max-width: none;
    width: 100%;
  }

  body.direction-automation .auto-hub__center {
    min-height: 56px;
    order: -1;
    margin-bottom: 0.35rem;
  }

  body.direction-automation .auto-leak-map__step {
    grid-template-columns: 2.25rem minmax(0, 1fr);
    padding: 1.1rem 1rem;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.direction-automation .auto-dual__col {
    opacity: 1;
    transform: none;
    transition: none;
  }

  body.direction-automation .auto-dual__col--chaos {
    opacity: 0.85;
    filter: none;
  }
}

/* ==========================================================================
   EXAMPLE WEB-KP (demo / noindex)
   ========================================================================== */

body.example-webkp {
  --webkp-sticky-top: 5.5rem;
}

body.example-webkp .webkp-progress {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 90;
  height: 2px;
  background: rgba(85, 199, 216, 0.12);
}

body.example-webkp .webkp-progress span {
  display: block;
  width: 100%;
  height: 100%;
  transform: scaleX(0);
  transform-origin: left center;
  background: linear-gradient(90deg, rgba(85, 199, 216, 0.35), var(--kp-cyan));
}

body.example-webkp .webkp-sticky {
  position: fixed;
  top: var(--webkp-sticky-top);
  left: max(1rem, calc((100vw - 72rem) / 2 - 11.5rem));
  width: 10.5rem;
  z-index: 20;
  padding: 1rem 0.85rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.72);
  backdrop-filter: blur(10px);
}

body.example-webkp .webkp-sticky__label {
  margin: 0 0 0.85rem;
  font-size: 0.7rem;
  letter-spacing: 0.14em;
  color: var(--kp-cyan);
}

body.example-webkp .webkp-sticky__nav {
  display: grid;
  gap: 0.35rem;
}

body.example-webkp .webkp-sticky__nav a {
  color: var(--kp-text-soft);
  text-decoration: none;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  line-height: 1.35;
  padding: 0.25rem 0;
}

body.example-webkp .webkp-sticky__nav a.is-active,
body.example-webkp .webkp-sticky__nav a:hover {
  color: var(--kp-text);
}

body.example-webkp .webkp-hero h1 {
  max-width: 16ch;
  margin: 0 0 1.25rem;
  font-size: clamp(2.4rem, 5vw, 4.2rem);
  line-height: 1.05;
  letter-spacing: -0.02em;
}

body.example-webkp .webkp-block {
  scroll-margin-top: 6rem;
}

body.example-webkp .webkp-block__shell {
  max-width: 54rem;
  margin-left: auto;
  margin-right: 0;
}

body.example-webkp .webkp-block__n {
  margin: 0 0 0.75rem;
  font-size: 0.78rem;
  letter-spacing: 0.16em;
  color: var(--kp-cyan);
}

body.example-webkp .webkp-list,
body.example-webkp .webkp-arch {
  margin: 1.5rem 0 0;
  padding: 0;
  list-style: none;
  display: grid;
  gap: 0.7rem;
}

body.example-webkp .webkp-list li,
body.example-webkp .webkp-arch li,
body.example-webkp .webkp-grid article,
body.example-webkp .webkp-scope article,
body.example-webkp .webkp-case,
body.example-webkp .webkp-cost article {
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(0, 0, 0, 0.32);
  padding: 1.15rem 1.1rem;
}

body.example-webkp .webkp-grid,
body.example-webkp .webkp-scope,
body.example-webkp .webkp-cases,
body.example-webkp .webkp-cost {
  display: grid;
  gap: 0.7rem;
  margin-top: 1.5rem;
}

body.example-webkp .webkp-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body.example-webkp .webkp-scope {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body.example-webkp .webkp-cases,
body.example-webkp .webkp-cost {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body.example-webkp .webkp-grid h3,
body.example-webkp .webkp-scope h3,
body.example-webkp .webkp-cost h3 {
  margin: 0 0 0.55rem;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

body.example-webkp .webkp-grid p,
body.example-webkp .webkp-case p,
body.example-webkp .webkp-cost__market {
  margin: 0;
  color: var(--kp-text-soft);
  line-height: 1.45;
}

body.example-webkp .webkp-pillars {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  margin-top: 1.5rem;
}

body.example-webkp .webkp-pillars span {
  padding: 0.55rem 0.8rem;
  border: 1px solid rgba(85, 199, 216, 0.28);
  font-size: 0.78rem;
  letter-spacing: 0.1em;
}

body.example-webkp .webkp-arch li {
  display: grid;
  grid-template-columns: 2.5rem minmax(0, 1fr);
  gap: 0.2rem 0.85rem;
}

body.example-webkp .webkp-arch span,
body.example-webkp .webkp-scope span {
  color: var(--kp-cyan);
  letter-spacing: 0.12em;
  font-size: 0.72rem;
}

body.example-webkp .webkp-arch strong {
  grid-column: 2;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

body.example-webkp .webkp-arch small {
  grid-column: 2;
  color: var(--kp-text-soft);
}

body.example-webkp .webkp-scope article {
  min-height: 7.5rem;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
}

body.example-webkp .webkp-case {
  text-decoration: none;
  color: inherit;
  min-height: 11rem;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  transition: border-color 0.2s ease;
}

body.example-webkp .webkp-case:hover {
  border-color: rgba(85, 199, 216, 0.4);
}

body.example-webkp .webkp-case__sphere {
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
}

body.example-webkp .webkp-case strong {
  font-size: 1.15rem;
  letter-spacing: 0.08em;
}

body.example-webkp .webkp-cost__price {
  margin: 0 0 0.45rem;
  font-size: 1.45rem;
  letter-spacing: 0.02em;
  color: var(--kp-cyan);
}

body.example-webkp .webkp-finale .kp-actions {
  margin-top: 1.75rem;
}

@media (max-width: 1280px) {
  body.example-webkp .webkp-sticky {
    display: none;
  }

  body.example-webkp .webkp-block__shell {
    margin-right: auto;
  }
}

@media (max-width: 900px) {
  body.example-webkp .webkp-grid,
  body.example-webkp .webkp-cases,
  body.example-webkp .webkp-cost {
    grid-template-columns: 1fr;
  }

  body.example-webkp .webkp-scope {
    grid-template-columns: 1fr 1fr;
  }

  body.example-webkp .webkp-hero h1 {
    max-width: none;
    font-size: clamp(2.1rem, 9vw, 3rem);
  }
}

@media (max-width: 560px) {
  body.example-webkp .webkp-scope {
    grid-template-columns: 1fr;
  }
}

/* =========================================================
   Direction pages ? compact MOBILE footer only
   Desktop footer layout unchanged.
   ========================================================= */

.footer-discuss {
  display: none;
}

/* Mobile footer polish moved to /css/kp-mobile-footer.css (linked after this file). */\n\n
/* =========================================================
   YANDEX DIRECT — Mobile V2 + commercial polish
   Root cause of prior mobile look: CSS loaded, but composition
   reused generic process lists / tall media / pale muted text
   without a dedicated mobile rhythm. Fixed architecturally here.
   ========================================================= */

body.direction-yandex-direct {
  --yd-text: #e8ecf8;
  --yd-body: #c5cce0;
  --yd-muted: #a8b0c6;
}

body.direction-yandex-direct .kp-section {
  padding: clamp(3.25rem, 7vw, 6.5rem) 0;
}

body.direction-yandex-direct .kp-section--ambient {
  position: relative;
}

body.direction-yandex-direct .kp-section--ambient::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(ellipse 50% 45% at 82% 18%, rgba(47, 98, 214, 0.08), transparent 65%);
}

body.direction-yandex-direct .kp-section--ambient > .kp-shell {
  position: relative;
  z-index: 1;
}

/*
  YD hero height root cause (Wave 4 shared shell):
  .kp-hero > .kp-shell {
    min-height: max(780px, calc(100vh - header));
    justify-content: center;
    padding-bottom: 80px;
  }
  That stretched the section (~828–900px) and vertically centered
  the copy/SERP — empty space above AND below. Override shell, not only section.
*/
body.direction-yandex-direct .kp-hero {
  min-height: 0;
  height: auto;
  align-items: flex-start;
  padding: 0;
}

body.direction-yandex-direct .kp-section--ambient.kp-hero > .kp-shell,
body.direction-yandex-direct .kp-hero__shell {
  max-width: 1200px;
  width: min(1200px, calc(100% - 96px));
  min-height: 0;
  height: auto;
  justify-content: flex-start;
  /* hero already starts below header (~72px); pad → content top ≈ 145–160 */
  padding-top: 4.5rem;
  padding-bottom: 4.25rem;
}

body.direction-yandex-direct .kp-hero .kp-breadcrumb {
  margin: 0 0 0.65rem;
}

body.direction-yandex-direct .kp-hero .kp-eyebrow {
  margin: 0 0 0.55rem;
}

body.direction-yandex-direct .kp-hero h1 {
  max-width: 20ch;
  font-size: clamp(3rem, 3.15vw, 3.25rem);
  line-height: 1.07;
  letter-spacing: -0.045em;
  color: var(--yd-text);
}

body.direction-yandex-direct .kp-h2 {
  font-size: clamp(1.85rem, 3.6vw, 3.1rem);
  letter-spacing: -0.035em;
  line-height: 1.05;
  color: var(--yd-text);
}

body.direction-yandex-direct .kp-hero__body,
body.direction-yandex-direct .kp-lede,
body.direction-yandex-direct .yd-editorial p,
body.direction-yandex-direct .yd-theses p,
body.direction-yandex-direct .yd-offer__fit,
body.direction-yandex-direct .yd-case__desc,
body.direction-yandex-direct .kp-faq__panel {
  color: var(--yd-body);
  font-size: 1.0625rem;
  line-height: 1.55;
}

body.direction-yandex-direct .kp-eyebrow {
  color: var(--kp-cyan);
}

body.direction-yandex-direct .kp-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(340px, 0.98fr);
  gap: clamp(1.75rem, 3.5vw, 2.75rem);
  align-items: start;
}

body.direction-yandex-direct .kp-hero__copy {
  max-width: 38rem;
}

body.direction-yandex-direct .kp-hero__visual {
  display: flex;
  align-items: flex-start;
  align-self: center;
  min-width: 0;
}

body.direction-yandex-direct .kp-hero__body {
  margin-top: 1.4rem;
  max-width: 34rem;
  font-size: 1.0625rem;
  line-height: 1.55;
}

body.direction-yandex-direct .kp-hero__actions {
  margin-top: 1.5rem;
}

body.direction-yandex-direct .yd-hero-price {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.65rem;
  margin-top: 1.5rem;
  max-width: 28rem;
}

body.direction-yandex-direct .yd-hero-price__item {
  padding: 1rem 1.05rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  background: rgba(0, 8, 16, 0.55);
}

body.direction-yandex-direct .yd-hero-price__item span {
  display: block;
  margin-bottom: 0.3rem;
  font-size: 0.7rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
}

body.direction-yandex-direct .yd-hero-price__item strong {
  font-size: 1rem;
  font-weight: 600;
  letter-spacing: -0.02em;
  color: var(--yd-text);
}

/* SERP — taller by content/padding, not by empty flex stretch */
body.direction-yandex-direct .yd-serp {
  width: 100%;
  max-width: none;
  margin-left: 0;
  padding: 1.35rem 1.3rem 1.45rem;
  border: 1px solid rgba(85, 199, 216, 0.22);
  background: linear-gradient(165deg, rgba(2, 12, 24, 0.98), rgba(0, 0, 0, 0.94));
}

body.direction-yandex-direct .yd-serp__tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0 0 0.95rem;
  padding: 0;
  list-style: none;
}

body.direction-yandex-direct .yd-serp__tab {
  appearance: none;
  border: 1px solid rgba(120, 170, 220, 0.22);
  background: rgba(0, 0, 0, 0.35);
  color: var(--yd-muted);
  font: inherit;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 0.4rem 0.65rem;
  min-height: 34px;
  cursor: pointer;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease;
}

body.direction-yandex-direct .yd-serp__tab:hover,
body.direction-yandex-direct .yd-serp__tab:focus-visible {
  border-color: rgba(85, 199, 216, 0.45);
  color: var(--yd-text);
  outline: none;
}

body.direction-yandex-direct .yd-serp__tab.is-active {
  border-color: rgba(85, 199, 216, 0.55);
  background: rgba(4, 70, 130, 0.22);
  color: var(--yd-text);
}

body.direction-yandex-direct .yd-serp__search {
  display: flex;
  align-items: center;
  gap: 0.7rem;
  min-height: 56px;
  padding: 0.85rem 1.05rem;
  border: 1px solid rgba(85, 199, 216, 0.3);
  background: rgba(0, 0, 0, 0.5);
  font-size: 1.05rem;
  color: var(--yd-text);
}

body.direction-yandex-direct .yd-serp__ico {
  width: 13px;
  height: 13px;
  border: 1.5px solid var(--kp-cyan);
  border-radius: 50%;
  position: relative;
  flex: 0 0 auto;
}

body.direction-yandex-direct .yd-serp__ico::after {
  content: "";
  position: absolute;
  width: 6px;
  height: 1.5px;
  right: -4px;
  bottom: -1px;
  background: var(--kp-cyan);
  transform: rotate(40deg);
}

body.direction-yandex-direct .yd-serp__hit {
  margin-top: 1.1rem;
  padding: 1.15rem 1.1rem;
  border-top: 1px solid rgba(120, 170, 220, 0.14);
}

body.direction-yandex-direct .yd-serp__hit.is-ad {
  border: 1px solid rgba(85, 199, 216, 0.32);
  background: rgba(4, 70, 130, 0.12);
}

body.direction-yandex-direct .yd-serp__hit--soft {
  opacity: 0.72;
}

body.direction-yandex-direct .yd-serp__badge {
  margin: 0 0 0.35rem;
  font-size: 0.68rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

body.direction-yandex-direct .yd-serp__title {
  margin: 0;
  font-size: 1.05rem;
  line-height: 1.35;
  color: #8ab4ff;
}

body.direction-yandex-direct .yd-serp__url {
  margin: 0.25rem 0 0.3rem;
  font-size: 0.78rem;
  color: #7dcea0;
}

body.direction-yandex-direct .yd-serp__desc {
  margin: 0.35rem 0 0;
  font-size: 0.9rem;
  line-height: 1.45;
  color: var(--yd-muted);
}

body.direction-yandex-direct .yd-serp > * {
  opacity: 0;
  transform: translateY(8px);
  transition: opacity 0.4s ease, transform 0.4s ease;
}

body.direction-yandex-direct .yd-serp.is-revealed > * {
  opacity: 1;
  transform: none;
}

body.direction-yandex-direct .yd-serp.is-revealed .yd-serp__tabs { transition-delay: 0.02s; }
body.direction-yandex-direct .yd-serp.is-revealed .yd-serp__search { transition-delay: 0.08s; }
body.direction-yandex-direct .yd-serp.is-revealed .yd-serp__hit.is-ad { transition-delay: 0.16s; }
body.direction-yandex-direct .yd-serp.is-revealed .yd-serp__hit:not(.is-ad) { transition-delay: 0.26s; }

/* Editorial lists */
body.direction-yandex-direct .yd-editorial {
  list-style: none;
  margin: 1.75rem 0 0;
  padding: 0;
  display: grid;
  gap: 0;
}

body.direction-yandex-direct .yd-editorial li {
  display: grid;
  grid-template-columns: 3.25rem 1fr;
  gap: 1rem;
  padding: 1.15rem 0;
  border-top: 1px solid rgba(120, 170, 220, 0.16);
}

body.direction-yandex-direct .yd-editorial li:last-child {
  border-bottom: 1px solid rgba(120, 170, 220, 0.16);
}

body.direction-yandex-direct .yd-editorial__n {
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
  padding-top: 0.15rem;
}

body.direction-yandex-direct .yd-editorial h3 {
  margin: 0 0 0.4rem;
  font-size: clamp(1.05rem, 1.6vw, 1.25rem);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--yd-text);
  line-height: 1.25;
}

body.direction-yandex-direct .yd-editorial p {
  margin: 0;
}

body.direction-yandex-direct .yd-closing {
  margin: 1.75rem 0 0;
  max-width: 28rem;
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.3;
  letter-spacing: -0.02em;
  color: var(--yd-text);
}

body.direction-yandex-direct .yd-inline {
  color: var(--kp-cyan);
  text-decoration: none;
  border-bottom: 1px solid rgba(85, 199, 216, 0.45);
}

body.direction-yandex-direct .yd-inline:hover,
body.direction-yandex-direct .yd-inline:focus-visible {
  border-bottom-color: var(--kp-cyan);
}

body.direction-yandex-direct .yd-work-links {
  margin: 1.5rem 0 0;
  color: var(--yd-muted);
  font-size: 0.98rem;
  line-height: 1.5;
}

/* AI product block */
body.direction-yandex-direct .yd-ai {
  padding-top: clamp(2.5rem, 5vw, 4rem);
  padding-bottom: clamp(2.5rem, 5vw, 4rem);
}

body.direction-yandex-direct .yd-ai__panel {
  padding: clamp(1.75rem, 4vw, 3rem);
  border: 1px solid rgba(85, 199, 216, 0.28);
  background:
    radial-gradient(ellipse 60% 50% at 90% 0%, rgba(47, 98, 214, 0.22), transparent 60%),
    linear-gradient(160deg, rgba(2, 18, 36, 0.98), rgba(0, 0, 0, 0.94));
}

body.direction-yandex-direct .yd-ai__panel .kp-h2 {
  max-width: 18ch;
}

body.direction-yandex-direct .yd-ai__caps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.75rem;
  margin: 1.75rem 0 1.5rem;
}

body.direction-yandex-direct .yd-ai__caps article {
  padding: 1rem 0.95rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  background: rgba(0, 0, 0, 0.28);
}

body.direction-yandex-direct .yd-ai__caps span {
  display: block;
  margin-bottom: 0.55rem;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
}

body.direction-yandex-direct .yd-ai__caps h3 {
  margin: 0;
  font-size: 0.88rem;
  letter-spacing: 0.06em;
  line-height: 1.35;
  text-transform: uppercase;
  color: var(--yd-text);
}

body.direction-yandex-direct .yd-theses {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  margin-top: 1.75rem;
  border: 1px solid rgba(120, 170, 220, 0.16);
  background: rgba(120, 170, 220, 0.16);
}

body.direction-yandex-direct .yd-theses article {
  padding: 1.4rem 1.25rem 1.5rem;
  background: rgba(0, 8, 16, 0.9);
}

body.direction-yandex-direct .yd-theses h3 {
  margin: 0 0 0.65rem;
  font-size: 0.92rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--yd-text);
}

body.direction-yandex-direct .yd-theses p {
  margin: 0;
}

/* Pricing */
body.direction-yandex-direct .yd-offers {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.75rem;
}

body.direction-yandex-direct .yd-offer {
  display: grid;
  gap: 0.55rem;
  align-content: start;
  padding: 1.45rem 1.3rem 1.5rem;
  border: 1px solid rgba(120, 170, 220, 0.18);
  background: rgba(0, 8, 16, 0.78);
}

body.direction-yandex-direct .yd-offer--featured {
  border-color: rgba(85, 199, 216, 0.4);
  background:
    linear-gradient(180deg, rgba(4, 48, 86, 0.35), transparent 50%),
    rgba(0, 8, 16, 0.9);
}

body.direction-yandex-direct .yd-offer h3 {
  margin: 0;
  font-size: 1.05rem;
  letter-spacing: 0.07em;
  text-transform: uppercase;
  color: var(--yd-text);
}

body.direction-yandex-direct .yd-offer__price {
  margin: 0.15rem 0 0;
  font-size: clamp(1.55rem, 2.4vw, 1.9rem);
  letter-spacing: -0.03em;
  font-weight: 600;
  color: var(--yd-text);
}

body.direction-yandex-direct .yd-offer__period {
  margin: 0;
  font-size: 0.78rem;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--kp-cyan);
}

body.direction-yandex-direct .yd-offer ul {
  list-style: none;
  margin: 0.35rem 0 0.55rem;
  padding: 0;
  display: grid;
  gap: 0.4rem;
}

body.direction-yandex-direct .yd-offer li {
  position: relative;
  padding-left: 0.95rem;
  font-size: 0.92rem;
  line-height: 1.4;
  color: var(--yd-body);
}

body.direction-yandex-direct .yd-offer li::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.55em;
  width: 5px;
  height: 1px;
  background: var(--kp-cyan);
}

body.direction-yandex-direct .yd-offer .kp-btn {
  justify-self: start;
  margin-top: 0.25rem;
  min-height: 48px;
}

body.direction-yandex-direct .yd-price-note {
  margin: 1.25rem 0 0;
  max-width: 46rem;
  font-size: 0.88rem;
  line-height: 1.5;
  color: var(--yd-muted);
}

/* Cases */
body.direction-yandex-direct .yd-cases {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1rem;
  margin-top: 1.75rem;
}

body.direction-yandex-direct .yd-case {
  display: flex;
  flex-direction: column;
  text-decoration: none;
  color: inherit;
  border: 1px solid rgba(120, 170, 220, 0.18);
  background: rgba(0, 8, 16, 0.7);
  transition: border-color 0.2s ease;
}

body.direction-yandex-direct .yd-case:hover,
body.direction-yandex-direct .yd-case:focus-visible {
  border-color: rgba(85, 199, 216, 0.42);
}

body.direction-yandex-direct .yd-case__media {
  overflow: hidden;
  aspect-ratio: 16 / 9;
  height: auto;
  background: #05070d;
}

body.direction-yandex-direct .yd-case__media img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center top;
}

body.direction-yandex-direct .yd-case:nth-child(1) .yd-case__media img { object-position: center 20%; }
body.direction-yandex-direct .yd-case:nth-child(2) .yd-case__media img { object-position: center 30%; }
body.direction-yandex-direct .yd-case:nth-child(3) .yd-case__media img { object-position: center 15%; }

body.direction-yandex-direct .yd-case__body {
  display: grid;
  gap: 0.45rem;
  padding: 1.15rem 1.1rem 1.25rem;
}

body.direction-yandex-direct .yd-case__name {
  margin: 0;
  font-size: 1rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--yd-text);
}

body.direction-yandex-direct .yd-case__desc,
body.direction-yandex-direct .yd-case__metric {
  margin: 0;
}

body.direction-yandex-direct .yd-case__metric {
  color: var(--yd-text);
  font-size: 0.95rem;
}

body.direction-yandex-direct .yd-case__cta {
  margin-top: 0.35rem;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  color: var(--kp-cyan);
  text-decoration: none;
}

body.direction-yandex-direct .yd-team {
  max-width: 48rem;
}

body.direction-yandex-direct .yd-team .kp-lede + .kp-lede {
  margin-top: 0.85rem;
}

body.direction-yandex-direct .kp-finale .kp-lede {
  max-width: 36rem;
  margin-top: 1rem;
}

body.direction-yandex-direct .kp-btn {
  min-height: 48px;
}

@media (max-width: 1024px) {
  body.direction-yandex-direct .kp-hero__grid,
  body.direction-yandex-direct .yd-theses,
  body.direction-yandex-direct .yd-ai__caps {
    grid-template-columns: 1fr;
  }

  body.direction-yandex-direct .yd-serp {
    margin: 0;
    max-width: none;
  }

  body.direction-yandex-direct .yd-cases {
    grid-template-columns: 1fr 1fr;
  }

  body.direction-yandex-direct .yd-cases .yd-case:first-child {
    grid-column: 1 / -1;
  }
}

@media (max-width: 767px) {
  body.direction-yandex-direct {
    --kp-shell: min(100%, calc(100% - 40px));
  }

  body.direction-yandex-direct .kp-section {
    padding: 2.5rem 0;
  }

  body.direction-yandex-direct .kp-hero {
    min-height: 0;
    height: auto;
    padding: 0 0 1.75rem;
  }

  body.direction-yandex-direct .kp-section--ambient.kp-hero > .kp-shell,
  body.direction-yandex-direct .kp-hero__shell {
    min-height: 0;
    height: auto;
    justify-content: flex-start;
    width: var(--kp-shell);
    max-width: none;
    padding-top: 1.25rem;
    padding-bottom: 1.5rem;
  }

  body.direction-yandex-direct .kp-hero h1 {
    max-width: none;
    font-size: clamp(2.125rem, 8.8vw, 2.375rem);
    line-height: 1.08;
  }

  body.direction-yandex-direct .kp-hero__body {
    margin-top: 1.25rem;
  }

  body.direction-yandex-direct .kp-hero__actions {
    margin-top: 1.35rem;
  }

  body.direction-yandex-direct .yd-hero-price {
    margin-top: 1.35rem;
  }

  body.direction-yandex-direct .yd-hero-price__item {
    padding: 0.95rem 1rem;
  }

  body.direction-yandex-direct .yd-serp__tabs {
    gap: 0.3rem;
    margin-bottom: 0.65rem;
  }

  body.direction-yandex-direct .yd-serp__tab {
    flex: 1 1 auto;
    min-width: 0;
    padding: 0.35rem 0.45rem;
    font-size: 0.64rem;
    text-align: center;
  }

  body.direction-yandex-direct .kp-h2 {
    font-size: clamp(1.75rem, 7vw, 2.125rem);
  }

  body.direction-yandex-direct .yd-editorial h3 {
    font-size: 1.2rem;
  }

  body.direction-yandex-direct .kp-hero__body,
  body.direction-yandex-direct .kp-lede,
  body.direction-yandex-direct .yd-editorial p,
  body.direction-yandex-direct .yd-theses p,
  body.direction-yandex-direct .yd-offer__fit,
  body.direction-yandex-direct .yd-case__desc {
    font-size: 0.96875rem;
    line-height: 1.55;
  }

  body.direction-yandex-direct .kp-hero__grid {
    grid-template-columns: 1fr;
    gap: 1.35rem;
    align-items: start;
  }

  body.direction-yandex-direct .yd-serp {
    flex: none;
    height: auto;
  }

  body.direction-yandex-direct .yd-serp__hit.is-ad {
    flex: none;
  }

  body.direction-yandex-direct .kp-hero__copy {
    display: contents;
  }

  body.direction-yandex-direct .kp-breadcrumb { order: 1; }
  body.direction-yandex-direct .kp-eyebrow { order: 2; }
  body.direction-yandex-direct .kp-hero h1 { order: 3; }
  body.direction-yandex-direct .kp-hero__body { order: 4; }
  body.direction-yandex-direct .kp-hero__actions { order: 5; margin-top: 1.1rem; }
  body.direction-yandex-direct .yd-hero-price { order: 6; margin-top: 1rem; max-width: none; }
  body.direction-yandex-direct .kp-hero__visual { order: 7; }

  body.direction-yandex-direct .kp-hero__grid {
    display: flex;
    flex-direction: column;
  }

  body.direction-yandex-direct .yd-serp {
    max-height: none;
    overflow: visible;
  }

  body.direction-yandex-direct .yd-serp__hit--soft {
    display: none;
  }

  body.direction-yandex-direct .yd-serp__hit {
    margin-top: 0.65rem;
    padding: 0.65rem 0.7rem;
  }

  body.direction-yandex-direct .yd-editorial li {
    grid-template-columns: 2.4rem 1fr;
    gap: 0.75rem;
    padding: 0.95rem 0;
  }

  body.direction-yandex-direct .yd-offers,
  body.direction-yandex-direct .yd-cases,
  body.direction-yandex-direct .yd-theses {
    grid-template-columns: 1fr;
  }

  body.direction-yandex-direct .yd-cases .yd-case:first-child {
    grid-column: auto;
  }

  body.direction-yandex-direct .yd-case__media {
    height: 210px;
  }

  body.direction-yandex-direct .yd-offer {
    padding: 1.25rem 1.1rem 1.3rem;
  }

  body.direction-yandex-direct .yd-offer__price {
    font-size: 1.65rem;
  }

  body.direction-yandex-direct .yd-ai__panel {
    padding: 1.4rem 1.15rem 1.5rem;
  }

  body.direction-yandex-direct .yd-ai__caps {
    grid-template-columns: 1fr;
    gap: 0.55rem;
  }

  body.direction-yandex-direct .yd-closing {
    font-size: 1.2rem;
  }
}

@media (max-width: 430px) {
  body.direction-yandex-direct .yd-case__media {
    height: 200px;
  }
}

@media (prefers-reduced-motion: reduce) {
  body.direction-yandex-direct .yd-serp > * {
    opacity: 1;
    transform: none;
    transition: none;
  }
}
