/* ==========================================================================
   Sovereign ZTNA — page styles (prefix: zt-)
   Accent: --pa gold #f4b544, --pa-2 orange #ff8a4c (set by body[data-product="ztna"])
   ========================================================================== */

main { --space-section: clamp(32px, 6vw, 92px); }
:root { --zt-panel: linear-gradient(180deg, rgba(255,255,255,.038), rgba(255,255,255,.012)), #0a0e15; }

/* ---------- shared helpers ---------- */
.zt-at {
  position: absolute;
  left: calc(var(--x) * 0.2%);
  top: calc(var(--y) * 0.25%);
  transform: translate(-50%, -50%);
  white-space: nowrap;
}
.zt-at--r { transform: translate(-100%, -50%); }
.zt-kicker {
  font: 500 var(--fs-xs)/1.2 var(--font-mono);
  letter-spacing: .12em; text-transform: uppercase;
  color: var(--pa); margin-bottom: 12px;
}
.zt-caret { display: inline-block; width: .5em; height: 1.05em; margin-left: 2px; vertical-align: -.15em; background: var(--pa); animation: zt-blink 1s steps(2) infinite; }
.zt-chiprow { display: flex; flex-wrap: wrap; gap: 6px; }
.is-paused, .is-paused * { animation-play-state: paused !important; }

@keyframes zt-blink { 50% { opacity: 0; } }
@keyframes zt-dash { to { stroke-dashoffset: -240; } }
@keyframes zt-march { to { stroke-dashoffset: -12; } }
@keyframes zt-draw { to { stroke-dashoffset: 0; } }
@keyframes zt-pulse { 0%, 100% { opacity: .55; } 50% { opacity: 1; } }

/* ---------- HERO ---------- */
.zt-hero {
  position: relative;
  isolation: isolate;
  overflow: clip;
  padding-top: calc(var(--header-h) + clamp(36px, 6vw, 88px));
  padding-bottom: clamp(48px, 7vw, 110px);
}
.zt-hero__glow { top: -35%; right: -25%; }
.zt-hero__grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}
.zt-hero__title { font-size: clamp(2.6rem, 1.2rem + 4.1vw, 4.7rem); }
.zt-hero__title .serif-i { display: block; margin-top: .06em; }
.zt-hero__lead { margin-top: 24px; }
.zt-hero__chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 24px; }
.zt-hero__chips .chip svg { width: 13px; height: 13px; }
.zt-hero__cta { margin-top: 30px; }
.zt-hero__deploy {
  display: flex; align-items: center; gap: 10px; margin-top: 22px;
  font: 500 var(--fs-2xs)/1.4 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-3);
}
.zt-hero__deploy .dot { color: var(--ok); }
.zt-hero__vis { position: relative; margin: 0; }
.zt-hero__cap {
  margin-top: 10px; text-align: center;
  font: 500 var(--fs-2xs)/1.4 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--text-3);
}

