/* Stats board, testimonials carousel, platform orbit. */

/* ── At a glance (kinetic board) ───────────────────────────────── */
.zx-gl{position:relative;overflow:hidden;background:var(--bg-sunken);border-block:1px solid var(--border-hairline);padding-block:var(--space-section)}
.zx-gl__grid{position:absolute;inset:0;pointer-events:none;opacity:.5;background-image:linear-gradient(var(--border-hairline) 1px,transparent 1px),linear-gradient(90deg,var(--border-hairline) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(80% 70% at 50% 40%,#000,transparent 78%);mask-image:radial-gradient(80% 70% at 50% 40%,#000,transparent 78%)}
.zx-gl__inner{position:relative;z-index:1}
.zx-gl__head{max-width:52ch;margin-bottom:var(--space-xxl);display:flex;flex-direction:column;gap:var(--space-xs)}
.zx-gl__eyebrow{font-size:var(--type-caption-size);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.zx-gl__h2{margin:0;font-size:var(--type-h2-size);line-height:1.15;letter-spacing:-.025em;font-weight:var(--weight-semibold);color:var(--text-strong);text-wrap:pretty}
.zx-gl__lede{margin:var(--space-xs) 0 0;font-size:var(--type-body-sm-size);color:var(--text-muted)}
.zx-gl__row{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}
.zx-gl__cell{position:relative;isolation:isolate;overflow:hidden;display:flex;flex-direction:column;gap:6px;padding:var(--space-xl) var(--space-lg);min-height:250px;border-left:1px solid var(--border-hairline);opacity:0;transform:translateY(22px)}
.zx-gl__cell:last-child{border-right:1px solid var(--border-hairline)}
.zx-gl[data-live] .zx-gl__cell{animation:zx-glin .72s var(--ease-standard) both;animation-delay:calc(var(--i) * 110ms)}
@keyframes zx-glin{to{opacity:1;transform:none}}
.zx-gl__cell:focus-visible{outline:2px solid var(--color-brand-orange);outline-offset:-2px}
.zx-gl__spot{position:absolute;inset:0;z-index:-1;opacity:0;transition:opacity 420ms var(--ease-standard);background:radial-gradient(260px circle at var(--mx,50%) var(--my,50%),rgba(242,112,28,.2),transparent 70%)}
.zx-gl__cell:hover .zx-gl__spot,.zx-gl__cell:focus-visible .zx-gl__spot{opacity:1}
.zx-gl__rule{position:absolute;left:0;right:0;bottom:0;height:2px;background:var(--brand-gradient);transform:scaleX(0);transform-origin:left;transition:transform 600ms var(--ease-standard)}
.zx-gl__cell:hover .zx-gl__rule,.zx-gl__cell:focus-visible .zx-gl__rule{transform:none}
.zx-gl__idx{font-family:var(--font-mono);font-size:var(--type-micro-size);letter-spacing:.12em;color:var(--text-muted)}
.zx-gl__v{font-size:clamp(2.4rem,3.6vw,3.4rem);font-weight:var(--weight-semibold);line-height:1.02;letter-spacing:-.035em;color:var(--text-strong);transition:transform 520ms var(--ease-standard),letter-spacing 520ms}
.zx-gl__cell:hover .zx-gl__v{transform:translateY(-5px);letter-spacing:-.02em}
.zx-gl__k{font-size:var(--type-body-size);font-weight:var(--weight-medium);color:var(--text-secondary)}
.zx-gl__d{font-size:var(--type-caption-size);color:var(--text-muted)}
.zx-gl__note{font-size:var(--type-body-sm-size);line-height:1.6;color:var(--text-secondary);max-height:0;opacity:0;overflow:hidden;transform:translateY(8px);transition:max-height 500ms var(--ease-standard),opacity 320ms,transform 500ms var(--ease-standard)}
.zx-gl__cell:hover .zx-gl__note,.zx-gl__cell:focus-visible .zx-gl__note{max-height:160px;opacity:1;transform:none;margin-top:auto}
.zx-gl__arrow{position:absolute;right:var(--space-lg);top:var(--space-lg);width:30px;height:30px;border-radius:50%;border:1px solid var(--border-hairline);display:grid;place-items:center;color:var(--text-muted);opacity:0;transform:translateY(-6px) rotate(-25deg);transition:opacity 320ms,transform 460ms var(--ease-standard),background-color 260ms,color 240ms,border-color 240ms}
.zx-gl__cell:hover .zx-gl__arrow,.zx-gl__cell:focus-visible .zx-gl__arrow{opacity:1;transform:none;background:var(--brand-gradient);border-color:transparent;color:#fff}
@media (max-width:1023px){.zx-gl__row{grid-template-columns:repeat(2,minmax(0,1fr))}.zx-gl__cell:nth-child(3),.zx-gl__cell:nth-child(4){border-top:1px solid var(--border-hairline)}.zx-gl__cell:nth-child(2){border-right:1px solid var(--border-hairline)}.zx-gl__note{max-height:160px;opacity:1;transform:none}}
@media (max-width:559px){.zx-gl__row{grid-template-columns:minmax(0,1fr)}.zx-gl__cell{min-height:0;border-right:1px solid var(--border-hairline);border-top:1px solid var(--border-hairline)}.zx-gl__cell:first-child{border-top:0}}
@media (prefers-reduced-motion:reduce){.zx-gl__cell{opacity:1;transform:none;animation:none!important}.zx-gl__note{max-height:160px;opacity:1;transform:none}}

/* ── Testimonials (coverflow stack) ───────────────────────────── */
.zx-tq{position:relative;overflow:hidden;background:var(--color-footer-bg);padding-block:var(--space-section-lg)}
.zx-tq__aura{position:absolute;inset:0;pointer-events:none;background:radial-gradient(70% 60% at 50% 0%,rgba(242,112,28,.2),rgba(242,112,28,0) 62%),radial-gradient(60% 50% at 50% 108%,rgba(255,180,60,.14),transparent 60%)}
.zx-tq__inner{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:var(--space-xxl)}
.zx-tq__head{text-align:center;display:flex;flex-direction:column;gap:var(--space-xs)}
.zx-tq__eyebrow{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-size:var(--type-caption-size);letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.44)}
.zx-tq__eyebrow i{width:7px;height:7px;border-radius:50%;background:var(--brand-gradient)}
.zx-tq__h2{margin:0;font-size:var(--type-h1-size);line-height:1.12;letter-spacing:-.03em;font-weight:var(--weight-semibold);color:#fff;text-wrap:pretty}

.zx-tq__deck{position:relative;width:100%;max-width:46rem;height:26rem;perspective:1400px;transform-style:preserve-3d}
.zx-tq__card{position:absolute;inset:0;margin:0;display:flex;flex-direction:column;gap:var(--space-md);padding:var(--space-xxl);border-radius:var(--radius-tile);border:1px solid rgba(255,255,255,.14);background:linear-gradient(158deg,#231A14 0%,#171310 46%,#0D0B0A 100%);box-shadow:0 40px 90px -40px rgba(0,0,0,.85);overflow:hidden;transition:transform 640ms var(--ease-standard),opacity 520ms var(--ease-standard),filter 520ms;will-change:transform}
.zx-tq__card[data-pos="0"]{transform:rotateY(var(--tx,0deg)) rotateX(var(--ty,0deg)) translateZ(0);opacity:1;z-index:3;cursor:default}
.zx-tq__card[data-pos="1"]{transform:translateX(20%) translateZ(-90px) scale(.94) rotateY(-13deg);opacity:1;z-index:2;cursor:pointer}
.zx-tq__card[data-pos="-1"]{transform:translateX(-20%) translateZ(-90px) scale(.94) rotateY(13deg);opacity:1;z-index:2;cursor:pointer}
.zx-tq__card[data-pos="2"]{transform:scale(.82);opacity:0;z-index:1;pointer-events:none}
.zx-tq__card:not([data-pos="0"]) > *:not(.zx-tq__veil){opacity:0;transition:opacity 240ms}
.zx-tq__veil{position:absolute;inset:0;pointer-events:none;border-radius:inherit;opacity:0;background:linear-gradient(180deg,rgba(8,6,5,.72),rgba(8,6,5,.86));transition:opacity 420ms var(--ease-standard)}
.zx-tq__card:not([data-pos="0"]) .zx-tq__veil{opacity:1}
.zx-tq__card:not([data-pos="0"]):hover .zx-tq__veil{opacity:.62}
.zx-tq__glare{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 380ms;background:radial-gradient(420px circle at var(--lx,50%) var(--ly,50%),rgba(255,214,170,.16),transparent 62%)}
.zx-tq__card[data-pos="0"]:hover .zx-tq__glare{opacity:1}
.zx-tq__card::after{content:"";position:absolute;left:0;right:0;top:0;height:2px;background:var(--brand-gradient);transform:scaleX(0);transform-origin:left;transition:transform 720ms var(--ease-standard)}
.zx-tq__card[data-pos="0"]::after{transform:none}
.zx-tq__mark{position:absolute;right:var(--space-lg);top:-.18em;font-size:11rem;line-height:1;color:rgba(255,255,255,.06);pointer-events:none;font-weight:var(--weight-semibold)}
.zx-tq__tag{align-self:flex-start;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-pill);padding:5px 13px;font-size:var(--type-micro-size);letter-spacing:.08em;text-transform:uppercase;color:var(--color-brand-amber)}
.zx-tq__word{display:inline-block;opacity:0;transform:translateY(.5em);filter:blur(6px)}
.zx-tq__card[data-pos="0"] .zx-tq__word{animation:zx-tqword .62s var(--ease-standard) both}
@keyframes zx-tqword{to{opacity:1;transform:none;filter:none}}
.zx-tq__q{margin:0;position:relative;font-size:clamp(1.125rem,1.9vw,1.5rem);line-height:1.6;color:rgba(255,255,255,.9);text-wrap:pretty}
.zx-tq__by{display:flex;align-items:center;gap:var(--space-md);margin-top:auto}
.zx-tq__by span{display:flex;flex-direction:column;gap:1px}
.zx-tq__by strong{font-size:var(--type-body-size);font-weight:var(--weight-semibold);color:#fff}
.zx-tq__by em{font-style:normal;font-size:var(--type-body-sm-size);color:rgba(255,255,255,.5)}
.zx-tq__ava{width:50px;height:50px;border-radius:50%;object-fit:cover;flex:none;box-shadow:0 0 0 2px rgba(255,255,255,.18)}
.zx-tq__ini{display:grid;place-items:center;background:var(--brand-gradient);color:#fff;font-size:var(--type-body-sm-size);font-weight:var(--weight-semibold)}

.zx-tq__ctrl{display:flex;align-items:center;gap:var(--space-md)}
.zx-tq__arrow{width:46px;height:46px;flex:none;border-radius:50%;border:1px solid rgba(255,255,255,.22);background:transparent;color:#fff;display:grid;place-items:center;transition:transform 280ms var(--ease-standard),background-color 260ms,border-color 260ms}
.zx-tq__arrow:hover{transform:translateY(-2px);background:var(--brand-gradient);border-color:transparent}
.zx-tq__arrow:active{transform:scale(.94)}
.zx-tq__strip{display:flex;gap:10px;overflow-x:auto;padding:4px;scrollbar-width:none}
.zx-tq__strip::-webkit-scrollbar{display:none}
.zx-tq__thumb{position:relative;width:42px;height:42px;flex:none;padding:0;border:0;border-radius:50%;background:transparent;overflow:visible;transition:transform 320ms var(--ease-standard)}
.zx-tq__thumb:hover{transform:translateY(-3px) scale(1.06)}
.zx-tq__thumbimg{width:100%;height:100%;border-radius:50%;object-fit:cover;filter:grayscale(1) brightness(.8);transition:filter 360ms}
.zx-tq__thumb[data-on] .zx-tq__thumbimg{filter:none}
.zx-tq__ring{position:absolute;inset:-5px;border-radius:50%;border:1.5px solid transparent;pointer-events:none}
.zx-tq__thumb[data-on] .zx-tq__ring{border-color:var(--color-brand-orange);animation:zx-tqring 6s linear infinite}
.zx-tq__ring[data-paused]{animation-play-state:paused}
@keyframes zx-tqring{0%{clip-path:inset(0 0 0 0);opacity:.35}50%{opacity:1}100%{clip-path:inset(0 0 0 0);opacity:.35}}

@media (max-width:719px){
  .zx-tq__deck{height:30rem;max-width:100%}
  .zx-tq__card{padding:var(--space-xl)}
  .zx-tq__card[data-pos="1"],.zx-tq__card[data-pos="-1"]{opacity:0;pointer-events:none}
  .zx-tq__mark{font-size:7rem}
}
@media (prefers-reduced-motion:reduce){
  .zx-tq__card{transition:opacity 200ms}
  .zx-tq__word{opacity:1;transform:none;filter:none;animation:none!important}
  .zx-tq__thumb[data-on] .zx-tq__ring{animation:none}
}

/* ── Platform orbit ────────────────────────────────────────────── */
.zx-orbitsec{padding-block:var(--space-section);background:var(--color-canvas)}
.zx-orbit__shell{position:relative;display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:var(--space-xxl);min-height:30rem;padding-left:var(--space-xxl);border:1px solid var(--border-hairline);border-radius:var(--radius-panel);background:var(--surface-card);overflow:hidden}
.zx-orbit__copy{position:relative;z-index:2;padding-block:var(--space-xxl)}
.zx-orbit__eyebrow{font-size:var(--type-caption-size);letter-spacing:.14em;text-transform:uppercase;color:var(--text-muted)}
.zx-orbit__h2{margin:var(--space-xs) 0 var(--space-md);font-size:var(--type-h2-size);line-height:1.15;letter-spacing:-.02em;font-weight:var(--weight-semibold);color:var(--text-strong);text-wrap:pretty}
.zx-orbit__lede{margin:0 0 var(--space-lg);min-height:3.2em;color:var(--text-secondary);font-size:var(--type-body-size);line-height:1.6;max-width:42ch;transition:color 200ms}
.zx-orbit__cta{display:flex;gap:var(--space-sm);flex-wrap:wrap}
.zx-orbit__list{list-style:none;margin:var(--space-xl) 0 0;padding:0;display:flex;flex-wrap:wrap;gap:6px}
.zx-orbit__list li{border:1px solid var(--border-hairline);border-radius:var(--radius-pill);padding:6px 13px;font-size:var(--type-caption-size);color:var(--text-secondary);background:var(--color-canvas);transition:border-color 220ms,color 220ms,transform 260ms var(--ease-standard)}
.zx-orbit__list li:hover{border-color:var(--color-brand-orange);color:var(--color-brand-orange-deep);transform:translateY(-2px)}
.zx-orbit__stage{position:relative;height:100%;min-height:30rem;display:flex;align-items:center;justify-content:flex-start;overflow:hidden}
.zx-orbit__field{position:relative;width:50rem;height:50rem;transform:translateX(46%);display:grid;place-items:center}
.zx-orbit__core{width:6rem;height:6rem;border-radius:50%;background:var(--color-footer-bg);display:grid;place-items:center;box-shadow:0 18px 40px -14px rgba(20,14,10,.5);z-index:2}
.zx-orbit__core img{width:64%}
.zx-orbit__ring{position:absolute;width:var(--size);height:var(--size);border-radius:50%;border:2px dotted var(--border-hairline);animation:zx-spin var(--spin) linear infinite}
.zx-orbit__chip{position:absolute;transform:translate(-50%,-50%);width:44px;height:44px;border-radius:50%;background:var(--color-canvas);border:1px solid var(--border-hairline);box-shadow:var(--shadow-2);display:grid;place-items:center;animation:zx-spin var(--spin) linear infinite reverse;transition:box-shadow 260ms,border-color 240ms}
.zx-orbit__chip:hover{box-shadow:var(--shadow-4);border-color:var(--color-brand-orange)}
.zx-orbit__chip img{width:26px;height:26px;object-fit:contain}
.zx-orbit__ini{font-size:var(--type-caption-size);font-weight:var(--weight-semibold)}
@media (max-width:1023px){
  .zx-orbit__shell{grid-template-columns:1fr;padding-left:0;min-height:0}
  .zx-orbit__copy{padding:var(--space-xxl) var(--space-xl) 0}
  .zx-orbit__stage{min-height:22rem;justify-content:center}
  .zx-orbit__field{width:34rem;height:34rem;transform:none;scale:.86}
}
@media (prefers-reduced-motion:reduce){
  .zx-orbit__ring,.zx-orbit__chip{animation:none}
  .zx-tst__quote,.zx-tst__ring,.zx-tst__chip,.zx-tst__bar i{animation:none}
  .zx-stat__note{max-height:150px;opacity:1;transform:none}
}
