.jzbal-hero {
  position: relative;
  height: calc(100svh - 80px);
  min-height: 600px;
  max-height: calc(100svh - 80px);
  overflow: hidden;
  color: var(--jz-steel-100);
  border-block-end: 1px solid rgba(82, 226, 229, .2);
  background:
    linear-gradient(115deg, rgba(5, 11, 18, .98), rgba(10, 29, 42, .94)),
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(102, 238, 241, .05) 80px);
}

.jzbal-hero__media,
.jzbal-hero__veil {
  position: absolute;
  inset: 0;
}

.jzbal-hero__media {
  z-index: 0;
  overflow: hidden;
  background: #050b12;
}

.jzbal-hero__video {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
  pointer-events: none;
  transform-origin: center;
}

.jzbal-hero__veil {
  z-index: 1;
  pointer-events: none;
  background:
    linear-gradient(90deg, rgba(3, 10, 16, .98) 0%, rgba(3, 10, 16, .92) 32%, rgba(3, 10, 16, .48) 63%, rgba(3, 10, 16, .18) 100%),
    linear-gradient(0deg, rgba(3, 10, 16, .72), transparent 30%, transparent 75%, rgba(3, 10, 16, .44));
}

html[dir="rtl"] .jzbal-hero__video {
  transform: scaleX(-1);
}

html[dir="rtl"] .jzbal-hero__veil {
  background:
    linear-gradient(270deg, rgba(3, 10, 16, .98) 0%, rgba(3, 10, 16, .92) 32%, rgba(3, 10, 16, .48) 63%, rgba(3, 10, 16, .18) 100%),
    linear-gradient(0deg, rgba(3, 10, 16, .72), transparent 30%, transparent 75%, rgba(3, 10, 16, .44));
}

.jzbal-hero::before {
  content: "";
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  background: repeating-linear-gradient(90deg, transparent 0 79px, rgba(102, 238, 241, .05) 80px);
  -webkit-mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, .62) 58%, transparent);
  mask-image: linear-gradient(90deg, #000, rgba(0, 0, 0, .62) 58%, transparent);
}