/* hero visual: 560 x 540 coordinate space */
.zt-hv { position: relative; aspect-ratio: 560 / 540; container-type: inline-size; }
.zt-hv .zt-at { left: calc(var(--x) / 5.6 * 1%); top: calc(var(--y) / 5.4 * 1%); }
.zt-hv__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.zt-hv__zone { fill: url(#hvInside); }
.zt-hv__wall { fill: none; stroke: rgba(var(--pa-rgb), .6); stroke-width: 1.5; stroke-dasharray: 7 6; animation: zt-dash 40s linear infinite; }
.zt-hv__wall2 { fill: none; stroke: rgba(var(--pa-rgb), .13); }
.zt-hv__dlp { stroke: rgba(var(--pa-rgb), .4); stroke-width: 1.5; stroke-dasharray: 2 6; }
.zt-hv__base path { fill: none; stroke: rgba(255, 255, 255, .1); stroke-width: 1.5; }
.zt-hv__routes path {
  fill: none; stroke: url(#hvRoute); stroke-width: 2.6; stroke-linecap: round;
  stroke-dasharray: 1; stroke-dashoffset: 1;
  filter: drop-shadow(0 0 5px rgba(244, 181, 68, .65));
  animation: zt-route 9s var(--ease-in-out) infinite;
}
.zt-hv__routes .r2 { animation-delay: 3s; }
.zt-hv__routes .r3 { animation-delay: 6s; }
@keyframes zt-route {
  0% { stroke-dashoffset: 1; opacity: 1; }
  11% { stroke-dashoffset: 0; }
  29% { stroke-dashoffset: 0; opacity: 1; }
  33%, 100% { stroke-dashoffset: 0; opacity: 0; }
}
.zt-hv__scan .beam { stroke: var(--bad); stroke-width: 2; stroke-dasharray: 4 5; animation: zt-beam 3.4s ease-in infinite; }
.zt-hv__scan .ripple { fill: none; stroke: var(--bad); stroke-width: 1.5; transform-box: fill-box; transform-origin: center; animation: zt-ripple 3.4s ease-out infinite; }
@keyframes zt-beam { 0% { opacity: 0; transform: translateY(-40px); } 15% { opacity: 1; } 55% { opacity: 1; transform: none; } 70%, 100% { opacity: 0; transform: none; } }
@keyframes zt-ripple { 0%, 50% { opacity: 0; transform: scale(.2); } 56% { opacity: 1; transform: scale(.35); } 100% { opacity: 0; transform: scale(1.7); } }

.zt-hv__wall-label, .zt-hv__stay, .zt-hv__dlpchip {
  display: inline-flex; align-items: center; gap: 6px;
  padding: .5em .95em; border-radius: 999px;
  font: 500 clamp(8.5px, 1.8cqw, 11px)/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase;
  background: #0a0b0d;
}
.zt-hv__wall-label { color: var(--pa); border: 1px solid rgba(var(--pa-rgb), .5); }
.zt-hv__wall-label svg, .zt-hv__dlpchip svg { width: 1.3em; height: 1.3em; }
.zt-hv__dlpchip { color: var(--pa); border: 1px dashed rgba(var(--pa-rgb), .5); background: #0c0d0f; }
.zt-hv__stay { color: var(--text-2); border: 1px solid var(--line-strong); }
.zt-hv__scan-label { font: 500 clamp(8.5px, 1.7cqw, 10.5px)/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: rgba(255, 107, 107, .8); padding-right: 10px; }
.zt-hv__ports {
  margin-right: 10px; padding: .45em .8em; border-radius: 999px;
  font: 600 clamp(8.5px, 1.8cqw, 11px)/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase;
  color: var(--bad); border: 1px solid rgba(255, 107, 107, .45); background: #150b0d;
  animation: zt-pulse 3.4s ease-in-out infinite;
}
.zt-hv__user i {
  display: grid; place-items: center;
  width: 8.6cqw; height: 8.6cqw; border-radius: 50%;
  border: 1px solid var(--line-strong); background: #0b0f17; color: var(--text-2);
  animation: zt-lit-user 9s infinite;
}
.zt-hv__user.u2 i { animation-delay: 3s; }
.zt-hv__user.u3 i { animation-delay: 6s; }
.zt-hv__user i svg { width: 46%; height: 46%; }
.zt-hv__user b {
  position: absolute; left: 50%; top: calc(100% + 6px); transform: translateX(-50%);
  font: 500 clamp(8.5px, 1.75cqw, 11px)/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--text-3);
}
@keyframes zt-lit-user {
  0%, 29% { color: var(--pa); border-color: rgba(var(--pa-rgb), .8); box-shadow: 0 0 0 4px rgba(var(--pa-rgb), .1), 0 0 24px rgba(var(--pa-rgb), .35); }
  34%, 100% { color: var(--text-2); border-color: var(--line-strong); box-shadow: none; }
}
.zt-hv__broker i {
  display: grid; place-items: center;
  width: 13cqw; height: 13cqw; border-radius: 3.4cqw;
  color: var(--pa); border: 1px solid rgba(var(--pa-rgb), .65);
  background: radial-gradient(circle at 50% 25%, rgba(var(--pa-rgb), .28), rgba(var(--pa-rgb), .05) 70%), #0b0d11;
  box-shadow: 0 0 0 6px rgba(var(--pa-rgb), .06), 0 0 46px rgba(var(--pa-rgb), .35);
}
.zt-hv__broker i svg { width: 50%; height: 50%; }
.zt-hv__blabel { position: absolute; left: 50%; top: calc(100% + 8px); transform: translateX(-50%); display: grid; justify-items: center; gap: 3px; padding: 3px 7px; border-radius: 6px; background: #07090d; }
.zt-hv__blabel b { font-size: clamp(10.5px, 2.4cqw, 14px); font-weight: 600; line-height: 1.1; }
.zt-hv__blabel small { font: 500 clamp(8.5px, 1.7cqw, 10.5px)/1.1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--pa); }
.zt-hv__app {
  display: flex; align-items: center; gap: 2.2cqw;
  width: 33.5cqw; height: 11cqw; padding: 0 2.4cqw;
  border-radius: 2.4cqw; border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.008)), #090c12;
}
.zt-hv__app i { display: grid; color: var(--text-3); width: 4cqw; flex: none; }
.zt-hv__app i svg { width: 100%; height: auto; }
.zt-hv__app b { display: block; font-size: clamp(10.5px, 2.4cqw, 14px); font-weight: 550; color: var(--text-2); line-height: 1.2; }
.zt-hv__app small { display: block; font: 500 clamp(8px, 1.65cqw, 10px)/1.3 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.zt-hv__app em { margin-left: auto; width: 7px; height: 7px; border-radius: 50%; background: #262d3b; flex: none; }
.zt-hv__app.a1, .zt-hv__app.a2, .zt-hv__app.a4 { animation: zt-lit-app 9s infinite; }
.zt-hv__app.a2 { animation-delay: 3s; }
.zt-hv__app.a4 { animation-delay: 6s; }
.zt-hv__app.a1 em, .zt-hv__app.a2 em, .zt-hv__app.a4 em, .zt-hv__app.a1 i, .zt-hv__app.a2 i, .zt-hv__app.a4 i { animation: zt-lit-dot 9s infinite; animation-delay: inherit; }
@keyframes zt-lit-app {
  0%, 8% { border-color: var(--line); box-shadow: none; }
  12%, 29% { border-color: rgba(var(--pa-rgb), .75); box-shadow: 0 0 0 4px rgba(var(--pa-rgb), .08), 0 0 30px -4px rgba(var(--pa-rgb), .45); }
  34%, 100% { border-color: var(--line); box-shadow: none; }
}
@keyframes zt-lit-dot {
  0%, 8% { color: var(--text-3); background-color: #262d3b; }
  12%, 29% { color: var(--pa); background-color: var(--pa); }
  34%, 100% { color: var(--text-3); background-color: #262d3b; }
}
.zt-hv__app i { background: none !important; }

@media (max-width: 900px) {
  .zt-hero__grid { grid-template-columns: minmax(0, 1fr); gap: 36px; }
  .zt-hero__vis { max-width: 560px; margin-inline: auto; width: 100%; }
}
@media (max-width: 640px) {
  .zt-hero { padding-top: calc(var(--header-h) + 28px); }
  .zt-hero__lead { margin-top: 18px; font-size: 1rem; }
  .zt-hero__chips { margin-top: 18px; }
  .zt-hero__cta { margin-top: 22px; }
  .zt-hero__cta .btn { flex: 1 1 auto; }
}

/* ---------- STORIES (shared) ---------- */
.zt-story__h2 { font-size: clamp(1.75rem, 1.05rem + 2.2vw, 3.1rem); margin-bottom: clamp(18px, 3.2vh, 40px); }
.zt-story .story__panel .h3 { margin-bottom: 12px; }
.zt-story .story__panel .body { font-size: 1.02rem; }
.zt-story, .zt-flowstory { --step-h: 55svh; }
.zt-stage { --ratio: 5 / 4; container-type: inline-size; }
.zt-scene__svg * { vector-effect: non-scaling-stroke; }
.zt-scene {
  position: absolute; inset: 0;
  border-radius: 18px; border: 1px solid var(--line-strong);
  background: radial-gradient(120% 80% at 50% 0%, rgba(var(--pa-rgb), .06), transparent 60%), linear-gradient(180deg, #0c111a, #070a10);
  overflow: hidden;
  font-size: clamp(10px, 2.3cqw, 14px);
  box-shadow: 0 40px 100px -40px rgba(0, 0, 0, .9);
}
.zt-scene__bar {
  position: absolute; left: 0; right: 0; top: 0; z-index: 2;
  height: 10%; padding: 0 4%;
  display: flex; align-items: center; justify-content: space-between; gap: 8px;
  border-bottom: 1px solid var(--line);
  font: 500 .74em/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-3);
}
.zt-scene .chip, .zt-dev .chip { font-size: .72em; padding: .4em .85em; gap: .45em; }
.zt-scene__bar > .chip, .zt-scene__bar .chip { font-size: 1em; }
.zt-scene__svg { position: absolute; inset: 0; width: 100%; height: 100%; }
html.motion .zt-scene { transform: scale(.97); }
html.motion .zt-scene.is-on { transform: none; }

@media (max-width: 900px) {
  .zt-story__h2 { font-size: clamp(1.35rem, 5.4vw, 1.9rem); margin-bottom: 12px; }
  .zt-story .eyebrow { margin-bottom: 8px; }
  .zt-story .zt-kicker { margin-bottom: 6px; }
  .zt-story .story__panel .h3 { font-size: 1.18rem; margin-bottom: 6px; }
  .zt-story .story__panel .body { font-size: .92rem; line-height: 1.5; }
  html.motion .zt-story .story__sticky { grid-template-rows: minmax(0, 1fr) auto; }
  html.motion .zt-story .story__panels { min-height: 13.5rem; }
  .zt-story, .zt-flowstory { --step-h: 38svh; }
  .zt-stage { width: min(100%, calc(45svh * (var(--ratio)))); }
}
@media (max-width: 640px) {
  .zt-stage { --ratio: 9 / 10; }
  .zt-scene, .zt-dev > * { font-size: 11px; }
}
html:not(.motion) .zt-stage { aspect-ratio: auto; width: 100%; max-width: 640px; }
html:not(.motion) .zt-scene { position: relative; aspect-ratio: 5 / 4; margin-bottom: 16px; }

/* ---------- Challenge scenes ---------- */
.zt-net-zone { fill: rgba(255, 255, 255, .015); stroke: rgba(255, 255, 255, .12); stroke-dasharray: 4 6; }
.zt-mesh path { fill: none; stroke: rgba(255, 255, 255, .1); stroke-width: 1.2; }
.zt-attack { fill: none; stroke: var(--bad); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; stroke-dasharray: 1; stroke-dashoffset: 1; filter: drop-shadow(0 0 5px rgba(255, 107, 107, .7)); }
.zt-c0.is-on .zt-attack--in { animation: zt-draw .8s .3s var(--ease-out) forwards; }
.zt-c0.is-on .zt-attack--lat { animation: zt-draw 2.6s 1s linear forwards; }
html:not(.motion) .zt-attack { stroke-dashoffset: 0; }
.zt-c0__inet { font: 500 .72em/1 var(--font-mono); letter-spacing: .12em; text-transform: uppercase; color: var(--text-3); }
.zt-c0__attacker i { display: grid; place-items: center; width: 2.7em; height: 2.7em; border-radius: 50%; color: var(--bad); background: #1a0c0f; border: 1px solid rgba(255, 107, 107, .6); box-shadow: 0 0 22px rgba(255, 107, 107, .35); }
.zt-c0__attacker svg { width: 55%; }
.zt-c0__cred { font: 500 .7em/1 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--bad); }
.zt-c0__vpn { display: flex; align-items: center; gap: .6em; padding: .55em .85em; border-radius: .8em; border: 1px solid rgba(255, 107, 107, .5); background: #130b0e; }
.zt-c0__vpn > svg { width: 1.6em; height: 1.6em; color: var(--bad); flex: none; }
.zt-c0__vpn b { display: block; font-size: .92em; font-weight: 600; line-height: 1.2; }
.zt-c0__vpn small { display: block; font: 500 .7em/1.3 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--bad); }
.zt-c0__flat { padding: .2em .7em; background: #090c12; font: 500 .66em/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); border-radius: 4px; }
.zt-c0__lat { font-size: .7em !important; }
.zt-srv { display: grid; place-items: center; width: 2.5em; height: 2.5em; border-radius: .7em; background: #0d121b; border: 1px solid var(--line-strong); color: var(--text-3); transition: color .3s, border-color .3s, background-color .3s; }
.zt-srv svg { width: 55%; }
.zt-c0.is-on .zt-srv.s1, .zt-c0.is-on .zt-srv.s2, .zt-c0.is-on .zt-srv.s3, .zt-c0.is-on .zt-srv.s4,
.zt-c0.is-on .zt-srv.s5, .zt-c0.is-on .zt-srv.s6, .zt-c0.is-on .zt-srv.s7, .zt-c0.is-on .zt-srv.s8 { animation: zt-infect .35s var(--dl, 1s) both; }
.zt-srv.s2 { --dl: 1.39s; } .zt-srv.s7 { --dl: 1.8s; } .zt-srv.s4 { --dl: 2.2s; } .zt-srv.s3 { --dl: 2.52s; }
.zt-srv.s6 { --dl: 2.92s; } .zt-srv.s1 { --dl: 3.33s; } .zt-srv.s5 { --dl: 3.6s; } .zt-srv.s8 { --dl: 99s; }
@keyframes zt-infect { to { color: var(--bad); border-color: rgba(255, 107, 107, .7); background-color: #1d0d11; box-shadow: 0 0 18px rgba(255, 107, 107, .3); } }

.zt-c1__home { fill: rgba(var(--pa-rgb), .035); stroke: rgba(var(--pa-rgb), .35); stroke-dasharray: 5 6; }
.zt-c1__border { stroke: var(--bad); stroke-width: 1.5; stroke-dasharray: 8 6; }
.zt-flowline { fill: none; stroke: rgba(255, 107, 107, .75); stroke-width: 2; stroke-dasharray: 3 9; animation: zt-march .8s linear infinite; }
.zt-zone-label { font: 500 .66em/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--pa); }
.zt-zone-label--bad { color: var(--bad); }
.zt-c1__node { display: grid; justify-items: center; gap: .35em; }
.zt-c1__node > svg { width: 2.7em; height: 2.7em; padding: .6em; border-radius: .8em; color: var(--text-2); border: 1px solid var(--line-strong); background: #0d121b; }
.zt-c1__node b { font-size: .8em; font-weight: 550; color: var(--text-2); }
.zt-c1__cloud { display: grid; gap: .4em; width: 33%; padding: .8em; border-radius: .9em; border: 1px solid rgba(255, 107, 107, .5); background: #120a0d; white-space: normal; }
.zt-c1__cloud-h { display: flex; align-items: center; gap: .45em; font-size: .8em; font-weight: 600; margin-bottom: .2em; }
.zt-c1__cloud-h svg { width: 1.4em; height: 1.4em; color: var(--bad); flex: none; }
.zt-c1__row { display: flex; align-items: center; gap: .5em; padding: .35em .55em; border-radius: .45em; background: rgba(255, 107, 107, .08); font: 500 .68em/1.2 var(--font-mono); text-transform: uppercase; letter-spacing: .04em; color: #ffb4b4; }
.zt-c1__row::before { content: ""; width: 5px; height: 5px; border-radius: 50%; background: var(--bad); flex: none; }
.zt-c1__x { padding: .35em .7em; border-radius: 999px; background: #150b0d; border: 1px solid rgba(255, 107, 107, .45); font: 500 .66em/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--bad); }

.zt-c2__rays path { fill: none; stroke: rgba(255, 107, 107, .65); stroke-width: 1.6; stroke-dasharray: 3 9; animation: zt-march .9s linear infinite; }
.zt-c2__ac { display: inline-flex; align-items: center; gap: .5em; font: 500 .66em/1 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.zt-c2__ac svg { width: 1.4em; height: 1.4em; }
.zt-c2__doc { display: flex; align-items: center; gap: .7em; padding: .7em .95em; border-radius: .9em; background: #14110a; border: 1px solid rgba(var(--pa-rgb), .55); box-shadow: 0 0 36px rgba(var(--pa-rgb), .18); }
.zt-c2__doc > svg { width: 1.8em; height: 1.8em; color: var(--pa); flex: none; }
.zt-c2__doc b { display: block; font: 600 .82em/1.2 var(--font-mono); }
.zt-c2__doc small { display: block; font-size: .7em; color: var(--text-3); }
.zt-door { display: inline-flex; align-items: center; gap: .45em; padding: .45em .8em; border-radius: 999px; background: #140b0e; border: 1px solid rgba(255, 107, 107, .5); font-size: .78em; font-weight: 550; color: #ffc1c1; }
.zt-door svg { width: 1.3em; height: 1.3em; color: var(--bad); }
.zt-c2.is-on .zt-door { animation: zt-door .5s var(--ease-out) both; }
.zt-c2.is-on .zt-door:nth-of-type(2) { animation-delay: .15s; }
.zt-c2.is-on .zt-door:nth-of-type(3) { animation-delay: .3s; }
.zt-c2.is-on .zt-door:nth-of-type(4) { animation-delay: .45s; }
.zt-c2.is-on .zt-door:nth-of-type(5) { animation-delay: .6s; }
.zt-c2.is-on .zt-door:nth-of-type(6) { animation-delay: .75s; }
@keyframes zt-door { from { opacity: 0; transform: translate(-50%, -50%) scale(.7); } }

.zt-c3__table { position: absolute; left: 4%; right: 4%; top: 14%; bottom: 22%; display: grid; grid-template-rows: auto repeat(4, 1fr); gap: .5em; }
.zt-c3__row { display: grid; grid-template-columns: 1.55fr .85fr 1fr .65fr .55fr; align-items: center; gap: .5em; padding: .5em .8em; border-radius: .7em; border: 1px solid var(--line); background: rgba(255, 255, 255, .025); font-size: .82em; }
.zt-c3__row > span:first-child { display: flex; align-items: center; gap: .5em; font-weight: 550; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zt-c3__row svg { width: 1.3em; height: 1.3em; color: var(--text-3); flex: none; }
.zt-c3__row > span:nth-child(2) { font: 500 .85em/1 var(--font-mono); color: var(--warn); }
.zt-c3__row b { font: 600 .82em/1.15 var(--font-mono); color: var(--bad); }
.zt-c3__row--h { border: 0; background: none; padding-block: .2em; font: 500 .66em/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); }
.zt-c3.is-on .zt-c3__row:not(.zt-c3__row--h) { animation: zt-rowin .55s var(--ease-out) both; }
.zt-c3.is-on .zt-c3__row:nth-child(3) { animation-delay: .12s; }
.zt-c3.is-on .zt-c3__row:nth-child(4) { animation-delay: .24s; }
.zt-c3.is-on .zt-c3__row:nth-child(5) { animation-delay: .36s; }
@keyframes zt-rowin { from { opacity: 0; transform: translateX(-14px); } }
.zt-c3__stamp {
  position: absolute; left: 50%; bottom: 7%; transform: translateX(-50%) rotate(-2deg);
  padding: .55em 1em; border: 1.5px dashed rgba(255, 107, 107, .7); border-radius: .5em; color: var(--bad);
  font: 600 .72em/1.2 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; text-align: center; width: max-content; max-width: 90%;
}
.zt-c3.is-on .zt-c3__stamp { animation: zt-stamp .5s .7s var(--ease-spring) both; }
@keyframes zt-stamp { from { opacity: 0; transform: translateX(-50%) rotate(-2deg) scale(1.4); } }

.zt-c4 { background: radial-gradient(90% 70% at 50% 0%, rgba(var(--pa-rgb), .14), transparent 65%), linear-gradient(180deg, #0f0f0b, #080a0d); border-color: rgba(var(--pa-rgb), .45); }
.zt-c4__grid { position: absolute; left: 4%; right: 4%; top: 14%; bottom: 4%; display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: 1fr 1fr; gap: 3.5%; }
.zt-c4__grid li { display: grid; align-content: center; gap: .45em; padding: 0 1em; border-radius: .9em; border: 1px solid rgba(var(--pa-rgb), .35); background: rgba(var(--pa-rgb), .05); }
.zt-c4__grid i { display: grid; place-items: center; width: 2.4em; height: 2.4em; border-radius: .7em; color: var(--pa); background: rgba(var(--pa-rgb), .12); border: 1px solid rgba(var(--pa-rgb), .4); }
.zt-c4__grid i svg { width: 55%; height: 55%; }
.zt-c4__grid b { font-size: .95em; line-height: 1.2; }
.zt-c4__grid small { font-size: .78em; line-height: 1.4; color: var(--text-2); }
.zt-c4.is-on .zt-c4__grid li { animation: zt-chin .5s var(--ease-out) both; }
.zt-c4.is-on .zt-c4__grid li:nth-child(2) { animation-delay: .1s; }
.zt-c4.is-on .zt-c4__grid li:nth-child(3) { animation-delay: .2s; }
.zt-c4.is-on .zt-c4__grid li:nth-child(4) { animation-delay: .3s; }

/* ---------- HOW IT WORKS — stacked flow story ---------- */
.zt-flow__head { text-align: center; }
.zt-flow__head .eyebrow { justify-content: center; }
.zt-flow__head .zt-story__h2 { margin-bottom: 0; }
.zt-flow__panels { text-align: center; max-width: 660px; margin-inline: auto; }
.zt-flow__panels .story__dots { justify-content: center; margin-top: 18px; }
.zt-flow__panels .h4 { font-size: clamp(1.2rem, 1rem + .8vw, 1.6rem); margin-bottom: 8px; }
.zt-flow__panels .body { margin-inline: auto; }
html.motion .zt-flowstory .story__sticky {
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto minmax(0, 1fr) auto;
  gap: clamp(10px, 2.4vh, 28px);
  justify-items: center;
  padding-top: calc(var(--header-h) + 3vh);
  padding-bottom: 4vh;
}
html.motion .zt-flowstory .story__visual { order: 0; width: 100%; height: 100%; min-height: 0; display: grid; place-items: center; }

.zt-flow {
  --box: clamp(42px, 6.6cqw, 74px);
  position: relative; container-type: inline-size;
  aspect-ratio: 1000 / 320;
  width: min(100%, calc((100svh - 400px) * 1000 / 320));
  margin-inline: auto;
}
html:not(.motion) .zt-flow { width: 100%; }
.zt-flow__svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.zt-flow__svg--v { display: none; }
.zt-fl-zone { fill: rgba(var(--pa-rgb), .03); stroke: rgba(var(--pa-rgb), .45); stroke-width: 1.4; stroke-dasharray: 6 6; }
.zt-fl-track { fill: none; stroke: rgba(255, 255, 255, .14); stroke-width: 2; }
.zt-fl-sess { fill: none; stroke: var(--pa); stroke-width: 2.4; stroke-dasharray: 3 12; animation: zt-march .6s linear infinite; filter: drop-shadow(0 0 4px rgba(var(--pa-rgb), .8)); }
.zt-fl-dial { fill: none; stroke: var(--pa-2); stroke-width: 2; stroke-dasharray: 6 6; animation: zt-march .7s linear infinite; }
.zt-fl-arrow { fill: none; stroke: var(--pa-2); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.zt-fl-scan { fill: none; stroke: var(--bad); stroke-width: 2; stroke-dasharray: 4 5; animation: zt-beam 2.6s ease-in infinite; }
.zt-fl-ripple { fill: none; stroke: var(--bad); stroke-width: 2; transform-box: fill-box; transform-origin: center; animation: zt-ripple 2.6s ease-out infinite; }
.zt-fl-sessg, .zt-fl-scang, .zt-fl-dialg { transition: opacity .6s; }
html.motion .zt-flowstory[data-step="0"] .zt-fl-sessg,
html.motion .zt-flowstory:not([data-step="2"]) .zt-fl-scang { opacity: 0; }
html.motion .zt-flowstory:not([data-step="0"]) .zt-fl-dialg { opacity: .45; }

.zt-flow .zt-fn, .zt-flow .zt-fl-tag, .zt-fl-probe, .zt-fl-dlp, .zt-fl-estate, .zt-fl-pkt {
  position: absolute;
  left: calc(var(--x) / 10 * 1%);
  top: calc(var(--y) / 3.2 * 1%);
  transform: translate(-50%, -50%);
  white-space: nowrap;
  font-size: clamp(10.5px, 1.4cqw, 15px);
}
.zt-fn--user { --x: 90; --y: 170; --mx: 78; --my: 40; }
.zt-fn--broker { --x: 380; --y: 170; --mx: 78; --my: 160; }
.zt-fn--conn { --x: 640; --y: 170; --mx: 78; --my: 256; }
.zt-fn--app { --x: 900; --y: 170; --mx: 78; --my: 348; }
.zt-fl-tag--mtls { --x: 235; --y: 134; --mx: 236; --my: 94; }
.zt-fl-tag--one { --x: 770; --y: 134; --mx: 236; --my: 303; }
.zt-fl-tag--dial { --x: 510; --y: 207; --mx: 236; --my: 206; }
.zt-fl-dlp { --x: 510; --y: 272; --mx: 236; --my: 206; }
.zt-fl-probe { --x: 885; --y: 26; --mx: 236; --my: 404; transform: translate(-100%, -50%) !important; }
.zt-fl-estate { --x: 683; --y: 56; --mx: 236; --my: 404; }
.zt-fl-pkt--raw { --x: 235; --y: 134; --mx: 236; --my: 94; }
.zt-fl-pkt--masked { --x: 510; --y: 132; --mx: 236; --my: 303; }
.zt-fl-pkt { padding: .35em .7em; border-radius: .5em; font: 600 .76em/1 var(--font-mono) !important; letter-spacing: .04em; animation: zt-pkt 2.4s var(--ease-in-out) infinite; }
.zt-fl-pkt--raw { color: #ffb4b4; background: #160b0d; border: 1px solid rgba(255, 107, 107, .5); }
.zt-fl-pkt--masked { color: var(--pa); background: #120f08; border: 1px solid rgba(var(--pa-rgb), .55); animation-delay: 1.2s; }
@keyframes zt-pkt { 0% { opacity: 0; transform: translate(-75%, -50%); } 20%, 75% { opacity: 1; } 100% { opacity: 0; transform: translate(-25%, -50%); } }
html:not(.motion) .zt-fl-pkt { display: none; }
html.motion .zt-fl-pkt:not(.is-on) { animation: none; }
.zt-fl-estate { display: inline-flex; align-items: center; gap: .5em; padding: .45em .9em; border-radius: 999px; background: #08090b; border: 1px solid rgba(var(--pa-rgb), .45); color: var(--pa); font: 500 .74em/1 var(--font-mono) !important; letter-spacing: .1em; text-transform: uppercase; }
.zt-fl-estate svg { width: 1.3em; height: 1.3em; }

.zt-fn i {
  display: grid; place-items: center;
  width: var(--box); height: var(--box); border-radius: 28%;
  border: 1px solid var(--line-strong); background: #0b0f17; color: var(--text-2);
  transition: box-shadow .6s, border-color .6s, color .6s;
}
.zt-fn i svg { width: 46%; height: 46%; }
.zt-fn > span { position: absolute; left: 50%; top: calc(100% + 10px); transform: translateX(-50%); text-align: center; padding: 2px 8px; border-radius: 6px; background: #07090d; }
.zt-fn b { display: block; font-weight: 600; font-size: 1em; }
.zt-fn small { display: block; font: 500 .76em/1.4 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.zt-fn--broker i { color: var(--pa); border-color: rgba(var(--pa-rgb), .65); background: radial-gradient(circle at 50% 25%, rgba(var(--pa-rgb), .25), rgba(var(--pa-rgb), .04) 70%), #0b0d11; box-shadow: 0 0 40px rgba(var(--pa-rgb), .3); }
.zt-fn--broker small { color: var(--pa); }
.zt-fn--conn i { color: var(--pa-2); border-color: rgba(255, 138, 76, .5); }
html.motion .zt-flowstory[data-step="2"] .zt-fn--app i { border-color: rgba(255, 107, 107, .55); box-shadow: 0 0 0 6px rgba(255, 107, 107, .07); }
html.motion .zt-flowstory[data-step="3"] .zt-fn--broker i { box-shadow: 0 0 0 7px rgba(var(--pa-rgb), .14), 0 0 0 14px rgba(var(--pa-rgb), .06), 0 0 50px rgba(var(--pa-rgb), .45); }
html.motion .zt-flowstory[data-step="0"] .zt-fn--conn i { box-shadow: 0 0 0 6px rgba(255, 138, 76, .12), 0 0 34px rgba(255, 138, 76, .35); }
.zt-fl-tag { display: inline-flex; align-items: center; gap: .45em; padding: .4em .8em; border-radius: 999px; background: #0b0d10; border: 1px solid rgba(var(--pa-rgb), .4); color: var(--pa); font-family: var(--font-mono); font-size: .8em !important; letter-spacing: .04em; }
.zt-fl-tag svg { width: 1.2em; height: 1.2em; }
.zt-fl-tag--dial { color: var(--pa-2); border-color: rgba(255, 138, 76, .45); }
.zt-fl-probe { display: grid; justify-items: end; gap: .3em; }
.zt-fl-probe b { font: 500 .76em/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: rgba(255, 107, 107, .85); }
.zt-fl-probe__res { padding: .4em .8em; border-radius: 999px; border: 1px solid rgba(255, 107, 107, .5); background: #160b0d; color: var(--bad); font: 600 .82em/1 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; }
.zt-fl-dlp { display: inline-flex; align-items: center; gap: .6em; padding: .5em .85em; border-radius: .8em; border: 1px dashed rgba(var(--pa-rgb), .6); background: #0d0c09; }
.zt-fl-dlp > svg { width: 1.6em; height: 1.6em; color: var(--pa); }
.zt-fl-dlp b { display: block; font-size: .9em; color: var(--pa); }
.zt-fl-dlp small { display: block; font: 500 .74em/1.3 var(--font-mono); color: var(--text-2); }

@media (max-width: 700px) {
  .zt-flow { aspect-ratio: 360 / 420; width: min(100%, calc((100svh - 430px) * 360 / 420)); --box: 44px; }
  .zt-flow__svg--h { display: none; }
  .zt-flow__svg--v { display: block; }
  .zt-flow .zt-fn, .zt-flow .zt-fl-tag, .zt-fl-probe, .zt-fl-dlp, .zt-fl-estate, .zt-fl-pkt {
    left: calc(var(--mx) / 3.6 * 1%); top: calc(var(--my) / 4.2 * 1%); font-size: 11px;
  }
  .zt-fl-probe { transform: translate(-50%, -50%) !important; display: flex; align-items: center; gap: .5em; padding: 3px 6px; border-radius: 8px; background: #07090d; }
  .zt-fl-pkt { font-size: 10px !important; }
  .zt-fn > span { left: calc(100% + 8px); top: 50%; transform: translateY(-50%); text-align: left; }
  .zt-fl-tag { font-size: 10px !important; }
}
@media (max-width: 900px) {
  html.motion .zt-flowstory .story__sticky { padding-top: calc(var(--header-h) + 10px); padding-bottom: 14px; gap: 10px; }
  .zt-flow__panels .h4 { font-size: 1.12rem; }
  .zt-flow__panels .body { font-size: .9rem; line-height: 1.5; }
  .zt-flowstory .story__panels { min-height: 9.5rem; }
}

/* ---------- PLATFORM — stats + 11 modules ---------- */
.zt-mods__head { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 20px 56px; align-items: end; margin-bottom: clamp(24px, 3vw, 40px); }
.zt-mods__stats { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border-radius: 18px; overflow: hidden; border: 1px solid var(--line); background: var(--line); }
.zt-mods__stats > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 5px; padding: 14px 16px; background: var(--bg-elev); }
.zt-mods__stats dd { white-space: nowrap; font-size: clamp(1.45rem, .9rem + 1.5vw, 2.3rem); font-weight: 600; letter-spacing: -.045em; line-height: 1; font-variant-numeric: tabular-nums; }
.zt-mods__stats div:nth-child(n+5) dd { color: var(--pa); }
.zt-mods__stats dt { font: 500 var(--fs-2xs)/1.35 var(--font-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--text-3); }
.zt-modgrid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; }
.zt-mod { position: relative; display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "top top" "ic h" "p p"; column-gap: 12px; row-gap: 8px; align-content: start; padding: 18px; border-radius: 18px; border: 1px solid var(--line); background: var(--zt-panel); }
.zt-mod__top { grid-area: top; display: flex; justify-content: space-between; align-items: center; }
.zt-mod__n { font: 500 var(--fs-xs)/1 var(--font-mono); color: var(--text-3); letter-spacing: .1em; }
.zt-mod__count { font: 500 var(--fs-2xs)/1 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--pa); padding: 4px 8px; border-radius: 999px; background: rgba(var(--pa-rgb), .08); border: 1px solid rgba(var(--pa-rgb), .25); white-space: nowrap; }
.zt-mod__ic { grid-area: ic; display: grid; place-items: center; width: 34px; height: 34px; border-radius: 10px; color: var(--pa); background: rgba(var(--pa-rgb), .1); border: 1px solid rgba(var(--pa-rgb), .22); }
.zt-mod__ic svg { width: 17px; height: 17px; }
.zt-mod h3 { grid-area: h; align-self: center; font-size: 1rem; font-weight: 600; letter-spacing: -.015em; line-height: 1.2; }
.zt-mod > p, .zt-mod > ul { grid-area: p; color: var(--text-2); font-size: .86rem; line-height: 1.45; }
.zt-mod--flag { grid-column: 4; grid-row: 2 / span 2; border-color: rgba(var(--pa-rgb), .5); background: radial-gradient(120% 70% at 100% 0%, rgba(var(--pa-rgb), .22), transparent 60%), var(--zt-panel); box-shadow: 0 30px 80px -40px rgba(var(--pa-rgb), .6); }
.zt-mod--flag .zt-mod__count { background: var(--pa); color: #120d02; border-color: transparent; }
.zt-mod--flag ul { display: grid; gap: 8px; align-self: start; }
.zt-mod--flag li { position: relative; padding-left: 14px; }
.zt-mod--flag li::before { content: ""; position: absolute; left: 0; top: .55em; width: 6px; height: 6px; border-radius: 2px; background: var(--pa); }
@media (max-width: 1024px) {
  .zt-mods__head { grid-template-columns: minmax(0, 1fr); }
  .zt-modgrid { grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-flow: dense; }
  .zt-mod--flag { grid-column: span 3; grid-row: auto; }
}
@media (max-width: 640px) {
  .zt-mods__stats > div { padding: 10px 10px; }
  .zt-mods__stats dd { font-size: 1.35rem; }
  .zt-mods__stats dt { font-size: 9px; letter-spacing: .03em; }
  .zt-modgrid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .zt-mod { padding: 12px; border-radius: 14px; grid-template-columns: minmax(0, 1fr); grid-template-areas: "top" "h" "p"; row-gap: 6px; }
  .zt-mod__ic { display: none; }
  .zt-mod__count { font-size: 9px; padding: 3px 6px; }
  .zt-mod h3 { font-size: .9rem; }
  .zt-mod > p, .zt-mod > ul { font-size: .78rem; line-height: 1.4; }
  .zt-mod--flag { grid-column: span 2; }
}

/* ---------- DEVICE TRUST — story visual ---------- */
.zt-dev {
  border-radius: 18px; border: 1px solid var(--line-strong);
  background: radial-gradient(90% 70% at 30% 20%, rgba(var(--pa-rgb), .07), transparent 60%), linear-gradient(180deg, #0c111a, #070a10);
  box-shadow: 0 40px 100px -40px rgba(0, 0, 0, .9);
  overflow: hidden;
  --score: 92;
  --gc: var(--ok);
}
.zt-dev > * { font-size: clamp(10px, 2.3cqw, 14px); }
.zt-trust__story[data-step="0"] .zt-dev { --score: 6; --gc: var(--info); }
.zt-trust__story[data-step="2"] .zt-dev, .zt-trust__story[data-step="3"] .zt-dev { --score: 41; --gc: var(--bad); }
.zt-dev__bar { position: absolute; left: 0; right: 0; top: 0; height: 12%; display: flex; align-items: center; justify-content: space-between; padding: 0 4%; border-bottom: 1px solid var(--line); }
.zt-dev__id { display: inline-flex; align-items: center; gap: .55em; font: 500 .82em/1 var(--font-mono); color: var(--text-2); }
.zt-dev__id svg { width: 1.4em; height: 1.4em; color: var(--pa); }
.zt-dev__state, .zt-dev__sess-state { display: grid; justify-items: end; }
.zt-dev__state > *, .zt-dev__sess-state > * { grid-area: 1 / 1; }
.zt-dev__body { position: absolute; left: 4%; right: 4%; top: 15%; bottom: 19%; display: grid; grid-template-columns: 1fr 1.08fr; gap: 4%; align-items: center; }
.zt-dev__gauge { position: relative; display: grid; place-items: center; }
.zt-dev__gauge svg { width: 100%; overflow: visible; }
.zt-gauge__bg, .zt-gauge__fg { fill: none; stroke-width: 14; stroke-linecap: round; }
.zt-gauge__bg { stroke: rgba(255, 255, 255, .07); }
.zt-gauge__fg { stroke: var(--gc); stroke-dasharray: 100 200; stroke-dashoffset: calc(100 - var(--score)); transition: stroke-dashoffset 1.2s var(--ease-out), stroke .6s; filter: drop-shadow(0 0 6px var(--gc)); }
.zt-dev__score { position: absolute; left: 0; right: 0; bottom: 4%; display: grid; justify-items: center; }
.zt-dev__score b { font-size: 3.2em; font-weight: 600; letter-spacing: -.05em; line-height: 1; font-variant-numeric: tabular-nums; color: var(--text); }
.zt-dev__score small { font: 500 .68em/1.3 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); }
.zt-dev__fp { position: absolute; inset: -6% -4%; display: grid; place-items: center; align-content: center; gap: .5em; text-align: center; border-radius: 1em; background: rgba(7, 10, 16, .92); border: 1px solid rgba(110, 168, 255, .35); }
.zt-dev__fp svg { width: 3em; height: 3em; color: var(--info); }
.zt-dev__fp span { font: 500 .72em/1.5 var(--font-mono); color: var(--text-2); }
.zt-dev__fp::after { content: ""; position: absolute; left: 8%; right: 8%; height: 2px; top: 20%; background: var(--info); box-shadow: 0 0 12px var(--info); animation: zt-scanline 2s ease-in-out infinite alternate; }
@keyframes zt-scanline { to { transform: translateY(5em); } }
.zt-dev__sigs { display: grid; gap: .3em; }
.zt-dev__sigs li { position: relative; display: flex; align-items: center; gap: .5em; padding: .32em .6em; border-radius: .5em; background: rgba(255, 255, 255, .025); font-size: .82em; color: var(--text-2); transition: background-color .5s; }
.zt-dev__sigs li > svg { width: 1.25em; height: 1.25em; color: var(--ok); flex: none; }
.zt-dev__sigs li em { position: absolute; inset: 0; display: flex; align-items: center; gap: .5em; padding: .32em .6em; border-radius: .5em; font-style: normal; color: #ffc4c4; background: #1d0c10; border: 1px solid rgba(255, 107, 107, .5); opacity: 0; transition: opacity .5s; }
.zt-dev__sigs li em svg { width: 1.25em; height: 1.25em; color: var(--bad); }
.zt-trust__story[data-step="2"] .zt-dev__av em, .zt-trust__story[data-step="3"] .zt-dev__av em { opacity: 1; }
.zt-dev__more { justify-content: center; background: none !important; font: 500 .7em/1 var(--font-mono) !important; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3) !important; }
.zt-dev__sess { position: absolute; left: 4%; right: 4%; bottom: 4%; height: 12%; display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 0 3%; border-radius: .8em; border: 1px solid var(--line-strong); background: rgba(255, 255, 255, .03); }
.zt-dev__sess > span:first-child { display: inline-flex; align-items: center; gap: .5em; font-size: .85em; font-weight: 550; }
.zt-dev__sess svg { width: 1.3em; height: 1.3em; color: var(--pa); }
.zt-dev__banner { position: absolute; left: 4%; right: 4%; top: 14%; display: flex; gap: .7em; align-items: flex-start; padding: .8em 1em; border-radius: .8em; background: #1b0d0f; border: 1px solid rgba(255, 107, 107, .55); box-shadow: 0 20px 50px -10px rgba(0, 0, 0, .8); z-index: 3; }
.zt-dev__banner > svg { width: 1.6em; height: 1.6em; color: var(--bad); flex: none; }
.zt-dev__banner span { font-size: .82em; color: var(--text-2); line-height: 1.4; }
.zt-dev__banner b { display: block; color: var(--text); font-size: 1.05em; }
.zt-dev__alert { position: absolute; right: 4%; bottom: 19%; display: inline-flex; align-items: center; gap: .5em; padding: .55em .85em; border-radius: .7em; background: #101722; border: 1px solid rgba(110, 168, 255, .45); font: 500 .72em/1.2 var(--font-mono); color: var(--info); z-index: 3; box-shadow: 0 16px 40px -10px rgba(0, 0, 0, .8); }
.zt-dev__alert svg { width: 1.3em; height: 1.3em; }
html.motion .zt-dev__banner:not(.is-on) { transform: translateY(-10px); }
html.motion .zt-dev__alert:not(.is-on) { transform: translateY(10px); }
html:not(.motion) .zt-dev { aspect-ratio: 5 / 4; }
html:not(.motion) .zt-dev__fp { display: none; }

/* ---------- POLICY / IDENTITY / PAM — bento ---------- */
.zt-bento { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(12px, 1.4vw, 18px); }
.zt-bento .card { display: flex; flex-direction: column; gap: 18px; }
.zt-bento__policy, .zt-bento__cl { grid-column: span 2; }
.zt-tile-h { display: flex; align-items: center; gap: 12px; }
.zt-tile-h .icon-box { margin: 0; }
.zt-tile-h .h4 { margin: 0; }
.zt-stat-pill { margin-left: auto; font: 500 var(--fs-2xs)/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); white-space: nowrap; }
.zt-stat-pill b { font: 600 1.6rem/1 var(--font-sans); letter-spacing: -.04em; color: var(--pa); margin-right: 6px; vertical-align: -.2em; }
.zt-rule { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 16px; border-radius: 16px; border: 1px solid var(--line); background: rgba(0, 0, 0, .25); }
.zt-rule__k { font: 600 var(--fs-xs)/1 var(--font-mono); color: var(--pa-2); text-transform: lowercase; padding: 0 4px; }
.zt-rule__c { display: inline-grid; gap: 3px; padding: 8px 12px; border-radius: 10px; border: 1px solid var(--line-strong); background: var(--surface-2); font-size: .9rem; font-weight: 550; }
.zt-rule__c small { font: 500 9.5px/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); }
.zt-rule__c--fx { border-color: rgba(var(--pa-rgb), .6); background: rgba(var(--pa-rgb), .12); color: var(--pa); box-shadow: 0 0 24px -6px rgba(var(--pa-rgb), .5); }
.zt-effects { display: flex; flex-wrap: wrap; gap: 6px; }
.zt-bento p { color: var(--text-2); font-size: .95rem; line-height: 1.55; }
.zt-mini { display: grid; gap: 10px; }
.zt-mini li { display: flex; gap: 10px; align-items: flex-start; color: var(--text-2); font-size: .92rem; line-height: 1.45; }
.zt-mini svg { width: 18px; height: 18px; color: var(--pa); flex: none; margin-top: 1px; }
.zt-jit { margin-top: auto; padding: 14px; border-radius: 14px; border: 1px solid var(--line-strong); background: rgba(0, 0, 0, .25); display: grid; gap: 10px; }
.zt-jit__top { display: flex; justify-content: space-between; align-items: center; gap: 8px; font: 500 var(--fs-2xs)/1 var(--font-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); }
.zt-jit__top > span:first-child { display: inline-flex; align-items: center; gap: 6px; }
.zt-jit__top svg { width: 14px; height: 14px; color: var(--pa); }
.zt-jit__state { display: grid; }
.zt-jit__state b { grid-area: 1 / 1; justify-self: end; font-weight: 600; }
.zt-jit__state .on { color: var(--ok); animation: zt-jit-on 9s infinite; }
.zt-jit__state .off { color: var(--bad); animation: zt-jit-off 9s infinite; }
.zt-jit__bar { height: 6px; border-radius: 6px; background: rgba(255, 255, 255, .07); overflow: hidden; }
.zt-jit__bar i { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--pa-2), var(--pa)); transform-origin: left; animation: zt-jit 9s linear infinite; }
.zt-jit small { font-size: .8rem; color: var(--text-3); }
@keyframes zt-jit { 0% { transform: scaleX(1); } 80%, 100% { transform: scaleX(0); } }
@keyframes zt-jit-on { 0%, 79% { opacity: 1; } 81%, 100% { opacity: 0; } }
@keyframes zt-jit-off { 0%, 79% { opacity: 0; } 81%, 100% { opacity: 1; } }
html:not(.motion) .zt-jit__state .off { opacity: 0; }
.zt-pam { position: relative; display: grid; gap: 14px; }
.zt-pam::before { content: ""; position: absolute; left: 17px; top: 18px; bottom: 18px; width: 1px; background: linear-gradient(var(--line-strong), rgba(var(--pa-rgb), .5), var(--line-strong)); }
.zt-pam li { position: relative; display: flex; gap: 14px; align-items: center; }
.zt-pam i { position: relative; display: grid; place-items: center; width: 35px; height: 35px; border-radius: 10px; border: 1px solid var(--line-strong); background: #0b0f17; color: var(--text-2); flex: none; animation: zt-pam 8s infinite; }
.zt-pam li:nth-child(2) i { animation-delay: 2s; }
.zt-pam li:nth-child(3) i { animation-delay: 4s; }
.zt-pam li:nth-child(4) i { animation-delay: 6s; }
.zt-pam i svg { width: 17px; height: 17px; }
.zt-pam b { display: block; font-size: .95rem; font-weight: 600; }
.zt-pam small { display: block; font-size: .82rem; color: var(--text-3); line-height: 1.4; }
.zt-pam__pw { font-family: var(--font-mono); color: var(--pa); letter-spacing: .1em; }
@keyframes zt-pam { 0%, 22% { color: var(--pa); border-color: rgba(var(--pa-rgb), .7); box-shadow: 0 0 20px rgba(var(--pa-rgb), .35); } 27%, 100% { color: var(--text-2); border-color: var(--line-strong); box-shadow: none; } }
.zt-cl { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 22px; align-items: center; }
.zt-cl__win { border-radius: 12px; border: 1px solid var(--line-strong); background: #06080c; overflow: hidden; }
.zt-cl__bar { display: flex; align-items: center; gap: 10px; height: 30px; padding: 0 10px; border-bottom: 1px solid var(--line); background: #0e131d; }
.zt-cl__url { flex: 1; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 500 10.5px/1 var(--font-mono); color: var(--text-3); text-align: center; }
.zt-cl__term { position: relative; display: grid; gap: 6px; padding: 14px; min-height: 172px; font: 500 12px/1.45 var(--font-mono); color: #c9d4e3; overflow: hidden; }
.zt-cl__term > span:not(.zt-cl__wm) { opacity: 0; animation: zt-term 12s infinite; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zt-cl__term .t2 { animation-delay: .9s; color: var(--ok); }
.zt-cl__term .t3 { animation-delay: 2s; }
.zt-cl__term .t4 { animation-delay: 3s; }
.zt-cl__term .t5 { animation-delay: 3.8s; }
.zt-cl__term .bad { color: var(--bad); background: rgba(255, 107, 107, .08); border-radius: 4px; padding: 2px 6px; }
@keyframes zt-term { 0% { opacity: 0; transform: translateY(4px); } 4%, 88% { opacity: 1; transform: none; } 94%, 100% { opacity: 0; } }
html:not(.motion) .zt-cl__term > span { opacity: 1 !important; }
.zt-cl__term::after { content: "vendor.ops · 17-10-2026 · 10:42"; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%) rotate(-16deg); font: 600 15px/1 var(--font-mono); color: rgba(var(--pa-rgb), .11); white-space: nowrap; pointer-events: none; letter-spacing: .06em; }
.zt-cl__copy { display: grid; gap: 14px; }
@media (max-width: 1024px) {
  .zt-bento { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px) {
  .zt-bento { grid-template-columns: minmax(0, 1fr); }
  .zt-bento__policy, .zt-bento__cl { grid-column: auto; }
  .zt-bento .card { gap: 14px; }
  .zt-rule { padding: 12px; gap: 6px; }
  .zt-rule__c { padding: 6px 9px; font-size: .82rem; }
  .zt-cl { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .zt-cl__term { min-height: 140px; font-size: 10.5px; padding: 12px; }
  .zt-bento p { font-size: .9rem; }
}

/* ---------- AUDIT — bento tile + hash chain ---------- */
.zt-bento__audit { grid-column: 1 / -1; display: grid !important; grid-template-columns: minmax(0, .85fr) minmax(0, 1.15fr); gap: 20px clamp(24px, 4vw, 56px) !important; align-items: center; }
.zt-audit__copy { display: grid; gap: 16px; align-content: start; }
.zt-audit__lead { font-size: clamp(1.25rem, 1rem + 1vw, 1.75rem) !important; font-weight: 550; letter-spacing: -.025em; line-height: 1.2 !important; color: var(--text) !important; text-wrap: balance; }
@media (max-width: 900px) { .zt-bento__audit { grid-template-columns: minmax(0, 1fr); } }
.zt-chain { position: relative; padding: 18px; border-radius: 22px; border: 1px solid var(--line-strong); background: var(--zt-panel); }
.zt-chain__head { display: flex; justify-content: space-between; align-items: center; margin-bottom: 16px; font: 500 var(--fs-2xs)/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--text-3); }
.zt-chain__head > span:first-child { display: inline-flex; align-items: center; gap: 8px; color: var(--text-2); }
.zt-chain__head svg { width: 15px; height: 15px; color: var(--pa); }
.zt-chain__live { display: inline-flex; align-items: center; gap: 6px; color: var(--ok); }
.zt-blk {
  --in: clamp(0, calc((var(--p) - .12 - var(--k) * .035) * 12), 1);
  --link: clamp(0, calc((var(--p) - .2 - var(--k) * .035) * 12), 1);
  --tamper: clamp(0, calc((var(--p) - .48) * 25), 1);
  --broken: clamp(0, calc((var(--p) - .52) * 25), 1);
  position: relative;
  display: grid; grid-template-columns: auto minmax(0, 1fr); grid-template-areas: "n e" "n h"; column-gap: 14px; row-gap: 3px; align-items: center;
  padding: 11px 14px; border-radius: 12px; border: 1px solid var(--line-strong); background: #0a0e15;
  opacity: var(--in); transform: translateY(calc((1 - var(--in)) * 14px));
}
.zt-blk + .zt-blk { margin-top: 20px; }
.zt-blk + .zt-blk::before { content: ""; position: absolute; left: 34px; top: -21px; width: 2px; height: 20px; border-radius: 2px; background: var(--pa); box-shadow: 0 0 8px rgba(var(--pa-rgb), .7); transform-origin: top; transform: scaleY(var(--link)); }
.zt-blk__n { grid-area: n; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 10px; border: 1px solid rgba(var(--pa-rgb), .35); background: rgba(var(--pa-rgb), .07); font: 600 11px/1 var(--font-mono); color: var(--pa); }
.zt-blk__e { grid-area: e; font: 500 .9rem/1.3 var(--font-mono); color: var(--text); position: relative; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.zt-blk__h { grid-area: h; font: 500 11px/1.3 var(--font-mono); color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zt-blk__h b { color: var(--text-2); font-weight: 600; position: relative; }
.zt-blk--t .orig, .zt-blk--t .edit { transition: none; }
.zt-blk--t .zt-blk__e .orig { opacity: calc(1 - var(--tamper)); }
.zt-blk--t .zt-blk__e .edit { position: absolute; left: 0; top: 0; opacity: var(--tamper); color: var(--bad); }
.zt-blk--t .zt-blk__h b .orig { opacity: calc(1 - var(--tamper)); }
.zt-blk--t .zt-blk__h b .edit { position: absolute; left: 0; top: 0; opacity: var(--tamper); color: var(--bad); }
.zt-blk--t::after { content: ""; position: absolute; inset: -1px; border-radius: inherit; border: 1px solid var(--bad); box-shadow: 0 0 0 4px rgba(255, 107, 107, .1), 0 0 30px rgba(255, 107, 107, .25); opacity: var(--tamper); pointer-events: none; }
.zt-blk--a::after { content: ""; position: absolute; left: 32px; top: -22px; width: 6px; height: 22px; background: repeating-linear-gradient(180deg, var(--bad) 0 4px, transparent 4px 7px); opacity: var(--broken); }
.zt-blk--a + .zt-blk--a::after { opacity: calc(var(--broken) * .6); }
.zt-blk__prev { color: var(--text-2); }
.zt-blk__tag { position: absolute; right: 12px; top: 10px; padding: 3px 7px; border-radius: 999px; font: 600 9.5px/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; font-style: normal; color: var(--bad); background: #1a0c0f; border: 1px solid rgba(255, 107, 107, .5); opacity: var(--tamper); }
.zt-blk__tag--b { opacity: var(--broken); }
.zt-blk--a .zt-blk__prev { box-shadow: 0 0 0 calc(var(--broken) * 1px) var(--bad); border-radius: 3px; }
.zt-verify { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: 10px 14px; margin-top: 18px; padding-top: 16px; border-top: 1px solid var(--line); }
.zt-verify__btn { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; background: var(--pa); color: #120d02; font-weight: 600; font-size: .85rem; }
.zt-verify__btn svg { width: 16px; height: 16px; }
.zt-verify__bar { height: 4px; border-radius: 4px; background: rgba(255, 255, 255, .08); overflow: hidden; }
.zt-verify__bar i {
  display: block; height: 100%; background: var(--pa); transform-origin: left;
  transform: scaleX(calc(clamp(0, calc((var(--p) - .3) * 12.5), 1) * (1 - clamp(0, calc((var(--p) - .48) * 25), 1)) + clamp(0, calc((var(--p) - .53) * 14), 1)));
}
.zt-verify__res { grid-column: 1 / -1; display: grid; min-height: 1.6em; }
.zt-verify__res > span { grid-area: 1 / 1; display: inline-flex; align-items: center; gap: 8px; font: 600 .82rem/1.3 var(--font-mono); }
.zt-verify__res svg { width: 17px; height: 17px; flex: none; }
.zt-verify__res .good { color: var(--ok); opacity: calc(clamp(0, calc((var(--p) - .38) * 20), 1) * (1 - clamp(0, calc((var(--p) - .48) * 25), 1))); }
.zt-verify__res .bad { color: var(--bad); opacity: clamp(0, calc((var(--p) - .6) * 20), 1); }
.zt-siem { margin-top: 4px; }
.zt-siem .chip svg { width: 13px; height: 13px; color: var(--pa); }
@media (max-width: 640px) {
  .zt-chain { padding: 14px; }
  .zt-blk { padding: 9px 10px; column-gap: 10px; }
  .zt-blk__n { width: 38px; height: 38px; font-size: 10px; }
  .zt-blk__e { font-size: .78rem; }
  .zt-blk__h { font-size: 9.5px; }
  .zt-blk + .zt-blk { margin-top: 14px; }
  .zt-blk__tag { top: -8px; right: 8px; }
  .zt-blk + .zt-blk::before { left: 28px; top: -15px; height: 14px; }
  .zt-blk--a::after { left: 26px; top: -16px; height: 16px; }
  .zt-siem .chip { font-size: 10px; }
}

/* ---------- DLP — story scenes ---------- */
.zt-d0__lines path { fill: none; stroke: rgba(var(--pa-rgb), .5); stroke-width: 1.3; stroke-dasharray: 3 9; animation: zt-march 1.1s linear infinite; }
.zt-d0__ch { position: absolute; top: 13%; height: 80%; width: 28%; display: grid; grid-template-rows: repeat(8, 1fr); align-items: center; }
.zt-d0__ch--l { left: 3%; }
.zt-d0__ch--r { right: 3%; }
.zt-d0__ch li { display: flex; align-items: center; justify-content: center; min-height: 78%; padding: .15em .5em; border-radius: .55em; border: 1px solid var(--line-strong); background: #0b0f17; font-size: max(9.5px, .78em); line-height: 1.1; text-align: center; color: var(--text-2); }
.zt-d0.is-on .zt-d0__ch li { animation: zt-chin .5s var(--ease-out) both; }
.zt-d0.is-on .zt-d0__ch li:nth-child(2) { animation-delay: .05s; } .zt-d0.is-on .zt-d0__ch li:nth-child(3) { animation-delay: .1s; }
.zt-d0.is-on .zt-d0__ch li:nth-child(4) { animation-delay: .15s; } .zt-d0.is-on .zt-d0__ch li:nth-child(5) { animation-delay: .2s; }
.zt-d0.is-on .zt-d0__ch li:nth-child(6) { animation-delay: .25s; } .zt-d0.is-on .zt-d0__ch li:nth-child(7) { animation-delay: .3s; }
.zt-d0.is-on .zt-d0__ch li:nth-child(8) { animation-delay: .35s; }
@keyframes zt-chin { from { opacity: 0; transform: scale(.85); } }
.zt-d0__ch li:nth-child(3), .zt-d0__ch li:nth-child(4) { border-color: rgba(var(--pa-rgb), .45); color: var(--pa); }
.zt-d0__core { display: grid; justify-items: center; gap: .3em; width: 18.4%; padding: 1.1em .4em; border-radius: 1em; text-align: center; white-space: normal; border: 1px solid rgba(var(--pa-rgb), .7); background: radial-gradient(circle at 50% 20%, rgba(var(--pa-rgb), .28), rgba(var(--pa-rgb), .05) 70%), #0d0c09; box-shadow: 0 0 0 6px rgba(var(--pa-rgb), .06), 0 0 50px rgba(var(--pa-rgb), .4); }
.zt-d0__core svg { width: 2em; height: 2em; color: var(--pa); }
.zt-d0__core b { font-size: .86em; line-height: 1.15; }
.zt-d0__core small { font: 500 .62em/1.3 var(--font-mono); text-transform: uppercase; letter-spacing: .04em; color: var(--pa); }

.zt-d1__pre { position: absolute; left: 4%; right: 4%; top: 13%; padding: .55em .8em; border-radius: .6em; background: rgba(110, 168, 255, .06); border: 1px dashed rgba(110, 168, 255, .35); font: 500 .66em/1.45 var(--font-mono); color: var(--text-2); }
.zt-d1__pre span { color: var(--info); text-transform: uppercase; letter-spacing: .08em; margin-right: .4em; }
.zt-d1__body { position: absolute; left: 4%; right: 4%; top: 29%; bottom: 4%; display: grid; grid-template-columns: 1.3fr 1fr; gap: 3.5%; }
.zt-d1__doc { position: relative; overflow: hidden; display: grid; grid-template-rows: auto repeat(4, 1fr); gap: .5em; padding: .8em; border-radius: .8em; border: 1px solid var(--line-strong); background: #0a0e15; }
.zt-d1__file { display: flex; align-items: center; gap: .5em; margin-bottom: .2em; font: 600 .74em/1.2 var(--font-mono); color: var(--text-2); }
.zt-d1__file svg { width: 1.4em; height: 1.4em; color: var(--ok); flex: none; }
.zt-d1__doc p { display: flex; flex-direction: column; justify-content: center; gap: .3em; padding: .3em .6em; border-radius: .5em; background: rgba(255, 255, 255, .03); border: 1px solid var(--line); font: 500 .74em/1.2 var(--font-mono); color: var(--text-3); }
.zt-d1__doc mark { background: rgba(var(--pa-rgb), .16); color: var(--pa); border-radius: 3px; padding: 0 .25em; }
.zt-d1__doc em { font-style: normal; color: var(--ok); white-space: nowrap; }
.zt-hit { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zt-d1__scan { position: absolute; left: 0; right: 0; top: 0; height: 30%; background: linear-gradient(180deg, transparent, rgba(var(--pa-rgb), .12) 80%, rgba(var(--pa-rgb), .6)); border-bottom: 1px solid var(--pa); animation: zt-docscan 2.6s ease-in-out infinite; pointer-events: none; }
@keyframes zt-docscan { from { transform: translateY(-100%); } to { transform: translateY(340%); } }
.zt-d1__eng { display: grid; grid-template-rows: repeat(6, 1fr); gap: .45em; }
.zt-d1__eng li { display: flex; align-items: center; gap: .55em; padding: 0 .7em; border-radius: .5em; border: 1px solid var(--line); background: rgba(255, 255, 255, .025); font-size: .78em; line-height: 1.2; color: var(--text-2); }
.zt-d1__eng li::before { content: ""; width: .55em; height: .55em; border-radius: 50%; background: var(--pa); box-shadow: 0 0 8px var(--pa); flex: none; }
.zt-d1.is-on .zt-d1__eng li { animation: zt-chin .45s var(--ease-out) both; }
.zt-d1.is-on .zt-d1__eng li:nth-child(2) { animation-delay: .12s; } .zt-d1.is-on .zt-d1__eng li:nth-child(3) { animation-delay: .24s; }
.zt-d1.is-on .zt-d1__eng li:nth-child(4) { animation-delay: .36s; } .zt-d1.is-on .zt-d1__eng li:nth-child(5) { animation-delay: .48s; }
.zt-d1.is-on .zt-d1__eng li:nth-child(6) { animation-delay: .6s; }

.zt-ladder { position: absolute; left: 4%; right: 4%; top: 13%; bottom: 3.5%; display: grid; grid-template-rows: repeat(9, 1fr); gap: 2.2%; }
.zt-ladder li {
  --on: clamp(0, calc(var(--sp, 1) * 10.5 - var(--i)), 1);
  --c: color-mix(in srgb, var(--bad) calc(var(--i) * 12.5%), var(--pa));
  position: relative; display: flex; align-items: center; gap: .7em;
  padding: 0 .8em; border-radius: .55em; overflow: hidden;
  border: 1px solid color-mix(in srgb, var(--c) calc(var(--on) * 55%), rgba(255, 255, 255, .08));
  background: rgba(255, 255, 255, .02);
  opacity: calc(.32 + var(--on) * .68);
  font-size: .82em;
}
.zt-ladder li::before { content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: calc((var(--i) + 1) * 11.1%); background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--c) 22%, transparent)); transform-origin: left; transform: scaleX(var(--on)); }
.zt-ladder span { position: relative; width: 1.6em; font: 600 .9em/1 var(--font-mono); color: var(--c); }
.zt-ladder b { position: relative; font-weight: 600; white-space: nowrap; }
.zt-ladder small { position: relative; margin-left: auto; font: 500 .82em/1 var(--font-mono); color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }

.zt-d3__fx { display: grid; }
.zt-d3__fx > * { grid-area: 1 / 1; justify-self: end; }
.zt-d3__fx .chip--warn { opacity: calc(1 - clamp(0, calc((var(--sp, 1) - .62) * 20), 1)); }
.zt-d3__fx .chip--bad { opacity: clamp(0, calc((var(--sp, 1) - .62) * 20), 1); }
.zt-d3__user { position: absolute; left: 4%; right: 4%; top: 14%; display: flex; align-items: center; gap: .7em; }
.zt-d3__user > svg { width: 2.4em; height: 2.4em; padding: .5em; border-radius: 50%; border: 1px solid var(--line-strong); background: #0b0f17; color: var(--text-2); flex: none; }
.zt-d3__user b { display: block; font: 600 .9em/1.2 var(--font-mono); }
.zt-d3__user small { display: block; font-size: .72em; color: var(--text-3); }
.zt-d3__meter { position: absolute; left: 4%; right: 4%; top: 29%; height: 15%; }
.zt-d3__bands { position: absolute; left: 0; right: 0; bottom: 0; height: 52%; display: grid; grid-template-columns: 1fr 1fr 1fr; border-radius: .5em; overflow: hidden; }
.zt-d3__bands span { display: grid; place-items: center; font: 500 .66em/1 var(--font-mono); letter-spacing: .08em; text-transform: uppercase; }
.zt-d3__bands span:nth-child(1) { background: rgba(62, 230, 154, .12); color: var(--ok); }
.zt-d3__bands span:nth-child(2) { background: rgba(255, 181, 71, .14); color: var(--warn); }
.zt-d3__bands span:nth-child(3) { background: rgba(255, 107, 107, .16); color: var(--bad); }
.zt-d3__mark { position: absolute; left: 0; top: 0; bottom: 0; width: 100%; transform: translateX(calc(8% + var(--sp, 1) * 80%)); transition: transform .25s linear; pointer-events: none; }
.zt-d3__mark::before { content: ""; position: absolute; left: -1px; top: 0; bottom: 0; width: 2px; background: #fff; box-shadow: 0 0 10px #fff; }
.zt-d3__mark::after { content: ""; position: absolute; left: -.45em; top: -.2em; border: .45em solid transparent; border-top-color: #fff; }
.zt-d3__ev { position: absolute; left: 4%; right: 4%; top: 50%; bottom: 4%; display: grid; grid-template-rows: repeat(3, 1fr); gap: 4%; }
.zt-d3__ev li { --on: clamp(0, calc((var(--sp, 1) - var(--t)) * 12), 1); display: flex; align-items: center; gap: .6em; padding: 0 .8em; border-radius: .6em; border: 1px solid var(--line); background: rgba(255, 255, 255, .025); font-size: .8em; opacity: calc(.15 + var(--on) * .85); transform: translateX(calc((1 - var(--on)) * -10px)); }
.zt-d3__ev svg { width: 1.3em; height: 1.3em; color: var(--text-3); flex: none; }
.zt-d3__ev span { flex: 1; min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zt-d3__ev small { font: 500 .85em/1 var(--font-mono); text-transform: uppercase; letter-spacing: .06em; color: var(--warn); }
.zt-d3__ev small.bad { color: var(--bad); }
.zt-d3__ev li:first-child small { color: var(--text-3); }

/* ---------- GENAI CONTROL PLANE ---------- */
.zt-ai__grid { display: grid; grid-template-columns: minmax(0, .9fr) minmax(0, 1.1fr); gap: clamp(28px, 5vw, 80px); align-items: start; }
.zt-ai__copy .lead { margin-top: 18px; }
.zt-disp { margin-top: 28px; border-top: 1px solid var(--line); }
.zt-disp li { display: grid; grid-template-columns: 130px minmax(0, 1fr); align-items: center; gap: 12px; padding: 14px 0; border-bottom: 1px solid var(--line); }
.zt-disp b { display: inline-flex; align-items: center; gap: 10px; font: 600 var(--fs-xs)/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.zt-disp b::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: currentColor; box-shadow: 0 0 10px currentColor; }
.zt-disp .ok b { color: var(--ok); } .zt-disp .info b { color: var(--info); } .zt-disp .warn b { color: var(--warn); } .zt-disp .bad b { color: var(--bad); }
.zt-disp span { color: var(--text-2); font-size: .95rem; }
.zt-chat { border-radius: 20px; border: 1px solid var(--line-strong); background: var(--zt-panel); overflow: hidden; box-shadow: 0 40px 100px -50px rgba(var(--pa-rgb), .5); }
.zt-chat__bar { display: flex; justify-content: space-between; align-items: center; gap: 10px; padding: 12px 16px; border-bottom: 1px solid var(--line); font: 500 var(--fs-xs)/1 var(--font-mono); color: var(--text-2); }
.zt-chat__bar > span:first-child { display: inline-flex; align-items: center; gap: 8px; }
.zt-chat__bar svg { width: 17px; height: 17px; color: var(--pa); }
.zt-chat__msg { padding: 14px 16px; }
.zt-chat__msg small { display: block; margin-bottom: 6px; font: 500 var(--fs-2xs)/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); }
.zt-chat__msg p { font-size: 1rem; line-height: 1.6; color: var(--text); }
.zt-chat__msg--user p { min-height: 4.8em; padding: 12px 14px; border-radius: 14px 14px 4px 14px; background: rgba(255, 255, 255, .05); border: 1px solid var(--line); }
.zt-chat .zt-caret { display: none; }
.zt-chat.is-typing .zt-caret { display: inline-block; }
.pii { white-space: nowrap; position: relative; border-radius: 4px; transition: color .3s; }
.pii::after { content: attr(data-mask); position: absolute; inset: -1px -3px; display: grid; place-items: center; border-radius: 4px; background: rgba(var(--pa-rgb), .18); border: 1px solid rgba(var(--pa-rgb), .55); color: var(--pa); font: 600 .78em/1 var(--font-mono); letter-spacing: .06em; clip-path: inset(0 100% 0 0); transition: clip-path .55s var(--ease-out); }
.zt-chat.is-redacted .pii, html:not(.motion) .zt-chat .pii { color: transparent; }
.zt-chat.is-redacted .pii::after, html:not(.motion) .zt-chat .pii::after { clip-path: inset(0 0 0 0); }
.zt-chat.is-redacted .pii:nth-of-type(4)::after { transition-delay: .2s; }
.zt-chat__verdict { display: flex; align-items: flex-start; gap: 10px; margin: 0 16px; padding: 10px 12px; border-radius: 12px; background: rgba(var(--pa-rgb), .08); border: 1px solid rgba(var(--pa-rgb), .3); font-size: .86rem; color: var(--text-2); transition: opacity .5s, transform .6s var(--ease-out); }
.zt-chat__verdict svg { width: 18px; height: 18px; color: var(--pa); flex: none; margin-top: 2px; }
.zt-chat__verdict b { color: var(--pa); }
.zt-chat__msg--ai { transition: opacity .6s, transform .6s var(--ease-out); }
.zt-chat__msg--ai p { padding: 12px 14px; border-radius: 14px 14px 14px 4px; background: rgba(110, 168, 255, .06); border: 1px solid rgba(110, 168, 255, .2); color: var(--text-2); }
html.motion .zt-chat:not(.is-redacted) .zt-chat__verdict { opacity: 0; transform: translateY(8px); }
html.motion .zt-chat:not(.is-answered) .zt-chat__msg--ai { opacity: 0; transform: translateY(8px); }
.zt-ai__more { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.zt-ai__box { padding: 18px; border-radius: 18px; border: 1px solid var(--line); background: var(--zt-panel); }
.zt-mini-h { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; font: 600 var(--fs-xs)/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text); }
.zt-mini-h svg { width: 16px; height: 16px; color: var(--pa); }
.zt-ai__box .zt-mini li { font-size: .86rem; }
.zt-ai__box .zt-mini li::before { content: ""; width: 5px; height: 5px; margin-top: .55em; border-radius: 50%; background: var(--pa); flex: none; }
.zt-hosts { display: grid; gap: 6px; }
.zt-hosts li { display: flex; justify-content: space-between; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 10px; background: rgba(255, 255, 255, .03); font-size: .86rem; color: var(--text-2); }
.zt-ai__note { margin-top: 10px; font-size: .8rem; line-height: 1.5; color: var(--text-3); }
@media (max-width: 900px) {
  .zt-ai__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .zt-disp { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; border: 0; margin-top: 20px; }
  .zt-disp li { display: grid; grid-template-columns: minmax(0, 1fr); gap: 4px; padding: 10px 12px; border: 1px solid var(--line); border-radius: 12px; }
  .zt-disp span { font-size: .8rem !important; line-height: 1.35; }
  .zt-ai__box .zt-mini { display: flex; flex-wrap: wrap; gap: 6px; }
  .zt-ai__box .zt-mini li { padding: 5px 10px; border-radius: 999px; border: 1px solid var(--line-strong); font-size: .76rem; }
  .zt-ai__box .zt-mini li::before { display: none; }
  .zt-disp span { font-size: .86rem; }
  .zt-chat__msg p { font-size: .92rem; }
  .zt-ai__more { grid-template-columns: minmax(0, 1fr); }
}

/* ---------- DLP scene 4 — evidence ---------- */
.zt-evflow { position: absolute; left: 4%; right: 4%; top: 14%; bottom: 25%; display: grid; grid-template-rows: repeat(4, 1fr); gap: 3%; }
.zt-evflow::before { content: ""; position: absolute; left: 1.55em; top: 8%; bottom: 8%; width: 2px; background: linear-gradient(var(--pa), var(--pa-2)); opacity: .5; }
.zt-evflow li { --on: clamp(0, calc(var(--sp, 1) * 7 - var(--i)), 1); position: relative; display: flex; align-items: center; gap: .8em; padding: 0 .9em 0 0; opacity: calc(.3 + var(--on) * .7); }
.zt-evflow i { position: relative; z-index: 1; display: grid; place-items: center; width: 3.1em; height: 3.1em; border-radius: 50%; flex: none; background: #0c0d10; color: color-mix(in srgb, var(--pa) calc(var(--on) * 100%), var(--text-3)); border: 1px solid color-mix(in srgb, var(--pa) calc(var(--on) * 70%), var(--line-strong)); box-shadow: 0 0 calc(var(--on) * 22px) rgba(var(--pa-rgb), .4); }
.zt-evflow i svg { width: 45%; height: 45%; }
.zt-evflow span { display: grid; gap: .15em; flex: 1; min-width: 0; padding: .55em .8em; border-radius: .6em; border: 1px solid var(--line); background: rgba(255, 255, 255, .025); }
.zt-evflow b { font-size: .9em; }
.zt-evflow small { font-size: .74em; color: var(--text-2); line-height: 1.35; }
.zt-d4__tpl { position: absolute; left: 4%; right: 4%; bottom: 13%; display: flex; flex-wrap: wrap; align-items: center; gap: .4em; }
.zt-d4__tpl span { font: 500 .66em/1 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; color: var(--text-3); margin-right: .3em; }
.zt-d4__tpl b { padding: .3em .65em; border-radius: 999px; border: 1px solid rgba(var(--pa-rgb), .4); background: rgba(var(--pa-rgb), .08); color: var(--pa); font: 600 .68em/1.2 var(--font-mono); }
.zt-d4__casb { position: absolute; left: 4%; right: 4%; bottom: 4%; display: flex; align-items: center; gap: .5em; font: 500 .66em/1.3 var(--font-mono); color: var(--text-3); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.zt-d4__casb svg { width: 1.4em; height: 1.4em; color: var(--info); flex: none; }

/* ---------- REGULATORY FIT (light section) ---------- */
.zt-reg { --gold-ink: #9a5d00; }
.zt-reg .h2 .serif-i { color: #b06a00; }
.zt-reg__top { display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, 1fr); gap: 32px 56px; align-items: end; }
.zt-reg__top .section-head { margin-bottom: 0; }
.zt-fw { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.zt-fw li { padding: 14px 16px; border-radius: 14px; background: #fff; border: 1px solid var(--line); box-shadow: 0 1px 2px rgba(11, 15, 23, .04), 0 12px 30px -20px rgba(11, 15, 23, .3); }
.zt-fw b { display: block; font-size: 1.25rem; letter-spacing: -.03em; line-height: 1.1; }
.zt-fw span { display: block; margin-top: 4px; font-size: .8rem; color: var(--text-2); line-height: 1.3; }
.zt-reg__grid { display: grid; grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr); gap: 32px 64px; margin-top: clamp(36px, 5vw, 64px); align-items: center; }
.zt-ticks li { --on: clamp(0, calc((var(--p) - var(--t)) * 12), 1); position: relative; padding: 12px 0 12px 40px; border-bottom: 1px solid var(--line); color: var(--text); font-size: .98rem; line-height: 1.45; }
.zt-ticks li:first-child { border-top: 1px solid var(--line); }
.zt-ticks li::before { content: ""; position: absolute; left: 0; top: 11px; width: 24px; height: 24px; border-radius: 7px; border: 1.5px solid color-mix(in srgb, var(--pa) calc(var(--on) * 100%), rgba(11, 15, 23, .25)); background: color-mix(in srgb, var(--pa) calc(var(--on) * 100%), transparent); }
.zt-ticks li::after { content: ""; position: absolute; left: 6px; top: 17px; width: 12px; height: 12px; background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23140e02' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / contain no-repeat; transform: scale(var(--on)); }
.zt-ticks li { opacity: calc(.45 + var(--on) * .55); }
.zt-regstats { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.zt-regstats > div { display: flex; flex-direction: column-reverse; justify-content: flex-end; gap: 8px; padding: 20px; border-radius: 18px; background: #fff; border: 1px solid var(--line); box-shadow: 0 12px 40px -24px rgba(11, 15, 23, .3); }
.zt-regstats dd { display: flex; align-items: baseline; gap: 6px; font-size: clamp(2.2rem, 1.6rem + 2vw, 3.4rem); font-weight: 600; letter-spacing: -.05em; line-height: 1; font-variant-numeric: tabular-nums; }
.zt-regstats dd small { font-size: .38em; letter-spacing: -.01em; color: var(--gold-ink); font-weight: 600; }
.zt-regstats dt { font-size: .85rem; color: var(--text-2); line-height: 1.4; }
.zt-reg__fn { margin-top: 28px; }
@media (max-width: 900px) {
  .zt-reg__top, .zt-reg__grid { grid-template-columns: minmax(0, 1fr); }
}
@media (max-width: 640px) {
  .zt-fw li { padding: 10px 11px; border-radius: 12px; }
  .zt-fw b { font-size: 1rem; }
  .zt-fw span { font-size: .72rem; }
  .zt-ticks li { padding: 9px 0 9px 36px; font-size: .9rem; }
  .zt-ticks li::before { top: 9px; width: 22px; height: 22px; }
  .zt-ticks li::after { left: 5px; top: 14px; }
  .zt-regstats { gap: 8px; }
  .zt-regstats > div { padding: 14px; }
  .zt-regstats dt { font-size: .76rem; }
}

/* ---------- DPDP (inside the regulatory section) ---------- */
.zt-dpdp { display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 2fr); gap: 20px 40px; align-items: center; margin-top: clamp(32px, 4vw, 56px); padding-top: clamp(28px, 3.5vw, 44px); border-top: 1px solid var(--line); }
.zt-dpdp__head .h3 .serif-i { color: #b06a00; }
.zt-dpdp__head p { margin-top: 10px; color: var(--text-2); font-size: .92rem; line-height: 1.5; }
.zt-rights { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.zt-rights li { padding: 16px; border-radius: 16px; background: #fff; border: 1px solid var(--line); box-shadow: 0 12px 30px -22px rgba(11, 15, 23, .35); }
.zt-rights .icon-box { margin-bottom: 10px; color: #9a5d00; }
.zt-rights h4 { margin-bottom: 4px; font-size: .95rem; }
.zt-rights p { color: var(--text-2); font-size: .82rem; line-height: 1.45; }
@media (max-width: 900px) { .zt-dpdp { grid-template-columns: minmax(0, 1fr); } .zt-rights { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
  .zt-rights { gap: 8px; }
  .zt-rights li { padding: 12px; border-radius: 12px; }
  .zt-rights .icon-box { margin-bottom: 8px; }
  .zt-rights h4 { font-size: .86rem; }
  .zt-rights p { font-size: .76rem; }
}

/* ---------- COMPARISON ---------- */
.zt-cmp__wrap { border-radius: 22px; border: 1px solid var(--line); background: var(--zt-panel); overflow: hidden; }
.zt-cmp__table thead th { padding-top: 20px; }
.zt-cmp__table thead th.is-us { color: var(--pa); background: rgba(var(--pa-rgb), .1); }
.zt-cmp__table tbody tr:last-child > * { border-bottom: 0; }
.zt-cmp__table td { color: var(--text-3); }
.zt-cmp__table td.is-us { position: relative; padding-left: 46px; color: var(--text); font-weight: 550; background: rgba(var(--pa-rgb), .06); }
.zt-cmp__table td.is-us::before { content: ""; position: absolute; left: 16px; top: 15px; width: 20px; height: 20px; border-radius: 6px; background: var(--pa) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23140e02' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center / 12px no-repeat; }
.zt-cmp__table th, .zt-cmp__table td { padding-left: 22px; }
@media (max-width: 640px) {
  .zt-cmp__table, .zt-cmp__table thead, .zt-cmp__table tbody, .zt-cmp__table tr, .zt-cmp__table th, .zt-cmp__table td { display: block; }
  .zt-cmp__table thead tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-bottom: 1px solid var(--line-strong); }
  .zt-cmp__table thead th { padding: 14px 12px 10px; border: 0; font-size: 9.5px; letter-spacing: .08em; }
  .zt-cmp__table thead th:first-child { display: none; }
  .zt-cmp__table thead th.is-us { background: none; }
  .zt-cmp__table tbody tr { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); border-bottom: 1px solid var(--line); }
  .zt-cmp__table tbody tr:last-child { border-bottom: 0; }
  .zt-cmp__table tbody th { grid-column: 1 / -1; width: auto; padding: 11px 12px 4px; border: 0; font-size: .86rem; }
  .zt-cmp__table td { padding: 0 12px 11px; border: 0; font-size: .82rem; line-height: 1.35; background: none !important; }
  .zt-cmp__table td.is-us { padding-left: 12px; color: var(--pa); }
  .zt-cmp__table td.is-us::before { display: none; }
}

/* ---------- DEPLOYMENT ---------- */
.zt-dep .container { display: grid; grid-template-columns: minmax(0, .95fr) minmax(0, 1.05fr); grid-template-areas: "head steps" "bc steps" "pair steps"; gap: 28px 72px; align-items: start; }
.zt-dep__head { grid-area: head; }
.zt-dep__head .section-head { margin-bottom: 24px; }
.zt-steps { grid-area: steps; }
.zt-bc { grid-area: bc; }
.zt-dep__pair { grid-area: pair; color: var(--text-2); font-size: .95rem; }
.zt-dep__pair .link-arrow { display: inline; }
.zt-models { display: flex; flex-wrap: wrap; gap: 8px; }
.zt-models li { display: inline-flex; align-items: center; gap: 8px; padding: 9px 14px; border-radius: 999px; border: 1px solid rgba(var(--pa-rgb), .35); background: rgba(var(--pa-rgb), .07); font-size: .9rem; font-weight: 550; }
.zt-models svg { width: 16px; height: 16px; color: var(--pa); }
.zt-steps { position: relative; display: grid; gap: 14px; }
.zt-steps::before, .zt-steps::after { content: ""; position: absolute; left: 27px; top: 30px; bottom: 30px; width: 2px; border-radius: 2px; background: var(--line-strong); }
.zt-steps::after { background: linear-gradient(180deg, var(--pa), var(--pa-2)); box-shadow: 0 0 10px rgba(var(--pa-rgb), .6); transform-origin: top; transform: scaleY(clamp(0, calc((var(--p) - .2) / .6), 1)); }
.zt-steps li { --on: clamp(0, calc((var(--p) - var(--t)) * 10), 1); position: relative; display: grid; grid-template-columns: 56px minmax(0, 1fr); grid-template-areas: "n h" "n p" "n c"; column-gap: 20px; row-gap: 4px; padding: 18px 20px 18px 0; }
.zt-steps__n { grid-area: n; position: relative; z-index: 1; display: grid; place-items: center; width: 56px; height: 56px; border-radius: 16px; font: 600 1.2rem/1 var(--font-mono); background: #0b0d11; border: 1px solid color-mix(in srgb, var(--pa) calc(var(--on) * 80%), var(--line-strong)); color: color-mix(in srgb, var(--pa) calc(var(--on) * 100%), var(--text-3)); box-shadow: 0 0 calc(var(--on) * 30px) rgba(var(--pa-rgb), .4); }
.zt-steps h3 { grid-area: h; align-self: end; opacity: calc(.4 + var(--on) * .6); }
.zt-steps p { grid-area: p; color: var(--text-2); font-size: .93rem; line-height: 1.5; opacity: calc(.4 + var(--on) * .6); }
.zt-steps__c { grid-area: c; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; opacity: calc(.3 + var(--on) * .7); }
.zt-steps__c i { display: inline-flex; align-items: center; gap: 6px; padding: 5px 10px; border-radius: 8px; font: 500 var(--fs-2xs)/1 var(--font-mono); font-style: normal; letter-spacing: .06em; text-transform: uppercase; color: var(--text-2); border: 1px solid var(--line-strong); background: var(--surface); }
.zt-steps__c svg { width: 13px; height: 13px; color: var(--pa); }
.zt-bc { padding: 20px 22px; border-radius: 20px; border: 1px solid var(--line); background: var(--zt-panel); }
.zt-bc__h { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; font: 600 var(--fs-xs)/1.2 var(--font-mono); letter-spacing: .1em; text-transform: uppercase; }
.zt-bc__h svg { width: 18px; height: 18px; color: var(--pa); }
.zt-bc__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
.zt-bc__list li { position: relative; padding-left: 14px; font-size: .88rem; color: var(--text-2); line-height: 1.4; }
.zt-bc__list li::before { content: ""; position: absolute; left: 0; top: .5em; width: 5px; height: 5px; border-radius: 50%; background: var(--pa); }
@media (max-width: 900px) {
  .zt-dep .container { grid-template-columns: minmax(0, 1fr); grid-template-areas: "head" "steps" "bc" "pair"; gap: 24px; }
}
@media (max-width: 640px) {
  .zt-steps { gap: 4px; }
  .zt-steps li { grid-template-columns: 48px minmax(0, 1fr); column-gap: 14px; padding: 12px 0; }
  .zt-steps__n { width: 48px; height: 48px; border-radius: 14px; font-size: 1rem; }
  .zt-steps::before, .zt-steps::after { left: 23px; }
  .zt-steps h3 { font-size: 1rem; }
  .zt-steps p { font-size: .86rem; }
  .zt-bc__list { grid-template-columns: minmax(0, 1fr); }
  .zt-models li { padding: 8px 12px; font-size: .84rem; }
}

/* ---------- WHO + FOUR QUESTIONS ---------- */
.zt-aud { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 0; border-top: 1px solid var(--line); }
.zt-aud article { padding: 22px 28px 4px 0; }
.zt-aud article + article { padding-left: 28px; border-left: 1px solid var(--line); }
.zt-aud h3 { margin-bottom: 8px; }
.zt-aud p { color: var(--text-2); font-size: .95rem; line-height: 1.55; }
.zt-q { margin-top: clamp(36px, 5vw, 64px); }
.zt-q__title { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; font: 500 var(--fs-xs)/1.3 var(--font-mono); letter-spacing: .14em; text-transform: uppercase; color: var(--pa); }
.zt-q__title::before { content: "?"; display: grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; border: 1px solid rgba(var(--pa-rgb), .5); font-size: 12px; flex: none; }
.zt-q__list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.zt-q__list li { --on: clamp(0, calc((var(--p) - var(--t)) * 7), 1); display: grid; align-content: space-between; justify-items: start; gap: 14px; padding: clamp(16px, 2vw, 24px); border-radius: 18px; border: 1px solid color-mix(in srgb, var(--pa) calc(var(--on) * 40%), var(--line)); background: var(--zt-panel); }
.zt-q__n { font: 500 var(--fs-xs)/1 var(--font-mono); color: color-mix(in srgb, var(--pa) calc(var(--on) * 100%), var(--text-3)); }
.zt-q__list p { font-size: clamp(1.05rem, .85rem + .8vw, 1.55rem); font-weight: 550; letter-spacing: -.03em; line-height: 1.18; text-wrap: balance; opacity: calc(.3 + var(--on) * .7); }
.zt-q__a { display: inline-flex; align-items: center; gap: 8px; padding: 7px 12px; border-radius: 999px; font: 500 var(--fs-2xs)/1.2 var(--font-mono); letter-spacing: .04em; text-transform: uppercase; color: var(--pa); border: 1px solid rgba(var(--pa-rgb), .45); background: rgba(var(--pa-rgb), .08); opacity: calc(.25 + var(--on) * .75); }
.zt-q__a svg { width: 13px; height: 13px; flex: none; }
@media (max-width: 900px) {
  .zt-aud { grid-template-columns: minmax(0, 1fr); }
  .zt-aud article, .zt-aud article + article { padding: 18px 0 16px; border-left: 0; }
  .zt-aud article + article { border-top: 1px solid var(--line); }
  .zt-aud article { display: grid; grid-template-columns: 44px minmax(0, 1fr); column-gap: 14px; }
  .zt-aud .icon-box { grid-row: span 2; margin: 0; }
  .zt-aud p { font-size: .9rem; }
}
@media (max-width: 640px) {
  .zt-q__list { gap: 8px; }
  .zt-q__list li { padding: 12px; gap: 10px; border-radius: 14px; }
  .zt-q__list p { font-size: .92rem; line-height: 1.25; }
  .zt-q__a { padding: 5px 8px; font-size: 9px; letter-spacing: .02em; }
}

/* ---------- FAQ + CTA ---------- */
.zt-faq__grid { display: grid; grid-template-columns: minmax(0, .75fr) minmax(0, 1.25fr); gap: 32px 72px; align-items: start; }
.zt-faq__grid .section-head { position: sticky; top: calc(var(--header-h) + 32px); }
.zt-faq .faq__item { grid-template-columns: minmax(0, 1fr); gap: 10px; }
.zt-faq .faq__item dd { font-size: .98rem; line-height: 1.6; }
@media (max-width: 900px) {
  .zt-faq__grid { grid-template-columns: minmax(0, 1fr); gap: 0; }
  .zt-faq__grid .section-head { position: static; }
  .zt-faq .faq__item { padding: 18px 0; }
  .zt-faq .faq__item dt { font-size: 1.05rem; }
  .zt-faq .faq__item dd { font-size: .9rem; }
}
.zt-cta-steps { display: flex; flex-wrap: wrap; gap: 10px 22px; margin-top: 22px; }
.zt-cta-steps li { display: inline-flex; align-items: center; gap: 10px; color: var(--text-2); font-size: .95rem; }
.zt-cta-steps span { display: grid; place-items: center; width: 24px; height: 24px; border-radius: 50%; border: 1px solid rgba(var(--pa-rgb), .5); color: var(--pa); font: 600 11px/1 var(--font-mono); }

/* ---------- reduced motion / no-JS fallbacks ---------- */
html:not(.motion) .zt-hv__routes .r1 { stroke-dashoffset: 0; animation: none; }
html:not(.motion) .zt-hv__app.a1 { border-color: rgba(var(--pa-rgb), .75); }
@media (prefers-reduced-motion: reduce) {
  .zt-hv__routes path, .zt-hv__app, .zt-hv__user i, .zt-hv__scan *, .zt-fl-sess, .zt-fl-dial, .zt-flowline, .zt-c2__rays path, .zt-d0__lines path { animation: none !important; }
  .zt-hv__routes .r1 { stroke-dashoffset: 0; opacity: 1; }
}

/* ---------- phone compaction ---------- */
@media (max-width: 640px) {
  .section-head { margin-bottom: 22px; }
  .section-head .lead { margin-top: 12px; font-size: .98rem; }
  .zt-hero { padding-bottom: 28px; }
  .zt-jit { display: none; }
  .zt-cl__term { min-height: 112px; gap: 4px; }
  .zt-bento .card { padding: 16px; }
  .zt-audit__lead { font-size: 1.15rem !important; }
  .zt-chain { padding: 12px; }
  .zt-blk + .zt-blk { margin-top: 10px; }
  .zt-blk + .zt-blk::before { top: -11px; height: 10px; }
  .zt-blk--a::after { top: -12px; height: 12px; }
  .zt-chain__head { margin-bottom: 10px; }
  .zt-verify { margin-top: 12px; padding-top: 12px; }
  .zt-reg__grid { margin-top: 24px; gap: 20px; }
  .zt-ticks li { padding: 7px 0 7px 34px; font-size: .86rem; line-height: 1.4; }
  .zt-ticks li::before { top: 7px; }
  .zt-ticks li::after { top: 12px; }
  .zt-regstats dd { font-size: 2rem; }
  .zt-regstats > div { padding: 12px; gap: 6px; }
  .zt-dpdp { margin-top: 24px; padding-top: 22px; gap: 14px; }
  .zt-dpdp__head p { font-size: .86rem; }
  .zt-steps li { padding: 9px 0; }
  .zt-steps__c i { padding: 4px 8px; font-size: 9.5px; }
  .zt-bc { padding: 14px 16px; }
  .zt-bc__list li { font-size: .82rem; }
  .zt-dep .container { gap: 18px; }
  .zt-aud article, .zt-aud article + article { padding: 14px 0 12px; }
  .zt-faq .faq__item { padding: 14px 0; }
  .zt-faq .faq__item dd { font-size: .86rem; line-height: 1.5; }
  .zt-ai__more { gap: 10px; }
  .zt-ai__box { padding: 14px; }
  .zt-chat__msg { padding: 10px 12px; }
  .zt-cta-steps { margin-top: 16px; gap: 8px 16px; }
}
@media (max-width: 640px) {
  .zt-pam { grid-template-columns: 1fr 1fr; gap: 12px 10px; }
  .zt-pam::before { display: none; }
  .zt-pam li { align-items: flex-start; gap: 8px; }
  .zt-pam i { width: 30px; height: 30px; border-radius: 9px; }
  .zt-pam b { font-size: .86rem; }
  .zt-pam small { font-size: .74rem; }
  .zt-rule__c small { font-size: 8.5px; }
}
@media (max-width: 640px) {
  .zt-dep__pair { font-size: .86rem; }
  .zt-dep__head .section-head { margin-bottom: 14px; }
  .zt-q { margin-top: 28px; }
  .zt-mods__head { gap: 14px; }
}
.zt-chain__head { gap: 10px; flex-wrap: wrap; }
@media (max-width: 640px) {
  .zt-chain__head { letter-spacing: .04em; }
  .zt-q__a { border-radius: 9px; }
}
html.motion .zt-dev__fp:not(.is-on) { visibility: hidden; transition: opacity .7s, visibility 0s .7s; }
.zt-trust__story[data-step="0"] .zt-dev__score { visibility: hidden; }

/* ---------- phone alignment pass ---------- */
@media (max-width: 700px) {
  .zt-flow { aspect-ratio: auto; width: 100%; height: 100%; min-height: 250px; max-height: 420px; }
  .zt-flow__svg--v * { vector-effect: non-scaling-stroke; }
  html.motion .zt-flowstory .story__visual { align-items: stretch; }
  .zt-fn > span { white-space: nowrap; }
}
html.motion .zt-dev__sigs { transition: opacity .5s, visibility 0s; }
.zt-trust__story[data-step="3"] .zt-dev__sigs { opacity: 0; visibility: hidden; transition: opacity .4s, visibility 0s .4s; }
.zt-trust__story[data-step="3"] .zt-dev__banner { left: 50%; top: 15%; right: 4%; flex-direction: column; gap: .4em; }
.zt-dev__alert { white-space: normal; }
.zt-trust__story[data-step="3"] .zt-dev__alert { left: 50%; right: 4%; bottom: 19%; }
@media (max-width: 640px) and (max-height: 760px) {
  .zt-story__h2 { font-size: 1.2rem; margin-bottom: 8px; }
  .zt-story .eyebrow { display: none; }
  .zt-story .story__panel .h3 { font-size: 1.05rem; }
  .zt-story .story__panel .body { font-size: .84rem; line-height: 1.45; }
  html.motion .zt-story .story__panels { min-height: 10.5rem; }
  .story__dots { margin-top: 10px; }
  .zt-scene, .zt-dev > * { font-size: 10px; }
  .zt-stage { width: min(100%, calc(48svh * (var(--ratio)))); }
  .zt-flow__head .eyebrow { display: none; }
  .zt-flowstory .story__panels { min-height: 8rem; }
}
.zt-evflow { bottom: 29%; }
.zt-d4__tpl { bottom: 12%; flex-wrap: nowrap; overflow: hidden; }