html[dir="rtl"] .jzbal-hero::before {
  -webkit-mask-image: linear-gradient(270deg, #000, rgba(0, 0, 0, .62) 58%, transparent);
  mask-image: linear-gradient(270deg, #000, rgba(0, 0, 0, .62) 58%, transparent);
}

.jzbal-hero::after {
  content: "";
  position: absolute;
  z-index: 2;
  inline-size: 440px;
  aspect-ratio: 1;
  inset-inline-end: -100px;
  inset-block-start: -170px;
  border: 1px solid rgba(102, 238, 241, .22);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(102, 238, 241, .025), 0 0 0 140px rgba(102, 238, 241, .018);
  pointer-events: none;
}

.jzbal-hero__inner {
  position: relative;
  z-index: 3;
  display: grid;
  grid-template-columns: minmax(510px, .98fr) minmax(390px, .72fr);
  grid-template-rows: minmax(0, 1fr) auto;
  align-items: center;
  gap: clamp(34px, 4vw, 68px);
  height: 100%;
  min-height: 0;
  padding-block: clamp(28px, 4.5vh, 52px) clamp(18px, 3vh, 30px);
}

.jzbal-hero__copy {
  align-self: center;
  min-inline-size: 0;
}

.jzbal-hero__copy h1,
.jzb-builder__head h2,
.jzb-program h2,
.jzb-faq h2,
.jzb-final h2 {
  margin: 0;
  font-family: var(--jz-display);
  font-weight: 760;
  letter-spacing: -.05em;
  line-height: .98;
}

.jzbal-hero__copy h1 {
  max-inline-size: 780px;
  color: #fff;
  font-size: clamp(46px, 4.65vw, 78px);
  line-height: 1.01;
  text-wrap: balance;
}

.jzbal-hero__lede {
  max-inline-size: 760px;
  margin: 26px 0 0;
  color: var(--jz-steel-300);
  font-size: clamp(17px, 1.25vw, 21px);
  line-height: 1.55;
}

.jzbal-hero__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-block-start: 34px;
}

.jzb-hero-3d-cta {
  position: relative;
  isolation: isolate;
  min-inline-size: min(100%, 250px);
  min-block-size: 50px;
  justify-content: center;
  gap: 10px;
  padding: 10px 16px;
  border-color: rgba(91, 226, 225, .58);
  color: #f3ffff;
  background: linear-gradient(135deg, #126d75, #17878b);
  box-shadow: 0 10px 28px rgba(7, 91, 99, .22);
}

.jzb-hero-3d-cta::before {
  content: "3D";
  display: grid;
  place-items: center;
  inline-size: 24px;
  block-size: 24px;
  border: 1px solid rgba(221, 255, 255, .45);
  border-radius: 6px;
  color: #f3ffff;
  background: rgba(3, 42, 48, .28);
  font-family: var(--jz-mono);
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .05em;
}

.jzb-hero-3d-cta:hover,
.jzb-hero-3d-cta:focus-visible {
  border-color: #b9ffff;
  color: #fff;
  background: linear-gradient(135deg, #16808a, #1b9a9e);
  box-shadow: 0 14px 34px rgba(20, 154, 160, .28), 0 0 0 3px rgba(82, 226, 229, .1);
}

.jzb-hero-catalog-link {
  display: inline-flex;
  min-block-size: 46px;
  align-items: center;
  gap: 8px;
  padding-inline: 10px;
  color: var(--jz-steel-300);
  font-size: 13px;
  font-weight: 780;
  text-decoration: none;
  transition: color .25s ease, transform .25s ease;
}

.jzb-hero-catalog-link svg {
  inline-size: 17px;
  block-size: 17px;
  transition: transform .25s ease;
}

.jzb-hero-catalog-link:hover,
.jzb-hero-catalog-link:focus-visible {
  color: #fff;
  outline: none;
}

.jzb-hero-catalog-link:hover svg,
.jzb-hero-catalog-link:focus-visible svg { transform: translateX(5px); }
[dir="rtl"] .jzb-hero-catalog-link:hover svg,
[dir="rtl"] .jzb-hero-catalog-link:focus-visible svg { transform: translateX(-5px) scaleX(-1); }

.jzb-proofline {
  display: grid;
  grid-column: 1 / -1;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  align-self: end;
  width: 100%;
  margin-block-start: clamp(12px, 2vh, 24px);
  border-block: 1px solid rgba(82, 226, 229, .16);
}

.jzb-proofline span {
  min-inline-size: 0;
  padding: 16px 12px 16px 0;
}

[dir="rtl"] .jzb-proofline span {
  padding: 16px 0 16px 12px;
}

.jzb-proofline span + span {
  padding-inline-start: 18px;
  border-inline-start: 1px solid rgba(82, 226, 229, .16);
}

.jzb-proofline i,
.jzb-proofline b {
  display: block;
}

.jzb-proofline i {
  color: var(--jz-cyan-300);
  font-family: var(--jz-mono);
  font-size: 10px;
  font-style: normal;
}

.jzb-proofline b {
  margin-block-start: 7px;
  color: var(--jz-steel-300);
  font-size: 12px;
  line-height: 1.3;
}

html[lang="ru"] body[data-market-page="balancing"] .jzbal-hero__copy h1 {
  font-size: clamp(43px, 4vw, 68px);
  line-height: 1.02;
}

html[lang="ru"] body[data-market-page="balancing"] .jzbal-hero__lede {
  font-size: clamp(16px, 1.05vw, 18px);
  line-height: 1.5;
}

.jzb-machine-stage {
  position: relative;
  min-inline-size: 0;
  overflow: hidden;
  border: 1px solid rgba(82, 226, 229, .34);
  border-radius: 2px;
  min-block-size: 610px;
  isolation: isolate;
  background: linear-gradient(145deg, rgba(11, 37, 48, .92), rgba(4, 14, 23, .92));
  box-shadow: 0 34px 110px rgba(0, 0, 0, .36), inset 0 0 0 1px rgba(255, 255, 255, .025);
  backdrop-filter: blur(18px);
}

.jzb-machine-stage::before,
.jzb-machine-stage::after {
  content: "";
  position: absolute;
  z-index: 2;
  inline-size: 58px;
  block-size: 58px;
  pointer-events: none;
}

.jzb-machine-stage::before {
  inset: -1px auto auto -1px;
  border-block-start: 3px solid var(--jz-cyan-300);
  border-inline-start: 3px solid var(--jz-cyan-300);
}

.jzb-machine-stage::after {
  inset: auto -1px -1px auto;
  border-inline-end: 3px solid var(--jz-orange);
  border-block-end: 3px solid var(--jz-orange);
}

.jzb-stage__head,
.jzb-stage__telemetry {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 22px;
  font-family: var(--jz-mono);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .12em;
}

.jzb-stage__head {
  position: relative;
  z-index: 6;
  border-block-end: 1px solid rgba(82, 226, 229, .15);
  color: var(--jz-steel-400);
}

.jzb-stage__head b {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--jz-cyan-300);
}

.jzb-stage__head b i {
  inline-size: 7px;
  block-size: 7px;
  border-radius: 50%;
  background: var(--jz-cyan-300);
  box-shadow: 0 0 12px var(--jz-cyan-300);
  animation: jzb-live 1.6s ease-in-out infinite;
}

.jzb-machine-svg {
  position: relative;
  z-index: 3;
  display: block;
  inline-size: 100%;
  block-size: auto;
  transform-origin: 54% 58%;
  transition: opacity .7s ease, filter .7s ease, transform 1.1s cubic-bezier(.2, .75, .2, 1);
}

.jzbal-production-photo {
  position: absolute;
  z-index: 0;
  inset: 0;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  object-position: center;
  opacity: 0;
  filter: saturate(.72) contrast(1.08) brightness(.48);
  transform: scale(1.07);
  transition: opacity 1s ease, filter 1.2s ease, transform 7s cubic-bezier(.2, .65, .25, 1);
}

.jzb-machine-stage::before {
  z-index: 8;
}

.jzb-machine-stage::after {
  z-index: 8;
}

.jzb-machine-stage[data-phase="4"] .jzbal-production-photo {
  opacity: .82;
  filter: saturate(.82) contrast(1.1) brightness(.52);
  transform: scale(1.015);
}

.jzbal-production-scan {
  position: absolute;
  z-index: 2;
  inset: 0;
  pointer-events: none;
  opacity: 0;
  background:
    linear-gradient(90deg, rgba(3, 10, 17, .78), transparent 42%, rgba(3, 10, 17, .22)),
    repeating-linear-gradient(0deg, transparent 0 7px, rgba(92, 239, 242, .055) 8px),
    linear-gradient(110deg, transparent 38%, rgba(93, 242, 244, .2) 49%, transparent 59%);
  background-size: auto, auto, 220% 100%;
  transition: opacity .7s ease;
}

.jzb-machine-stage[data-phase="4"] .jzbal-production-scan {
  opacity: 1;
  animation: jzbal-scan 4.6s linear infinite;
}

.jzbal-drawing {
  opacity: 0;
  transition: opacity .6s ease;
}

.jzbal-drawing path {
  fill: none;
  stroke: #75f5f3;
  stroke-width: 1.25;
  stroke-dasharray: 16 7;
  vector-effect: non-scaling-stroke;
}

.jzbal-drawing text {
  fill: #76dfe2;
  font-family: var(--jz-mono);
  font-size: 8px;
  letter-spacing: .12em;
}

.jzb-machine-stage[data-phase="1"] .jzbal-drawing {
  opacity: .95;
}

.jzb-machine-stage[data-phase="1"] .jzbal-drawing path {
  animation: jzbal-blueprint 2.4s linear infinite;
}

.jzb-machine-stage[data-phase="1"] .jzbal-assembly-part,
.jzb-machine-stage[data-phase="1"] .jzb-drive,
.jzb-machine-stage[data-phase="1"] .jzb-signal,
.jzb-machine-stage[data-phase="1"] .jzb-callout {
  opacity: .14;
  filter: saturate(0) brightness(1.7);
}

.jzb-machine-stage[data-phase="2"] .jzb-machine-svg {
  filter: drop-shadow(0 24px 30px rgba(38, 220, 225, .18));
  transform: perspective(1000px) rotateX(3deg) rotateY(-6deg) translateY(-4px) scale(.98);
  animation: jzbal-twin 4s ease-in-out infinite alternate;
}

[dir="rtl"] .jzb-machine-stage[data-phase="2"] .jzb-machine-svg {
  transform: perspective(1000px) rotateX(3deg) rotateY(6deg) translateY(-4px) scale(.98);
}

.jzb-machine-stage[data-phase="3"] .jzbal-assembly-part {
  animation: jzbal-assemble .8s cubic-bezier(.16, .8, .25, 1) both;
}

.jzb-machine-stage[data-phase="3"] [data-machine-support="1"] { animation-delay: .08s; }
.jzb-machine-stage[data-phase="3"] [data-machine-support="2"] { animation-delay: .2s; }
.jzb-machine-stage[data-phase="3"] [data-machine-support="3"] { animation-delay: .32s; }
.jzb-machine-stage[data-phase="3"] [data-machine-support="4"] { animation-delay: .44s; }
.jzb-machine-stage[data-phase="3"] .jzbal-assembly-part--rotor { animation-delay: .6s; }

.jzb-machine-stage[data-phase="4"] .jzb-machine-svg {
  opacity: .55;
  filter: drop-shadow(0 0 12px rgba(77, 235, 238, .4));
  transform: translateY(8px) scale(.96);
  mix-blend-mode: screen;
}

.jzbal-phasebar {
  position: relative;
  z-index: 7;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block-start: 1px solid rgba(82, 226, 229, .16);
  border-block-end: 1px solid rgba(82, 226, 229, .16);
  background: rgba(3, 13, 21, .78);
  backdrop-filter: blur(12px);
}

.jzbal-phasebar button {
  position: relative;
  min-inline-size: 0;
  padding: 13px 10px 12px;
  border: 0;
  border-inline-end: 1px solid rgba(82, 226, 229, .11);
  color: #66828d;
  background: transparent;
  text-align: start;
  cursor: pointer;
  transition: color .25s ease, background .25s ease;
}

.jzbal-phasebar button:last-child { border-inline-end: 0; }

.jzbal-phasebar button::after {
  position: absolute;
  inset: auto 0 0;
  block-size: 2px;
  background: linear-gradient(90deg, var(--jz-cyan-300), var(--jz-orange));
  transform: scaleX(0);
  transform-origin: left;
  transition: transform .35s ease;
  content: "";
}

[dir="rtl"] .jzbal-phasebar button::after { transform-origin: right; }

.jzbal-phasebar button[aria-selected="true"] {
  color: #eaffff;
  background: rgba(75, 229, 232, .07);
}

.jzbal-phasebar button[aria-selected="true"]::after { transform: scaleX(1); }

.jzbal-phasebar button:focus-visible {
  outline: 2px solid var(--jz-cyan-300);
  outline-offset: -2px;
}

.jzbal-phasebar i,
.jzbal-phasebar span {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.jzbal-phasebar i {
  color: var(--jz-orange);
  font-family: var(--jz-mono);
  font-size: 8px;
  font-style: normal;
}

.jzbal-phasebar span {
  margin-block-start: 5px;
  font-family: var(--jz-mono);
  font-size: 8px;
  font-weight: 700;
  letter-spacing: .08em;
}

.jzb-gridlines path {
  fill: none;
  stroke: #54dce0;
  stroke-width: 1;
}

.jzb-support {
  transition: opacity .3s ease, transform .45s cubic-bezier(.22, .75, .22, 1);
}

.jzb-support.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.jzb-callout text {
  fill: #8aa5af;
  font-family: var(--jz-mono);
  font-size: 8px;
  letter-spacing: .1em;
}

.jzb-callout .jzb-callout__value {
  fill: #64ebed;
  font-size: 10px;
  font-weight: 800;
}

.jzb-stage__telemetry {
  position: relative;
  z-index: 7;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  border-block-start: 1px solid rgba(82, 226, 229, .15);
}

.jzb-stage__telemetry span + span {
  padding-inline-start: 18px;
  border-inline-start: 1px solid rgba(82, 226, 229, .14);
}

.jzb-stage__telemetry small,
.jzb-stage__telemetry b {
  display: block;
}

.jzb-stage__telemetry small {
  color: var(--jz-steel-500);
  font-size: 8px;
}

.jzb-stage__telemetry b {
  margin-block-start: 7px;
  overflow-wrap: anywhere;
  color: #fff;
  font-size: 10px;
}

.jzb-routes,
.jzb-lego,
.jzb-faq {
  padding-block: clamp(82px, 10vw, 148px);
}

.jzb-routes {
  background:
    linear-gradient(rgba(11, 37, 48, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 37, 48, .045) 1px, transparent 1px),
    var(--jz-paper-50);
  background-size: 64px 64px;
}

.jzb-route-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 20px;
}

.jzb-route-card {
  position: relative;
  display: flex;
  min-height: 560px;
  flex-direction: column;
  overflow: hidden;
  padding: clamp(28px, 4vw, 54px);
  border: 1px solid rgba(11, 37, 48, .14);
  border-radius: 22px;
  color: var(--jz-ink-900);
  background: rgba(255, 255, 255, .82);
  box-shadow: 0 24px 80px rgba(5, 11, 18, .08);
  backdrop-filter: blur(14px);
  transition: transform .4s cubic-bezier(.22, .75, .22, 1), box-shadow .4s ease, border-color .4s ease;
}

.jzb-route-card::after {
  content: "";
  position: absolute;
  inline-size: 300px;
  aspect-ratio: 1;
  inset-inline-end: -120px;
  inset-block-end: -150px;
  border: 1px solid rgba(36, 199, 203, .22);
  border-radius: 50%;
  box-shadow: 0 0 0 40px rgba(36, 199, 203, .03), 0 0 0 80px rgba(36, 199, 203, .02);
}

.jzb-route-card--complete {
  color: #fff;
  border-color: rgba(82, 226, 229, .26);
  background: linear-gradient(145deg, #0c2634, #050b12);
}

.jzb-route-card:hover,
.jzb-route-card:focus-visible {
  border-color: rgba(36, 199, 203, .58);
  box-shadow: 0 34px 90px rgba(5, 11, 18, .15);
  outline: none;
  transform: translateY(-8px) rotateX(1.5deg);
}

.jzb-route-card__index,
.jzb-card-kicker {
  position: relative;
  z-index: 1;
  color: var(--jz-cyan-500);
  font-family: var(--jz-mono);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
}

.jzb-route-card h3 {
  position: relative;
  z-index: 1;
  max-inline-size: 640px;
  margin: 42px 0 20px;
  font-family: var(--jz-display);
  font-size: clamp(34px, 4vw, 62px);
  letter-spacing: -.045em;
  line-height: 1;
}

.jzb-route-card p {
  position: relative;
  z-index: 1;
  max-inline-size: 640px;
  margin: 0;
  color: var(--jz-muted);
  font-size: 18px;
  line-height: 1.55;
}

.jzb-route-card--complete p {
  color: var(--jz-steel-300);
}

.jzb-route-card > strong,
.jzb-architecture-card button,
.jzb-machine-card button {
  position: relative;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-block-start: auto;
  padding-block-start: 34px;
  color: inherit;
  font-size: 14px;
  font-weight: 820;
}

.jzb-route-card svg,
.jzb-architecture-card button svg,
.jzb-machine-card button svg {
  inline-size: 19px;
  block-size: 19px;
  transition: transform .25s ease;
}

.jzb-route-card:hover svg,
.jzb-architecture-card button:hover svg,
.jzb-machine-card button:hover svg {
  transform: translateX(6px);
}

[dir="rtl"] .jzb-route-card:hover svg,
[dir="rtl"] .jzb-architecture-card button:hover svg,
[dir="rtl"] .jzb-machine-card button:hover svg {
  transform: translateX(-6px) scaleX(-1);
}

.jzb-route-card__parts,
.jzb-route-card__machine {
  position: relative;
  z-index: 1;
  block-size: 130px;
  margin-block-start: 42px;
}

.jzb-route-card__parts i {
  position: absolute;
  inset-block-end: 28px;
  inline-size: 72px;
  block-size: 56px;
  border: 1px solid var(--jz-cyan-500);
  background: rgba(36, 199, 203, .08);
  box-shadow: 12px 12px 0 rgba(36, 199, 203, .04);
  transform: rotate(-6deg);
}

.jzb-route-card__parts i:nth-child(1) { inset-inline-start: 2%; }
.jzb-route-card__parts i:nth-child(2) { inset-inline-start: 20%; transform: translateY(-24px) rotate(4deg); }
.jzb-route-card__parts i:nth-child(3) { inset-inline-start: 39%; transform: rotate(-2deg); }
.jzb-route-card__parts i:nth-child(4) { inset-inline-start: 58%; transform: translateY(-34px) rotate(7deg); }
.jzb-route-card__parts i:nth-child(5) { inset-inline-start: 78%; transform: rotate(-4deg); }

.jzb-route-card__machine::before {
  content: "";
  position: absolute;
  inset-inline: 6%;
  inset-block-end: 18px;
  block-size: 24px;
  border: 1px solid var(--jz-cyan-300);
  background: linear-gradient(90deg, #102f3d, var(--jz-cyan-300), #102f3d);
}

.jzb-route-card__machine i {
  position: absolute;
  inline-size: 58px;
  block-size: 82px;
  inset-block-end: 42px;
  border: 1px solid var(--jz-cyan-300);
  background: #0c2532;
}

.jzb-route-card__machine i:nth-child(1) { inset-inline-start: 16%; }
.jzb-route-card__machine i:nth-child(2) { inset-inline-start: 46%; }
.jzb-route-card__machine i:nth-child(3) { inset-inline-start: 74%; }

.jzb-route-kit-visual {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
  min-block-size: 154px;
  margin-block-start: 34px;
}

.jzb-kit-part {
  position: relative;
  display: grid;
  min-inline-size: 0;
  grid-template-rows: 1fr auto;
  place-items: center;
  gap: 6px;
  padding: 10px 6px 9px;
  overflow: hidden;
  border: 1px solid rgba(10, 165, 174, .2);
  border-radius: 12px;
  background:
    linear-gradient(rgba(10, 165, 174, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(10, 165, 174, .045) 1px, transparent 1px),
    linear-gradient(145deg, rgba(255, 255, 255, .96), rgba(223, 241, 240, .75));
  background-size: 12px 12px, 12px 12px, auto;
  box-shadow: inset 0 1px 0 #fff, 0 12px 28px rgba(5, 11, 18, .08);
  transition: transform .35s cubic-bezier(.22, .75, .22, 1), border-color .35s ease, box-shadow .35s ease;
}

.jzb-kit-part::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(112deg, transparent 25%, rgba(82, 226, 229, .24) 48%, transparent 70%);
  opacity: 0;
  transform: translateX(-100%);
  pointer-events: none;
}

.jzb-kit-part svg {
  inline-size: min(100%, 96px);
  block-size: 76px;
  overflow: visible;
  filter: drop-shadow(0 8px 8px rgba(5, 23, 31, .16));
}

.jzb-kit-part small {
  max-inline-size: 100%;
  color: var(--jz-ink-700);
  font-family: var(--jz-mono);
  font-size: 8px;
  font-weight: 820;
  letter-spacing: .04em;
  line-height: 1.25;
  text-align: center;
  text-transform: uppercase;
}

.jzb-kit-part :is(path, circle, rect) {
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jzb-svg-shadow { fill: rgba(5, 23, 31, .16); stroke: none; }
.jzb-svg-body { fill: #1f5267; stroke: #0d2734; stroke-width: 1.4; }
.jzb-svg-side { fill: #0c3040; stroke: #08232f; stroke-width: 1.2; }
.jzb-svg-metal { fill: #b9c9cd; stroke: #526a72; stroke-width: 1.4; }
.jzb-svg-dark { fill: #102a35; stroke: #081b24; stroke-width: 1.2; }
.jzb-svg-accent { fill: var(--jz-orange); stroke: #9c471a; stroke-width: 1.1; }
.jzb-svg-screen { fill: #071c28; stroke: #57dfe0; stroke-width: 1.2; }
.jzb-svg-line,
.jzb-svg-shaft,
.jzb-svg-signal,
.jzb-svg-belt { fill: none; stroke: #6e858c; stroke-width: 1.7; }
.jzb-svg-shaft { stroke: #314b54; stroke-width: 5; }
.jzb-svg-signal { stroke: #24c7cb; stroke-width: 2; }
.jzb-svg-belt { stroke: #0b1e27; stroke-width: 4; }

.jzb-route-card:hover .jzb-kit-part:nth-child(2),
.jzb-route-card:focus-visible .jzb-kit-part:nth-child(2) { transform: translateY(-6px); }
.jzb-route-card:hover .jzb-kit-part:nth-child(4),
.jzb-route-card:focus-visible .jzb-kit-part:nth-child(4) { transform: translateY(-9px); }
.jzb-route-card:hover .jzb-kit-part,
.jzb-route-card:focus-visible .jzb-kit-part { border-color: rgba(10, 165, 174, .54); box-shadow: inset 0 1px 0 #fff, 0 16px 32px rgba(10, 165, 174, .13); }
.jzb-route-card:hover .jzb-kit-part::after,
.jzb-route-card:focus-visible .jzb-kit-part::after { animation: jzb-kit-scan 1s ease forwards; }
.jzb-route-card:hover [data-kit-part="motor"] .jzb-svg-metal,
.jzb-route-card:focus-visible [data-kit-part="motor"] .jzb-svg-metal,
.jzb-route-card:hover [data-kit-part="drive"] .jzb-svg-metal,
.jzb-route-card:focus-visible [data-kit-part="drive"] .jzb-svg-metal { animation: jzb-kit-spin 1.8s linear infinite; transform-box: fill-box; transform-origin: center; }
.jzb-route-card:hover .jzb-svg-signal,
.jzb-route-card:focus-visible .jzb-svg-signal { stroke-dasharray: 7 5; animation: jzb-signal-flow .8s linear infinite; }

.jzb-route-machine-visual {
  position: relative;
  z-index: 1;
  min-block-size: 220px;
  margin-block-start: 28px;
  overflow: hidden;
  border: 1px solid rgba(82, 226, 229, .25);
  border-radius: 16px;
  background: #e7ecec;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .65), 0 24px 50px rgba(0, 0, 0, .24);
}

.jzb-route-machine-visual::after {
  content: "";
  position: absolute;
  inset-inline: 0;
  inset-block-start: -2px;
  block-size: 2px;
  background: linear-gradient(90deg, transparent, #52e2e5 35% 65%, transparent);
  box-shadow: 0 0 16px rgba(82, 226, 229, .8);
  opacity: 0;
}

.jzb-route-machine-visual img {
  display: block;
  inline-size: 100%;
  block-size: 220px;
  object-fit: contain;
  object-position: center;
  transition: transform .65s cubic-bezier(.22, .75, .22, 1), filter .45s ease;
}

.jzb-route-machine-visual span {
  position: absolute;
  inset-inline-end: 13px;
  inset-block-end: 13px;
  padding: 7px 9px;
  border: 1px solid rgba(82, 226, 229, .54);
  color: #dfffff;
  background: rgba(4, 17, 25, .86);
  box-shadow: 0 8px 24px rgba(0, 0, 0, .25);
  font-family: var(--jz-mono);
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.jzb-route-card:hover .jzb-route-machine-visual img,
.jzb-route-card:focus-visible .jzb-route-machine-visual img { filter: saturate(1.08) contrast(1.04); transform: scale(1.045); }
.jzb-route-card:hover .jzb-route-machine-visual::after,
.jzb-route-card:focus-visible .jzb-route-machine-visual::after { animation: jzb-photo-scan 2.2s ease-in-out infinite; opacity: 1; }

@keyframes jzb-kit-scan {
  0% { opacity: 0; transform: translateX(-100%); }
  38% { opacity: .9; }
  100% { opacity: 0; transform: translateX(100%); }
}

@keyframes jzb-kit-spin { to { transform: rotate(360deg); } }

.jzb-architecture,
.jzb-catalog,
.jzb-program,
.jzb-final {
  color: var(--jz-steel-100);
  background: #050b12;
}

.jzb-architecture,
.jzb-catalog,
.jzb-program {
  padding-block: clamp(86px, 10vw, 146px);
}

.jzb-architecture {
  position: relative;
  overflow: hidden;
  border-block: 1px solid rgba(82, 226, 229, .14);
  background:
    radial-gradient(circle at 15% 30%, rgba(36, 199, 203, .11), transparent 32rem),
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(82, 226, 229, .04) 80px),
    #050b12;
}

.jzb-architecture .jzm-section-head h2,
.jzb-catalog .jzm-section-head h2 {
  color: #fff;
}

.jzb-architecture .jzm-section-head > p,
.jzb-catalog .jzm-section-head > p {
  color: var(--jz-steel-300);
}

.jzb-architecture-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.jzb-architecture-card {
  position: relative;
  padding: clamp(28px, 4vw, 52px);
  overflow: hidden;
  border: 1px solid rgba(82, 226, 229, .17);
  border-radius: 20px;
  background: rgba(11, 37, 48, .54);
  box-shadow: 0 24px 70px rgba(0, 0, 0, .18);
  transition: border-color .3s ease, background-color .3s ease, transform .3s ease;
}

.jzb-architecture-card.is-active {
  border-color: var(--jz-cyan-300);
  background: linear-gradient(145deg, rgba(14, 50, 63, .92), rgba(5, 17, 27, .92));
  transform: translateY(-5px);
}

.jzb-tech-mark {
  position: relative;
  block-size: 130px;
  margin-block-end: 30px;
}

.jzb-tech-mark::before {
  content: "";
  position: absolute;
  inline-size: 72%;
  block-size: 16px;
  inset-inline-start: 14%;
  inset-block-end: 5px;
  background: linear-gradient(90deg, transparent, #284f5e 10% 90%, transparent);
}

.jzb-tech-mark span,
.jzb-tech-mark i,
.jzb-tech-mark b {
  position: absolute;
  inset-block-end: 21px;
  inline-size: 64px;
  block-size: 90px;
  border: 1px solid var(--jz-cyan-300);
  background: #0c2735;
}

.jzb-tech-mark span { inset-inline-start: 18%; }
.jzb-tech-mark i { inset-inline-start: 45%; }
.jzb-tech-mark b { inset-inline-start: 72%; }

.jzb-tech-mark--soft span,
.jzb-tech-mark--soft i,
.jzb-tech-mark--soft b {
  transform-origin: 50% 100%;
  animation: jzb-pendulum 3s ease-in-out infinite alternate;
}

.jzb-tech-mark--soft i { animation-delay: -.8s; }
.jzb-tech-mark--soft b { animation-delay: -1.6s; }

.jzb-support-visual {
  position: relative;
  min-block-size: 238px;
  margin-block-end: 30px;
  padding: 8px 10px 35px;
  overflow: hidden;
  border: 1px solid rgba(82, 226, 229, .18);
  border-radius: 14px;
  background:
    linear-gradient(rgba(82, 226, 229, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(82, 226, 229, .045) 1px, transparent 1px),
    linear-gradient(145deg, rgba(16, 50, 63, .82), rgba(3, 16, 25, .94));
  background-size: 22px 22px, 22px 22px, auto;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04), 0 22px 50px rgba(0, 0, 0, .22);
}

.jzb-support-visual::before {
  content: "";
  position: absolute;
  inset-inline-start: -20%;
  inset-block-start: -20%;
  inline-size: 55%;
  block-size: 160%;
  background: linear-gradient(105deg, transparent, rgba(82, 226, 229, .09), transparent);
  transform: skewX(-18deg);
  transition: transform .8s ease;
}

.jzb-architecture-card:hover .jzb-support-visual::before { transform: translateX(220%) skewX(-18deg); }

.jzb-support-visual svg {
  position: relative;
  z-index: 1;
  display: block;
  inline-size: 100%;
  block-size: 180px;
  overflow: visible;
  filter: drop-shadow(0 12px 10px rgba(0, 0, 0, .28));
}

.jzb-support-visual svg :is(path, rect, circle) {
  vector-effect: non-scaling-stroke;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.jzb-support-rail { fill: #0e3141; stroke: #3e8e9b; stroke-width: 1.2; }
.jzb-support-rail-top { fill: #1d5d70; stroke: #62cfd2; stroke-width: 1; }
.jzb-support-body { fill: #254e60; stroke: #76c8cc; stroke-width: 1.2; }
.jzb-support-side { fill: #102f3c; stroke: #3c8793; stroke-width: 1; }
.jzb-support-roller { fill: #aebfc3; stroke: #dff6f4; stroke-width: 1.2; }
.jzb-support-shaft { fill: none; stroke: #edf9f7; stroke-width: 7; }
.jzb-force-sensor { fill: var(--jz-orange); stroke: #ffc18d; stroke-width: 1.2; }
.jzb-sensor-cable { fill: none; stroke: #ff9a57; stroke-width: 1.8; stroke-dasharray: 5 4; }
.jzb-soft-frame { fill: none; stroke: #58cdd0; stroke-width: 6; }
.jzb-soft-link { fill: none; stroke: #9bdadd; stroke-width: 3; }
.jzb-soft-yoke { fill: #173e4e; stroke: #77d4d5; stroke-width: 1.2; }
.jzb-vibration-sensor { fill: var(--jz-orange); stroke: #ffd0ae; stroke-width: 1.2; }
.jzb-sensor-wave { fill: none; stroke: #ff9a57; stroke-width: 1.8; stroke-dasharray: 5 4; }

.jzb-support-unit text {
  fill: #dfffff;
  font-family: var(--jz-mono);
  font-size: 15px;
  font-weight: 900;
  letter-spacing: .08em;
  text-anchor: middle;
}

.jzb-support-legend {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  gap: 7px;
  inset-inline-end: 12px;
  inset-block-end: 10px;
  color: #ffd0ae;
  font-family: var(--jz-mono);
  font-size: 8px;
  font-weight: 800;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.jzb-support-legend > i {
  inline-size: 7px;
  block-size: 7px;
  border-radius: 50%;
  background: var(--jz-orange);
  box-shadow: 0 0 0 5px rgba(255, 133, 53, .12), 0 0 12px rgba(255, 133, 53, .7);
}

.jzb-architecture-card:hover .jzb-force-sensor,
.jzb-architecture-card:hover .jzb-vibration-sensor { animation: jzb-sensor-beat .9s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
.jzb-architecture-card:hover .jzb-sensor-cable,
.jzb-architecture-card:hover .jzb-sensor-wave { animation: jzb-signal-flow .75s linear infinite; }
.jzb-architecture-card:hover .jzb-support-visual--soft .jzb-soft-yoke { animation: jzb-support-sway 1s ease-in-out infinite alternate; transform-box: fill-box; transform-origin: top center; }

@keyframes jzb-sensor-beat { 50% { transform: scale(1.32); filter: drop-shadow(0 0 8px rgba(255, 133, 53, .9)); } }
@keyframes jzb-support-sway { to { transform: translateX(3px) rotate(1.5deg); } }

.jzb-architecture-card h3 {
  margin: 18px 0 16px;
  color: #fff;
  font-size: clamp(28px, 3vw, 42px);
  line-height: 1.06;
}

.jzb-architecture-card > p {
  margin: 0;
  color: var(--jz-steel-300);
  font-size: 16px;
  line-height: 1.6;
}

.jzb-architecture-card dl {
  margin: 30px 0 0;
  border-block-start: 1px solid rgba(82, 226, 229, .15);
}

.jzb-architecture-card dl div {
  display: grid;
  grid-template-columns: minmax(120px, .38fr) minmax(0, .62fr);
  gap: 18px;
  padding-block: 15px;
  border-block-end: 1px solid rgba(82, 226, 229, .11);
}

.jzb-architecture-card dt {
  color: var(--jz-cyan-300);
  font-family: var(--jz-mono);
  font-size: 9px;
  letter-spacing: .1em;
  text-transform: uppercase;
}

.jzb-architecture-card dd {
  margin: 0;
  color: var(--jz-steel-200);
  font-size: 13px;
}

.jzb-architecture-card button,
.jzb-machine-card button {
  border: 0;
  background: transparent;
  cursor: pointer;
}

.jzb-architecture-card button {
  color: var(--jz-cyan-300);
}

.jzb-engineering-note {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin: 24px 0 0;
  padding: 18px 20px;
  border-inline-start: 3px solid var(--jz-orange);
  color: var(--jz-steel-400);
  background: rgba(255, 133, 53, .055);
  font-size: 13px;
}

.jzb-engineering-note svg,
.jzb-summary__note svg {
  flex: 0 0 18px;
  inline-size: 18px;
  block-size: 18px;
  color: var(--jz-orange);
}

.jzb-builder {
  padding-block: clamp(86px, 9vw, 134px);
  scroll-margin-top: 76px;
  background:
    radial-gradient(circle at 88% 18%, rgba(36, 199, 203, .12), transparent 28rem),
    linear-gradient(rgba(11, 37, 48, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 37, 48, .04) 1px, transparent 1px),
    #f4f7f6;
  background-size: auto, 64px 64px, 64px 64px, auto;
}

.jzb-builder__head {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr);
  align-items: end;
  gap: 56px;
  margin-block-end: 48px;
}

.jzb-builder__head h2 {
  max-inline-size: 920px;
  color: var(--jz-ink-900);
  font-size: clamp(44px, 6vw, 84px);
}

.jzb-builder__head > p,
.jzb-builder__intro > p {
  margin: 0;
  color: var(--jz-muted);
  font-size: 18px;
}

.jzb-builder__intro {
  display: grid;
  gap: 22px;
}

.jzb-workspace-launch {
  display: inline-flex;
  inline-size: fit-content;
  max-inline-size: 100%;
  min-block-size: 46px;
  align-items: center;
  justify-content: center;
  gap: 9px;
  padding: 10px 15px;
  border: 1px solid #0d7077;
  border-radius: 8px;
  color: #f7ffff;
  background: #0d7077;
  font-weight: 750;
  font-size: 12px;
  letter-spacing: .02em;
  text-align: center;
  text-decoration: none;
  box-shadow: 0 10px 24px rgba(7, 84, 91, .16);
  transition: color .2s ease, border-color .2s ease, background-color .2s ease, transform .2s ease;
}

.jzb-workspace-launch svg {
  inline-size: 18px;
  block-size: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.7;
}

.jzb-workspace-launch:hover,
.jzb-workspace-launch:focus-visible {
  border-color: #095c62;
  color: #fff;
  background: #095c62;
  transform: translateY(-2px);
}

.jzb-builder__layout {
  display: grid;
  grid-template-columns: minmax(0, 1.16fr) minmax(370px, .84fr);
  align-items: start;
  gap: 24px;
}

.jzb-configurator {
  overflow: hidden;
  border: 1px solid rgba(11, 37, 48, .15);
  border-radius: 22px;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 26px 80px rgba(5, 11, 18, .08);
}

.jzb-configurator fieldset {
  min-inline-size: 0;
  margin: 0;
  padding: clamp(24px, 3vw, 36px);
  border: 0;
  border-block-end: 1px solid rgba(11, 37, 48, .11);
}

.jzb-configurator fieldset:last-child {
  border-block-end: 0;
}

.jzb-configurator legend {
  display: flex;
  inline-size: 100%;
  align-items: center;
  gap: 12px;
  margin-block-end: 22px;
  padding: 0;
  color: var(--jz-ink-900);
}

.jzb-configurator legend span {
  color: var(--jz-cyan-500);
  font-family: var(--jz-mono);
  font-size: 11px;
}

.jzb-configurator legend b {
  font-size: 18px;
}

.jzb-segmented {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.jzb-segmented label,
.jzb-option-grid label {
  position: relative;
  cursor: pointer;
}

.jzb-segmented input,
.jzb-option-grid input {
  position: absolute;
  inline-size: 1px;
  block-size: 1px;
  opacity: 0;
}

.jzb-segmented label > span {
  display: block;
  min-height: 104px;
  padding: 18px;
  border: 1px solid rgba(11, 37, 48, .15);
  border-radius: 12px;
  background: var(--jz-paper-50);
  transition: border-color .2s ease, background-color .2s ease, box-shadow .2s ease;
}

.jzb-segmented input:checked + span {
  border-color: var(--jz-cyan-500);
  background: rgba(36, 199, 203, .09);
  box-shadow: inset 4px 0 0 var(--jz-cyan-500);
}

[dir="rtl"] .jzb-segmented input:checked + span {
  box-shadow: inset -4px 0 0 var(--jz-cyan-500);
}

.jzb-segmented input:focus-visible + span,
.jzb-option-grid input:focus-visible + span {
  outline: 3px solid rgba(36, 199, 203, .2);
  outline-offset: 2px;
}

.jzb-segmented b,
.jzb-segmented small {
  display: block;
}

.jzb-segmented b {
  color: var(--jz-ink-900);
  font-size: 15px;
}

.jzb-segmented small {
  margin-block-start: 7px;
  color: var(--jz-muted);
  font-size: 12px;
}

.jzb-form-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.jzb-form-grid label {
  display: grid;
  min-inline-size: 0;
  gap: 8px;
}

.jzb-form-grid label > span {
  color: var(--jz-ink-700);
  font-size: 12px;
  font-weight: 800;
}

.jzb-form-grid select {
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: 52px;
  padding: 12px 42px 12px 14px;
  border: 1px solid rgba(11, 37, 48, .17);
  border-radius: 10px;
  color: var(--jz-ink-900);
  background-color: #fff;
  font: inherit;
}

[dir="rtl"] .jzb-form-grid select {
  padding: 12px 14px 12px 42px;
}

.jzb-form-grid select:focus-visible {
  border-color: var(--jz-cyan-500);
  outline: 3px solid rgba(36, 199, 203, .17);
}

.jzb-form-grid small {
  min-block-size: 18px;
  color: var(--jz-cyan-500);
  font-size: 11px;
}

.jzb-option-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.jzb-option-grid label > span {
  display: flex;
  min-height: 64px;
  align-items: center;
  padding: 14px 15px;
  border: 1px solid rgba(11, 37, 48, .14);
  border-radius: 10px;
  color: var(--jz-ink-700);
  background: var(--jz-paper-50);
  font-size: 12px;
  font-weight: 760;
}

.jzb-option-grid input:checked + span {
  color: var(--jz-ink-900);
  border-color: var(--jz-cyan-500);
  background: rgba(36, 199, 203, .1);
}

.jzb-option-grid input:checked + span::before {
  content: "✓";
  margin-inline-end: 8px;
  color: var(--jz-cyan-500);
  font-weight: 900;
}

.jzb-summary {
  position: sticky;
  inset-block-start: 96px;
  overflow: hidden;
  padding: 26px;
  border: 1px solid rgba(82, 226, 229, .3);
  border-radius: 20px;
  color: var(--jz-steel-100);
  background: linear-gradient(155deg, rgba(11, 37, 48, .98), rgba(4, 14, 23, .98));
  box-shadow: 0 30px 90px rgba(5, 11, 18, .22);
}

.jzb-summary::after {
  content: "";
  position: absolute;
  inline-size: 180px;
  aspect-ratio: 1;
  inset-inline-end: -90px;
  inset-block-start: -90px;
  border: 1px solid rgba(82, 226, 229, .18);
  border-radius: 50%;
  box-shadow: 0 0 0 34px rgba(82, 226, 229, .025), 0 0 0 68px rgba(82, 226, 229, .018);
}

.jzb-summary__head {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  font-family: var(--jz-mono);
  font-size: 9px;
  letter-spacing: .1em;
}

.jzb-summary__head span {
  color: var(--jz-cyan-300);
}

.jzb-summary__head b {
  padding: 6px 8px;
  border: 1px solid rgba(82, 226, 229, .2);
  color: #aef6f3;
  background: rgba(82, 226, 229, .07);
}

.jzb-summary__head b.is-review {
  color: #ffc18d;
  border-color: rgba(255, 133, 53, .3);
  background: rgba(255, 133, 53, .08);
}

.jzb-mini-machine {
  position: relative;
  min-height: 164px;
  margin: 24px 0;
  border: 1px solid rgba(82, 226, 229, .12);
  background:
    linear-gradient(rgba(82, 226, 229, .05) 1px, transparent 1px),
    linear-gradient(90deg, rgba(82, 226, 229, .05) 1px, transparent 1px);
  background-size: 28px 28px;
}

.jzb-mini-machine__rail {
  position: absolute;
  inline-size: 84%;
  block-size: 18px;
  inset-inline-start: 8%;
  inset-block-end: 26px;
  background: linear-gradient(90deg, #163848, var(--jz-cyan-300), #163848);
  transition: inline-size .3s ease, inset-inline-start .3s ease;
}

.jzb-mini-machine__rotor {
  position: absolute;
  inline-size: 62%;
  block-size: 16px;
  inset-inline-start: 19%;
  inset-block-end: 95px;
  border-radius: 12px;
  background: linear-gradient(90deg, #55717d, #d8e7e9 40% 60%, #55717d);
}

.jzb-mini-machine__supports {
  position: absolute;
  inset: 0;
}

.jzb-mini-support {
  position: absolute;
  inline-size: 46px;
  block-size: 72px;
  inset-block-end: 44px;
  border: 1px solid var(--jz-cyan-300);
  background: #0a2230;
  transform: translateX(-50%);
}

[dir="rtl"] .jzb-mini-support {
  transform: translateX(50%);
}

.jzb-mini-support::after {
  content: "";
  position: absolute;
  inline-size: 22px;
  aspect-ratio: 1;
  inset-inline-start: 50%;
  inset-block-start: 10px;
  border: 4px solid #d9fafa;
  border-radius: 50%;
  transform: translateX(-50%);
}

[dir="rtl"] .jzb-mini-support::after {
  transform: translateX(50%);
}

.jzb-summary__code {
  padding: 17px;
  border: 1px solid rgba(82, 226, 229, .15);
  background: rgba(82, 226, 229, .04);
}

.jzb-summary__code small,
.jzb-summary__code strong {
  display: block;
}

.jzb-summary__code small,
.jzb-summary__bom > span {
  color: var(--jz-steel-500);
  font-family: var(--jz-mono);
  font-size: 8px;
  letter-spacing: .12em;
}

.jzb-summary__code strong {
  margin-block-start: 7px;
  overflow-wrap: anywhere;
  color: #fff;
  font-family: var(--jz-mono);
  font-size: 13px;
}

.jzb-summary__facts {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 18px 0 0;
  border-block-start: 1px solid rgba(82, 226, 229, .13);
}

.jzb-summary__facts div {
  min-inline-size: 0;
  padding: 13px 10px 13px 0;
  border-block-end: 1px solid rgba(82, 226, 229, .1);
}

[dir="rtl"] .jzb-summary__facts div {
  padding: 13px 0 13px 10px;
}

.jzb-summary__facts div:nth-child(even) {
  padding-inline-start: 12px;
  border-inline-start: 1px solid rgba(82, 226, 229, .1);
}

.jzb-summary__facts dt {
  color: var(--jz-steel-500);
  font-size: 9px;
  text-transform: uppercase;
}

.jzb-summary__facts dd {
  margin: 5px 0 0;
  overflow-wrap: anywhere;
  color: var(--jz-steel-200);
  font-size: 12px;
}

.jzb-summary__bom {
  margin-block-start: 20px;
}

.jzb-summary__bom ul {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin: 12px 0 0;
  padding: 0;
  list-style: none;
}

.jzb-summary__bom li {
  min-inline-size: 0;
  padding: 9px 10px;
  border: 1px solid rgba(82, 226, 229, .12);
  color: var(--jz-steel-300);
  background: rgba(255, 255, 255, .025);
  font-size: 10px;
  overflow-wrap: anywhere;
}

.jzb-summary__warning {
  min-height: 20px;
  margin: 18px 0 0;
  color: #ffc18d;
  font-size: 11px;
}

.jzb-summary .jz-button {
  margin-block-start: 20px;
}

.jzb-copy-button {
  display: flex;
  inline-size: 100%;
  min-block-size: 44px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-block-start: 10px;
  padding: 10px 14px;
  border: 1px solid rgba(82, 226, 229, .18);
  color: var(--jz-steel-200);
  background: transparent;
  font-weight: 760;
  cursor: pointer;
}

.jzb-copy-button:hover,
.jzb-copy-button:focus-visible {
  border-color: var(--jz-cyan-300);
  color: #fff;
  outline: none;
}

.jzb-copy-button b {
  color: var(--jz-cyan-300);
  font-family: var(--jz-mono);
  font-size: 9px;
}

.jzb-summary__note {
  display: flex;
  align-items: flex-start;
  gap: 10px;
  margin: 18px 0 0;
  color: var(--jz-steel-500);
  font-size: 10px;
  line-height: 1.5;
}

.jzb-catalog {
  scroll-margin-top: 76px;
  border-block: 1px solid rgba(82, 226, 229, .14);
  background:
    radial-gradient(circle at 82% 24%, rgba(255, 133, 53, .07), transparent 30rem),
    repeating-linear-gradient(90deg, transparent 0 79px, rgba(82, 226, 229, .035) 80px),
    #050b12;
}

.jzb-catalog-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.jzb-machine-card {
  position: relative;
  display: flex;
  min-height: 590px;
  flex-direction: column;
  padding: 26px;
  overflow: hidden;
  border: 1px solid rgba(82, 226, 229, .15);
  border-radius: 16px;
  background: linear-gradient(155deg, rgba(16, 46, 60, .78), rgba(4, 14, 23, .88));
  box-shadow: 0 24px 70px rgba(0, 0, 0, .18);
  transition: transform .35s cubic-bezier(.22, .75, .22, 1), border-color .35s ease, box-shadow .35s ease;
}

.jzb-machine-card:hover {
  border-color: rgba(82, 226, 229, .5);
  box-shadow: 0 34px 84px rgba(0, 0, 0, .28);
  transform: translateY(-7px) perspective(800px) rotateX(1.5deg);
}

.jzb-machine-card--orange {
  background: linear-gradient(155deg, rgba(69, 38, 27, .72), rgba(10, 16, 22, .9));
}

.jzb-machine-card__visual {
  position: relative;
  min-height: 170px;
  margin: -26px -26px 28px;
  overflow: hidden;
  border-block-end: 1px solid rgba(82, 226, 229, .15);
  background:
    linear-gradient(rgba(82, 226, 229, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(82, 226, 229, .04) 1px, transparent 1px),
    rgba(2, 12, 20, .7);
  background-size: 28px 28px;
}

.jzb-machine-card__visual::before {
  content: "";
  position: absolute;
  inline-size: 80%;
  block-size: 14px;
  inset-inline-start: 10%;
  inset-block-end: 24px;
  background: linear-gradient(90deg, #173947, var(--jz-cyan-300), #173947);
}

.jzb-machine-card__visual span,
.jzb-machine-card__visual i,
.jzb-machine-card__visual b {
  position: absolute;
  inline-size: 44px;
  block-size: 74px;
  inset-block-end: 38px;
  border: 1px solid var(--jz-cyan-300);
  background: #0d2b38;
}

.jzb-machine-card__visual span { inset-inline-start: 18%; }
.jzb-machine-card__visual i { inset-inline-start: 44%; }
.jzb-machine-card__visual b { inset-inline-start: 70%; }

.jzb-machine-card__visual[data-visual="vertical"]::before {
  inline-size: 100px;
  block-size: 24px;
  inset-inline-start: calc(50% - 50px);
}

.jzb-machine-card__visual[data-visual="vertical"] span {
  inline-size: 90px;
  block-size: 90px;
  inset-inline-start: calc(50% - 45px);
  inset-block-end: 46px;
  border-radius: 50%;
}

.jzb-machine-card__visual[data-visual="vertical"] i,
.jzb-machine-card__visual[data-visual="vertical"] b {
  display: none;
}

.jzb-machine-card__visual[data-visual="automatic"]::after {
  content: "";
  position: absolute;
  inline-size: 54px;
  block-size: 86px;
  inset-inline-end: 8%;
  inset-block-start: 28px;
  border: 2px solid var(--jz-orange);
  border-inline-start-width: 12px;
  transform: skew(-8deg);
}

.jzb-machine-card__visual--photo {
  min-block-size: 258px;
  isolation: isolate;
  background:
    linear-gradient(rgba(23, 57, 71, .045) 1px, transparent 1px),
    linear-gradient(90deg, rgba(23, 57, 71, .045) 1px, transparent 1px),
    #e6ebeb;
  background-size: 28px 28px, 28px 28px, auto;
}

.jzb-machine-card__visual--photo::before {
  z-index: 2;
  inline-size: auto;
  block-size: auto;
  inset: 0;
  background: linear-gradient(180deg, transparent 52%, rgba(3, 14, 23, .15));
  pointer-events: none;
}

.jzb-machine-card__visual--photo::after,
.jzb-machine-card__visual--photo[data-visual="automatic"]::after {
  z-index: 3;
  inline-size: 42%;
  block-size: 2px;
  inset-inline-start: -46%;
  inset-inline-end: auto;
  inset-block-start: 22px;
  border: 0;
  background: linear-gradient(90deg, transparent, #24c7cb, transparent);
  box-shadow: 0 0 14px rgba(36, 199, 203, .8);
  opacity: 0;
  transform: none;
  pointer-events: none;
}

.jzb-machine-card__visual--photo img {
  position: absolute;
  z-index: 1;
  display: block;
  inline-size: 100%;
  block-size: 100%;
  inset: 0;
  object-fit: contain;
  object-position: center;
  filter: saturate(.94) contrast(1.025);
  transition: transform .65s cubic-bezier(.22, .75, .22, 1), filter .5s ease;
}

.jzb-machine-card:hover .jzb-machine-card__visual--photo img {
  filter: saturate(1.05) contrast(1.04);
  transform: scale(1.05);
}

.jzb-machine-card:hover .jzb-machine-card__visual--photo::after {
  animation: jzb-machine-photo-scan 1.8s ease-in-out;
  opacity: 1;
}

@keyframes jzb-machine-photo-scan {
  from { inset-inline-start: -46%; }
  to { inset-inline-start: 104%; }
}

@keyframes jzb-photo-scan {
  0%, 100% { inset-block-start: 0; opacity: 0; }
  18% { opacity: 1; }
  82% { opacity: 1; }
  100% { inset-block-start: 100%; opacity: 0; }
}

.jzb-machine-card h3 {
  margin: 20px 0 14px;
  color: #fff;
  font-size: 28px;
  line-height: 1.08;
}

.jzb-machine-card > p {
  margin: 0;
  color: var(--jz-steel-300);
  font-size: 14px;
  line-height: 1.55;
}

.jzb-machine-card ul {
  margin: 22px 0 0;
  padding: 0;
  list-style: none;
}

.jzb-machine-card li {
  position: relative;
  padding: 10px 0 10px 18px;
  border-block-start: 1px solid rgba(82, 226, 229, .1);
  color: var(--jz-steel-400);
  font-size: 12px;
}

[dir="rtl"] .jzb-machine-card li {
  padding: 10px 18px 10px 0;
}

.jzb-machine-card li::before {
  content: "";
  position: absolute;
  inline-size: 6px;
  block-size: 6px;
  inset-inline-start: 0;
  inset-block-start: 15px;
  border: 1px solid var(--jz-cyan-300);
  transform: rotate(45deg);
}

.jzb-machine-card button {
  color: var(--jz-cyan-300);
}

.jzb-catalog-note {
  margin: 26px 0 0;
  padding: 16px 18px;
  border-inline-start: 3px solid var(--jz-orange);
  color: var(--jz-steel-400);
  background: rgba(255, 133, 53, .05);
  font-size: 12px;
}

.jzb-lego {
  background:
    linear-gradient(rgba(11, 37, 48, .04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(11, 37, 48, .04) 1px, transparent 1px),
    #eef4f2;
  background-size: 56px 56px;
}

.jzb-module-track {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border-block-start: 1px solid rgba(11, 37, 48, .14);
  border-inline-start: 1px solid rgba(11, 37, 48, .14);
}

.jzb-module-track article {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 350px;
  padding: 24px;
  border-inline-end: 1px solid rgba(11, 37, 48, .14);
  border-block-end: 1px solid rgba(11, 37, 48, .14);
  background: rgba(255, 255, 255, .66);
  transition: z-index .3s ease, transform .3s ease, background-color .3s ease, box-shadow .3s ease;
}

.jzb-module-track article::before {
  content: "";
  position: absolute;
  z-index: -1;
  inline-size: 190px;
  block-size: 190px;
  inset-inline-end: -92px;
  inset-block-start: -98px;
  border: 1px solid rgba(36, 199, 203, .16);
  border-radius: 50%;
  background: radial-gradient(circle, rgba(36, 199, 203, .1), transparent 66%);
  opacity: .45;
  transform: scale(.75);
  transition: opacity .4s ease, transform .55s cubic-bezier(.2, .7, .2, 1);
}

.jzb-module-track article:hover {
  z-index: 2;
  background: rgba(255, 255, 255, .94);
  box-shadow: 0 28px 70px rgba(5, 11, 18, .14);
  transform: translateY(-6px) scale(1.01);
}

.jzb-module-track article:hover::before {
  opacity: 1;
  transform: scale(1.2);
}

.jzb-module-track article > span {
  color: var(--jz-cyan-600);
  font-family: var(--jz-mono);
  font-size: 10px;
}

.jzb-module-track h3 {
  margin: 22px 0 12px;
  color: var(--jz-ink-900);
  font-size: 21px;
}

.jzb-module-track p {
  margin: 0;
  color: var(--jz-muted);
  font-size: 14px;
  line-height: 1.5;
}

.jzb-module-icon {
  position: relative;
  display: grid;
  place-items: center;
  inline-size: 132px;
  block-size: 96px;
  margin-block-start: 30px;
  border: 1px solid rgba(36, 199, 203, .28);
  background:
    linear-gradient(rgba(36, 199, 203, .06) 1px, transparent 1px),
    linear-gradient(90deg, rgba(36, 199, 203, .06) 1px, transparent 1px),
    linear-gradient(145deg, rgba(255, 255, 255, .88), rgba(36, 199, 203, .06));
  background-size: 12px 12px, 12px 12px, auto;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .75), 0 12px 28px rgba(11, 37, 48, .06);
  clip-path: polygon(10px 0, calc(100% - 10px) 0, 100% 10px, 100% calc(100% - 10px), calc(100% - 10px) 100%, 10px 100%, 0 calc(100% - 10px), 0 10px);
  transition: background-color .35s ease, border-color .35s ease, box-shadow .35s ease, transform .4s cubic-bezier(.2, .7, .2, 1);
}

.jzb-module-icon::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(110deg, transparent 24%, rgba(82, 226, 229, .18) 48%, transparent 72%);
  opacity: 0;
  transform: translateX(-80%);
}

.jzb-module-icon svg {
  inline-size: 116px;
  block-size: 82px;
  overflow: visible;
}

.jzb-module-icon svg g {
  transform-box: fill-box;
}

.jzb-module-icon svg path,
.jzb-module-icon svg rect,
.jzb-module-icon svg circle,
.jzb-module-icon svg line {
  fill: none;
  stroke: var(--jz-cyan-600);
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
  vector-effect: non-scaling-stroke;
  transform-box: fill-box;
}

.jzb-module-icon .jzb-icon-accent path,
.jzb-module-icon .jzb-icon-accent rect,
.jzb-module-icon .jzb-icon-accent circle,
.jzb-module-icon .jzb-icon-accent line {
  stroke: var(--jz-orange);
}

.jzb-module-track article:hover .jzb-module-icon {
  border-color: rgba(10, 165, 174, .7);
  background-color: #f8ffff;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .9), 0 16px 34px rgba(10, 165, 174, .17);
  transform: translateY(-4px);
}

.jzb-module-track article:hover .jzb-module-icon::before {
  animation: jzb-icon-scan 1.15s ease forwards;
}

.jzb-module-track article:hover [data-icon="bed"] .jzb-icon-rail {
  animation: jzb-rail-shift .72s ease-in-out alternate infinite;
}

.jzb-module-track article:hover [data-icon="bed"] .jzb-icon-slot {
  animation: jzb-signal-flow .8s linear infinite;
  stroke-dasharray: 7 5;
}

.jzb-module-track article:hover [data-icon="soft"] .jzb-icon-pendulum {
  animation: jzb-pendulum .9s ease-in-out alternate infinite;
  transform-origin: 50% 8%;
}

.jzb-module-track article:hover [data-icon="hard"] .jzb-icon-resonator {
  animation: jzb-resonator .75s ease-in-out alternate infinite;
}

.jzb-module-track article:hover [data-icon="drive"] .jzb-icon-rotor {
  animation: jzb-rotor .9s linear infinite;
  transform-origin: center;
}

.jzb-module-track article:hover [data-icon="drive"] .jzb-icon-belt,
.jzb-module-track article:hover [data-icon="sensor"] .jzb-icon-wave,
.jzb-module-track article:hover [data-icon="adc"] .jzb-icon-adc-pulse {
  animation: jzb-signal-flow .9s linear infinite;
  stroke-dasharray: 8 5;
}

.jzb-module-track article:hover [data-icon="sensor"] .jzb-icon-signal,
.jzb-module-track article:hover [data-icon="adc"] .jzb-icon-led,
.jzb-module-track article:hover [data-icon="safety"] .jzb-icon-interlock {
  animation: jzb-node-pulse .9s ease-in-out infinite;
  transform-origin: center;
}

.jzb-module-track article:hover [data-icon="software"] .jzb-icon-software-dot {
  animation: jzb-software-orbit 1.6s linear infinite;
  transform-origin: -12px 10px;
}

.jzb-module-track article:hover [data-icon="safety"] .jzb-icon-robot {
  animation: jzb-robot-cycle 1.25s ease-in-out alternate infinite;
  transform-origin: 15% 85%;
}

@keyframes jzb-icon-scan {
  0% { opacity: 0; transform: translateX(-80%); }
  30% { opacity: 1; }
  100% { opacity: 0; transform: translateX(80%); }
}

@keyframes jzb-rail-shift {
  to { transform: translateX(3px); }
}

@keyframes jzb-pendulum {
  to { transform: rotate(5deg); }
}

@keyframes jzb-resonator {
  to { transform: translateY(3px); filter: drop-shadow(0 0 4px rgba(255, 133, 53, .7)); }
}

@keyframes jzb-rotor {
  to { transform: rotate(360deg); }
}

@keyframes jzb-signal-flow {
  to { stroke-dashoffset: -26; }
}

@keyframes jzb-node-pulse {
  50% { transform: scale(1.75); filter: drop-shadow(0 0 5px rgba(255, 133, 53, .8)); }
}

@keyframes jzb-software-orbit {
  to { transform: rotate(360deg); }
}

@keyframes jzb-robot-cycle {
  to { transform: rotate(-7deg); }
}

.jzb-program {
  background:
    radial-gradient(circle at 12% 50%, rgba(36, 199, 203, .12), transparent 30rem),
    #06111b;
}

.jzb-program__layout {
  display: grid;
  grid-template-columns: minmax(0, .9fr) minmax(460px, 1.1fr);
  align-items: center;
  gap: clamp(58px, 8vw, 120px);
}

.jzb-program h2 {
  max-inline-size: 760px;
  color: #fff;
  font-size: clamp(44px, 5.5vw, 78px);
}

.jzb-program__layout > div > p:last-child {
  max-inline-size: 680px;
  margin: 28px 0 0;
  color: var(--jz-steel-300);
  font-size: 18px;
  line-height: 1.6;
}

.jzb-program__steps {
  margin: 0;
  padding: 0;
  border-block-start: 1px solid rgba(82, 226, 229, .2);
  list-style: none;
}

.jzb-program__steps li {
  display: grid;
  grid-template-columns: 52px minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  padding-block: 20px;
  border-block-end: 1px solid rgba(82, 226, 229, .16);
}

.jzb-program__steps li > span {
  color: var(--jz-orange);
  font-family: var(--jz-mono);
  font-size: 12px;
}

.jzb-program__steps b,
.jzb-program__steps small {
  display: block;
}

.jzb-program__steps b {
  color: #fff;
  font-size: 16px;
}

.jzb-program__steps small {
  margin-block-start: 5px;
  color: var(--jz-steel-400);
  font-size: 12px;
}

.jzb-faq {
  background: var(--jz-paper-50);
}

.jzb-faq__layout {
  display: grid;
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr);
  gap: 72px;
  align-items: start;
}

.jzb-faq h2 {
  color: var(--jz-ink-900);
  font-size: clamp(42px, 5vw, 72px);
}

.jzb-faq__items {
  border-block-start: 1px solid rgba(11, 37, 48, .16);
}

.jzb-faq details {
  border-block-end: 1px solid rgba(11, 37, 48, .16);
}

.jzb-faq summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 30px;
  gap: 18px;
  align-items: center;
  padding-block: 24px;
  color: var(--jz-ink-900);
  cursor: pointer;
  list-style: none;
}

.jzb-faq summary::-webkit-details-marker { display: none; }
.jzb-faq summary span { color: var(--jz-cyan-600); font-family: var(--jz-mono); font-size: 10px; }
.jzb-faq summary b { font-size: 18px; }
.jzb-faq summary i { position: relative; inline-size: 22px; block-size: 22px; }
.jzb-faq summary i::before,
.jzb-faq summary i::after { content: ""; position: absolute; inset-inline-start: 3px; inset-block-start: 10px; inline-size: 16px; block-size: 1px; background: var(--jz-ink-900); transition: transform .2s ease; }
.jzb-faq summary i::after { transform: rotate(90deg); }
.jzb-faq details[open] summary i::after { transform: rotate(0); }
.jzb-faq details p { margin: -8px 0 24px; padding-inline-start: 60px; color: var(--jz-muted); line-height: 1.6; }

.jzb-final {
  padding-block: 74px;
  border-block-start: 1px solid rgba(82, 226, 229, .16);
  background:
    radial-gradient(circle at 80% 50%, rgba(255, 133, 53, .09), transparent 26rem),
    #050b12;
}

.jzb-final__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: end;
  gap: 42px;
}

.jzb-final h2 {
  max-inline-size: 1040px;
  color: #fff;
  font-size: clamp(42px, 5vw, 74px);
}

.jzb-final__actions {
  display: flex;
  max-inline-size: 420px;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 11px;
}

.jzb-final-3d-link {
  display: inline-flex;
  min-block-size: 48px;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 17px;
  border: 1px solid rgba(82, 226, 229, .38);
  border-radius: 10px;
  color: #bff8f5;
  background: rgba(82, 226, 229, .055);
  font-size: 13px;
  font-weight: 800;
  line-height: 1.25;
  text-decoration: none;
  transition: color .25s ease, border-color .25s ease, background-color .25s ease, transform .25s ease;
}

.jzb-final-3d-link svg {
  inline-size: 18px;
  block-size: 18px;
  flex: 0 0 auto;
  transition: transform .25s ease;
}

.jzb-final-3d-link:hover,
.jzb-final-3d-link:focus-visible {
  border-color: #52e2e5;
  color: #fff;
  background: rgba(82, 226, 229, .11);
  outline: none;
  transform: translateY(-2px);
}

.jzb-final-3d-link:hover svg,
.jzb-final-3d-link:focus-visible svg { transform: translateX(5px); }
[dir="rtl"] .jzb-final-3d-link:hover svg,
[dir="rtl"] .jzb-final-3d-link:focus-visible svg { transform: translateX(-5px) scaleX(-1); }

@keyframes jzb-live {
  50% { opacity: .38; transform: scale(.72); }
}

@keyframes jzb-pendulum {
  to { transform: rotate(2deg); }
}

@keyframes jzbal-blueprint {
  to { stroke-dashoffset: -92; }
}

@keyframes jzbal-twin {
  to { transform: perspective(1000px) rotateX(-2deg) rotateY(5deg) translateY(5px) scale(1.015); }
}

@keyframes jzbal-assemble {
  from { opacity: 0; transform: translateY(-44px); filter: blur(4px); }
  to { opacity: 1; filter: blur(0); }
}

@keyframes jzbal-scan {
  to { background-position: 0 0, 0 0, -220% 0; }
}

html[lang="ar"] body[data-market-page="balancing"] .jzbal-hero__copy h1 {
  font-family: var(--jz-arabic);
  font-weight: 500;
  letter-spacing: 0;
  line-height: 1.13;
}

html[lang="ar"] body[data-market-page="balancing"] :is(.jzbal-hero__lede, .jzb-proofline b, .jzbal-phasebar span) {
  font-family: var(--jz-arabic);
  letter-spacing: 0;
}

@media (max-width: 1180px) {
  .jzbal-hero__inner {
    grid-template-columns: minmax(0, .98fr) minmax(340px, .72fr);
  }

  .jzb-builder__layout {
    grid-template-columns: minmax(0, 1fr) 390px;
  }

  .jzb-catalog-grid,
  .jzb-module-track {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .jzbal-hero {
    height: auto;
    min-height: auto;
    max-height: none;
  }

  .jzbal-hero__inner {
    height: auto;
    min-height: auto;
  }

  .jzbal-hero__inner,
  .jzb-builder__head,
  .jzb-builder__layout,
  .jzb-program__layout,
  .jzb-faq__layout {
    grid-template-columns: 1fr;
  }

  .jzbal-hero__inner {
    padding-block: 88px 72px;
  }

  .jzb-machine-stage {
    max-inline-size: 760px;
  }

  .jzb-builder__head,
  .jzb-faq__layout {
    gap: 28px;
  }

  .jzb-summary {
    position: relative;
    inset-block-start: auto;
  }

  .jzb-program__layout {
    gap: 52px;
  }
}

@media (max-width: 720px) {
  .jzbal-hero__video {
    object-position: center;
  }

  .jzbal-hero__veil,
  html[dir="rtl"] .jzbal-hero__veil {
    background: linear-gradient(
      180deg,
      rgba(3, 10, 16, .34) 0%,
      rgba(3, 10, 16, .78) 48%,
      rgba(3, 10, 16, .97) 100%
    );
  }

  .jzbal-hero__copy h1 {
    overflow-wrap: break-word;
    font-size: clamp(34px, 9.5vw, 48px);
    hyphens: auto;
  }

  .jzbal-hero__lede { font-size: 17px; }

  .jzbal-hero__actions {
    align-items: stretch;
  }

  .jzb-hero-3d-cta {
    flex: 0 1 auto;
    min-inline-size: 0;
  }

  .jzb-proofline,
  .jzb-route-grid,
  .jzb-architecture-grid,
  .jzb-form-grid,
  .jzb-segmented,
  .jzb-option-grid,
  .jzb-catalog-grid,
  .jzb-module-track,
  .jzb-final__inner {
    grid-template-columns: 1fr;
  }

  .jzb-proofline span + span {
    padding-inline-start: 0;
    border-inline-start: 0;
    border-block-start: 1px solid rgba(82, 226, 229, .14);
  }

  .jzb-machine-stage {
    min-block-size: 520px;
    margin-inline: -8px;
  }

  .jzb-machine-svg {
    min-inline-size: 620px;
    margin-inline-start: -115px;
  }

  [dir="rtl"] .jzb-machine-svg {
    margin-inline-start: auto;
    margin-inline-end: -115px;
  }

  .jzb-stage__telemetry {
    padding-inline: 14px;
  }

  .jzb-stage__telemetry span + span {
    padding-inline-start: 10px;
  }

  .jzbal-phasebar button { padding-inline: 7px; }
  .jzbal-phasebar span { font-size: 7px; }

  .jzb-route-card {
    min-height: 520px;
    padding: 28px;
  }

  .jzb-route-card h3 {
    font-size: 38px;
  }

  .jzb-route-kit-visual {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    min-block-size: auto;
  }

  .jzb-kit-part:last-child {
    grid-column: 1 / -1;
  }

  .jzb-route-machine-visual,
  .jzb-route-machine-visual img {
    block-size: 210px;
    min-block-size: 210px;
  }

  .jzb-support-visual {
    margin-inline: -10px;
    padding-inline: 2px;
  }

  .jzb-architecture-card {
    padding: 28px;
  }

  .jzb-architecture-card dl div {
    grid-template-columns: 1fr;
    gap: 6px;
  }

  .jzb-builder__head h2 {
    font-size: clamp(42px, 13vw, 66px);
  }

  .jzb-summary__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .jzb-summary__facts,
  .jzb-summary__bom ul {
    grid-template-columns: 1fr;
  }

  .jzb-summary__facts div:nth-child(even) {
    padding-inline-start: 0;
    border-inline-start: 0;
  }

  .jzb-machine-card {
    min-height: 550px;
  }

  .jzb-faq details p {
    padding-inline-start: 0;
  }

  .jzb-final__inner {
    align-items: start;
  }

  .jzb-final__actions {
    max-inline-size: none;
    justify-content: flex-start;
  }
}

@media (max-width: 420px) {
  .jzb-route-card {
    padding-inline: 20px;
  }

  .jzb-route-card h3 {
    max-inline-size: 100%;
    font-size: clamp(30px, 9.5vw, 35px);
    letter-spacing: -.035em;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .jzb-route-card p,
  .jzb-route-card > strong,
  .jzb-builder__head h2,
  .jzb-program h2,
  .jzb-faq h2,
  .jzb-final h2 {
    max-inline-size: 100%;
    overflow-wrap: anywhere;
    hyphens: auto;
  }

  .jzb-hero-3d-cta,
  .jzb-workspace-launch,
  .jzb-final-3d-link {
    box-sizing: border-box;
    inline-size: 100%;
    min-inline-size: 0;
    max-inline-size: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
  }

  .jzb-hero-3d-cta span,
  .jzb-workspace-launch span,
  .jzb-final-3d-link span {
    min-inline-size: 0;
    overflow-wrap: anywhere;
  }

  .jzb-configurator fieldset,
  .jzb-summary {
    min-inline-size: 0;
  }

  .jzb-summary .jz-button--full {
    box-sizing: border-box;
    max-inline-size: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  .jzb-stage__head b i,
  .jzb-tech-mark--soft span,
  .jzb-tech-mark--soft i,
  .jzb-tech-mark--soft b,
  .jzb-kit-part *,
  .jzb-route-machine-visual::after,
  .jzb-support-visual *,
  .jzb-machine-card__visual--photo::after {
    animation: none;
  }

  .jzb-machine-stage animateMotion {
    display: none;
  }

  .jzbal-production-photo,
  .jzb-machine-svg,
  .jzbal-production-scan,
  .jzbal-drawing path,
  .jzbal-assembly-part,
  .jzb-module-icon::before,
  .jzb-module-icon svg * {
    animation: none !important;
    transition: none !important;
  }
}
