/* ============================================================
   CyberX — Home page section styles (ported from design variations:
   Solutions SOC Console, Industries Skyline, Vendors Marquee + Orbital).
   All rules scoped under their section wrapper to avoid collisions.
   Shared tokens/.eyebrow/.reveal/.sec-head come from cyberx.css.
   ============================================================ */

/* ============================================================
   SOLUTIONS — SOC Console
   ============================================================ */
.console-sec {
  background:
    radial-gradient(60% 50% at 82% 8%, rgba(255,75,38,.10), transparent 60%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
}
.console-sec::before {
  content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.022) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.022) 1px,transparent 1px);
  background-size:46px 46px;
  mask-image:radial-gradient(80% 75% at 50% 30%,#000,transparent 95%); pointer-events:none;
}
.console-sec .wrap { position:relative; z-index:2; }
.console {
  display:grid; grid-template-columns:minmax(0,1fr) 1.05fr; gap:0;
  border:1px solid var(--line); border-radius:16px; overflow:hidden;
  background:linear-gradient(180deg,rgba(18,20,25,.7),rgba(12,14,18,.7));
  box-shadow:0 40px 90px -50px rgba(0,0,0,.9);
}
.console-bar {
  grid-column:1 / -1; display:flex; align-items:center; gap:14px;
  padding:13px 20px; border-bottom:1px solid var(--line);
  font-family:var(--mono); font-size:.74rem; letter-spacing:.12em; color:var(--dim); text-transform:uppercase;
  background:rgba(0,0,0,.25);
}
.console-bar .dots { display:flex; gap:7px; }
.console-bar .dots i { width:11px; height:11px; border-radius:50%; background:#2a2e36; display:block; }
.console-bar .dots i:first-child { background:var(--brand); }
.console-bar .live { margin-left:auto; display:flex; align-items:center; gap:8px; color:var(--green); }
.console-bar .live .pulse { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 0 0 rgba(37,224,138,.6); animation:cx-pulse-ring 1.8s infinite; }
@keyframes cx-pulse-ring { 0%{box-shadow:0 0 0 0 rgba(37,224,138,.5);} 70%{box-shadow:0 0 0 7px rgba(37,224,138,0);} 100%{box-shadow:0 0 0 0 rgba(37,224,138,0);} }
.console .index { border-right:1px solid var(--line); padding:8px 0; max-height:560px; overflow:auto; scrollbar-width:thin; }
.console .row {
  position:relative; display:grid; grid-template-columns:48px 1fr auto; align-items:center; gap:14px;
  padding:14px 22px; cursor:pointer; border:none; background:none; width:100%; text-align:left; color:inherit;
  font-family:inherit; transition:background .25s var(--ease),color .25s;
}
.console .row::before { content:""; position:absolute; left:0; top:0; bottom:0; width:3px; background:var(--brand); transform:scaleY(0); transform-origin:center; transition:transform .3s var(--ease); }
.console .row:hover { background:rgba(255,255,255,.03); }
.console .row.active { background:linear-gradient(90deg,rgba(255,75,38,.12),transparent); }
.console .row.active::before { transform:scaleY(1); }
.console .row .idx { font-family:var(--mono); font-size:.82rem; color:var(--dim); letter-spacing:.05em; }
.console .row.active .idx { color:var(--brand-2); }
.console .row .name { font-size:1rem; font-weight:600; line-height:1.3; letter-spacing:-.01em; color:var(--muted); transition:color .25s; }
.console .row:hover .name, .console .row.active .name { color:var(--text); }
.console .row .tag { font-family:var(--mono); font-size:.62rem; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); border:1px solid var(--line); padding:4px 8px; border-radius:6px; white-space:nowrap; }
.console .row.active .tag { color:var(--brand-2); border-color:rgba(255,75,38,.35); }
.console .detail { position:relative; padding:40px 42px 44px; overflow:hidden; display:flex; flex-direction:column; min-height:560px; }
.console .detail .scan { position:absolute; inset:0; background:repeating-linear-gradient(0deg,rgba(255,255,255,.025) 0 1px,transparent 1px 4px); pointer-events:none; opacity:.5; mix-blend-mode:overlay; }
.console .radar { position:absolute; top:-60px; right:-60px; width:340px; height:340px; opacity:.55; pointer-events:none; }
.console .radar .ring { fill:none; stroke:rgba(255,75,38,.16); stroke-width:1; }
.console .radar .cross { stroke:rgba(255,75,38,.12); stroke-width:1; }
.console .radar .sweep { transform-origin:170px 170px; animation:cx-radar-sweep 4s linear infinite; }
@keyframes cx-radar-sweep { to { transform:rotate(360deg); } }
.console .radar .blip { fill:var(--brand-2); animation:cx-blip 4s linear infinite; }
@keyframes cx-blip { 0%,18%{opacity:0;} 22%{opacity:1;} 60%{opacity:0;} 100%{opacity:0;} }
.console .detail-inner { position:relative; z-index:2; display:flex; flex-direction:column; height:100%; }
.console .d-status { font-family:var(--mono); font-size:.72rem; letter-spacing:.16em; text-transform:uppercase; color:var(--green); display:flex; align-items:center; gap:9px; margin-bottom:auto; }
.console .d-status .dot { width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 10px var(--green); }
.console .d-icon { width:62px; height:62px; border-radius:14px; display:grid; place-items:center; background:rgba(255,75,38,.1); border:1px solid rgba(255,75,38,.25); color:var(--brand-2); margin:30px 0 22px; }
.console .d-icon svg { width:32px; height:32px; }
.console .d-num { font-family:var(--mono); font-size:.8rem; color:var(--dim); letter-spacing:.16em; }
.console .d-title { font-size:clamp(1.6rem,2.6vw,2.3rem); font-weight:800; letter-spacing:-.02em; line-height:1.08; margin:8px 0 16px; text-wrap:balance; }
.console .d-desc { color:var(--muted); font-size:1.08rem; line-height:1.65; max-width:440px; }
.console .d-meta { margin-top:28px; display:flex; gap:26px; flex-wrap:wrap; }
.console .d-meta .m { display:flex; flex-direction:column; gap:4px; }
.console .d-meta .mk { font-family:var(--mono); font-size:.64rem; letter-spacing:.16em; text-transform:uppercase; color:var(--dim); }
.console .d-meta .mv { font-family:var(--mono); font-size:1.2rem; font-weight:600; color:var(--text); font-variant-numeric:tabular-nums; }
.console .d-meta .mv.g { color:var(--green); }
.console .swap { animation:cx-swap-in .5s var(--ease); }
@keyframes cx-swap-in { from{opacity:0;transform:translateY(10px);} to{opacity:1;transform:none;} }
@media (max-width:900px) {
  .console { grid-template-columns:1fr; }
  .console .index { border-right:none; border-bottom:1px solid var(--line); max-height:300px; }
  .console .detail { min-height:auto; }
  .console .row .tag { display:none; }
}
@media (max-width:640px) {
  .console { border-radius:13px; }
  .console-bar { gap:10px; padding:11px 14px; font-size:.62rem; letter-spacing:.08em; }
  .console-bar .url { display:none; }
  .console .index { max-height:248px; padding:4px 0; }
  .console .row { grid-template-columns:34px 1fr; gap:10px; padding:13px 16px; }
  .console .detail { padding:26px 20px 30px; }
  .console .radar { width:230px; height:230px; top:-40px; right:-50px; }
  .console .d-icon { width:52px; height:52px; margin:22px 0 18px; }
  .console .d-desc { font-size:1rem; }
}

/* ============================================================
   INDUSTRIES — Protected Skyline
   ============================================================ */
.sky-sec {
  position:relative; overflow:hidden;
  background:
    radial-gradient(90% 80% at 12% 6%, rgba(54,210,230,.12), transparent 55%),
    linear-gradient(180deg, var(--bg), var(--bg-2));
}
.sky-sec .eyebrow { color:var(--teal); }
.sky-sec .sky-readout { display:flex; align-items:center; gap:16px; margin:8px 0 0; min-height:34px; font-family:var(--mono); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); }
.sky-sec .sky-readout .sh { display:inline-flex; align-items:center; gap:8px; color:var(--teal); }
.sky-sec .sky-readout .sh .dot { width:8px; height:8px; border-radius:50%; background:var(--teal); box-shadow:0 0 10px var(--teal); animation:cx-pulse 2s infinite; }
.sky-sec .sky-readout .nm { color:var(--text); letter-spacing:.04em; font-size:.82rem; }
.sky-sec .city { position:relative; margin-top:30px; height:430px; }
.sky-sec .dome { position:absolute; left:0; right:0; bottom:64px; height:380px; width:100%; pointer-events:none; overflow:visible; }
.sky-sec .dome path { fill:none; stroke:rgba(54,210,230,.22); stroke-width:1.5; stroke-dasharray:5 7; }
.sky-sec .dome .fill { fill:url(#domeg); stroke:none; opacity:.5; }
.sky-sec .sweep { position:absolute; top:0; bottom:64px; width:160px; left:-160px; pointer-events:none;
  background:linear-gradient(90deg,transparent,rgba(54,210,230,.16) 60%,rgba(54,210,230,.42));
  border-right:1.5px solid rgba(54,210,230,.6); mix-blend-mode:screen; animation:cx-sky-sweep 6s linear infinite; }
@keyframes cx-sky-sweep { 0%{left:-12%;} 100%{left:104%;} }
.sky-sec .ground { position:absolute; left:0; right:0; bottom:63px; height:1px; background:linear-gradient(90deg,transparent,rgba(54,210,230,.5),transparent); }
.sky-sec .ground::after { content:""; position:absolute; left:0; right:0; top:0; height:64px; background:linear-gradient(180deg,rgba(54,210,230,.05),transparent); }
.sky-sec .skyline { position:absolute; left:0; right:0; bottom:64px; display:flex; align-items:flex-end; justify-content:center; gap:clamp(6px,1.1vw,16px); height:360px; }
.sky-sec .tower { position:relative; flex:1 1 0; min-width:0; max-width:120px; display:flex; flex-direction:column; align-items:center; justify-content:flex-end; cursor:pointer;
  transform:translateY(18px) scaleY(.94); transform-origin:bottom; opacity:0;
  transition:transform .55s var(--ease),opacity .55s var(--ease),filter .3s; }
.sky-sec .city.in .tower { transform:translateY(0) scaleY(1); opacity:1; }
.sky-sec .tower .beacon { width:34px; height:34px; border-radius:50%; display:grid; place-items:center; margin-bottom:10px;
  background:rgba(54,210,230,.1); border:1px solid rgba(54,210,230,.3); color:var(--teal); transition:all .3s var(--ease); z-index:3; }
.sky-sec .tower .beacon svg { width:19px; height:19px; }
.sky-sec .tower .body { position:relative; width:100%; border:1px solid var(--line-2); border-bottom:none; border-radius:5px 5px 0 0; overflow:hidden;
  background:linear-gradient(180deg,rgba(20,24,30,.9),rgba(12,14,18,.7)); transition:border-color .3s,background .3s,box-shadow .3s; }
.sky-sec .tower .body::before { content:""; position:absolute; inset:8px;
  background-image:linear-gradient(90deg,rgba(54,210,230,.16) 1px,transparent 1px),linear-gradient(rgba(54,210,230,.16) 1px,transparent 1px);
  background-size:12px 14px; opacity:.5; transition:opacity .3s; }
.sky-sec .tower .body::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(54,210,230,.18),transparent 70%); opacity:0; transition:opacity .35s; }
.sky-sec .tower .lab { position:absolute; bottom:calc(100% + 52px); left:50%; transform:translate(-50%,8px);
  white-space:nowrap; font-size:.78rem; font-weight:600; letter-spacing:-.01em; color:var(--text);
  background:rgba(8,12,14,.92); border:1px solid rgba(54,210,230,.4); padding:6px 11px; border-radius:8px;
  opacity:0; pointer-events:none; transition:opacity .3s var(--ease),transform .3s var(--ease); z-index:5; box-shadow:0 10px 30px -8px rgba(0,0,0,.7); }
.sky-sec .tower .lab::after { content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:5px solid transparent; border-top-color:rgba(54,210,230,.4); }
.sky-sec .tower:hover, .sky-sec .tower.active { transform:translateY(-10px) scaleY(1); filter:drop-shadow(0 18px 30px rgba(54,210,230,.25)); }
.sky-sec .tower:hover .beacon, .sky-sec .tower.active .beacon { background:var(--teal); color:#04181c; border-color:var(--teal); box-shadow:0 0 22px rgba(54,210,230,.8); transform:scale(1.12); }
.sky-sec .tower:hover .body, .sky-sec .tower.active .body { border-color:rgba(54,210,230,.55); box-shadow:inset 0 0 30px rgba(54,210,230,.12); }
.sky-sec .tower:hover .body::before, .sky-sec .tower.active .body::before { opacity:1; }
.sky-sec .tower:hover .body::after, .sky-sec .tower.active .body::after { opacity:1; }
.sky-sec .tower:hover .lab, .sky-sec .tower.active .lab { opacity:1; transform:translate(-50%,0); }
.sky-sec .tower .ant { position:absolute; top:-12px; width:1.5px; height:12px; background:rgba(54,210,230,.5); }
.sky-sec .tower .ant::after { content:""; position:absolute; top:-3px; left:-1.5px; width:4.5px; height:4.5px; border-radius:50%; background:var(--teal); box-shadow:0 0 8px var(--teal); }
.sky-sec .city-base { position:absolute; left:0; right:0; bottom:0; height:64px;
  background:repeating-linear-gradient(90deg,rgba(255,255,255,.03) 0 2px,transparent 2px 26px),linear-gradient(180deg,var(--bg-2),var(--bg)); border-top:1px solid var(--line); }
.sky-sec .city-base .meta { position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; padding:0 6px;
  font-family:var(--mono); font-size:.66rem; letter-spacing:.16em; text-transform:uppercase; color:var(--dim); }
@media (max-width:760px) {
  .sky-sec .tower .beacon { width:26px; height:26px; }
  .sky-sec .tower .beacon svg { width:14px; height:14px; }
  .sky-sec .tower .lab { display:none; }
  .sky-sec .city { height:360px; }
  .sky-sec .skyline { height:300px; gap:5px; }
}

/* ============================================================
   VENDORS — Trust Marquee (desktop) + Orbital (mobile)
   ============================================================ */
.vendors-marquee { text-align:center; background:radial-gradient(60% 60% at 50% -10%, rgba(255,75,38,.10), transparent 60%), linear-gradient(180deg,var(--bg),var(--bg-2)); position:relative; }
.vendors-marquee::before { content:""; position:absolute; inset:0;
  background-image:linear-gradient(rgba(255,255,255,.02) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.02) 1px,transparent 1px);
  background-size:48px 48px; mask-image:radial-gradient(75% 70% at 50% 30%,#000,transparent 95%); pointer-events:none; }
.vendors-marquee .wrap { position:relative; z-index:2; }
.vendors-marquee .head { text-align:center; max-width:760px; margin:0 auto 56px; }
.vendors-marquee .head p { color:var(--muted); font-size:1.1rem; line-height:1.6; margin-top:20px; }
.vendors-marquee .count { display:inline-flex; align-items:center; gap:9px; margin-top:22px; font-family:var(--mono); font-size:.74rem; letter-spacing:.14em; text-transform:uppercase; color:var(--dim); }
.vendors-marquee .count b { color:var(--text); font-weight:600; }
.vendors-marquee .count .pulse { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 10px var(--green); animation:cx-pulse 2s infinite; }
.vendors-marquee .rows { display:flex; flex-direction:column; gap:18px; }
.vendors-marquee .row { overflow:hidden; -webkit-mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); mask:linear-gradient(90deg,transparent,#000 7%,#000 93%,transparent); }
.vendors-marquee .track { display:flex; gap:18px; width:max-content; animation:cx-scroll 42s linear infinite; }
.vendors-marquee .row.rev .track { animation-duration:52s; animation-direction:reverse; }
.vendors-marquee .row:hover .track { animation-play-state:paused; }
@keyframes cx-scroll { to { transform:translateX(-50%); } }
.vendors-marquee .plate { flex-shrink:0; height:84px; padding:0 26px; border:1px solid var(--line); border-radius:14px; overflow:hidden;
  display:flex; align-items:center; justify-content:center; transition:border-color .3s,box-shadow .3s,transform .3s var(--ease); }
.vendors-marquee .plate.light { border-color:rgba(255,255,255,.16); }
.vendors-marquee .plate img { height:52px; width:auto; display:block; }
.vendors-marquee .plate .wm { font-size:1.3rem; font-weight:800; letter-spacing:-.015em; color:#fff; white-space:nowrap; }
.vendors-marquee .plate:hover { transform:translateY(-4px); border-color:rgba(255,75,38,.55); box-shadow:0 22px 50px -26px rgba(255,75,38,.6); }
@media (max-width:620px) {
  .vendors-marquee .plate { height:64px; padding:0 18px; }
  .vendors-marquee .plate img { height:40px; }
}

/* Orbital (mobile) */
.vendors-orbital { position:relative; overflow:hidden; text-align:center; background:radial-gradient(60% 55% at 50% 42%, rgba(255,75,38,.10), transparent 62%), linear-gradient(180deg,var(--bg),var(--bg-2)); }
.vendors-orbital .wrap { position:relative; z-index:2; }
.vendors-orbital .head { text-align:center; max-width:680px; margin:0 auto; }
.vendors-orbital .head h2 { font-size:clamp(1.8rem,3.6vw,2.8rem); font-weight:800; letter-spacing:-.015em; line-height:1.1; margin-top:16px; text-wrap:balance; }
.vendors-orbital .head p { color:var(--muted); font-size:1.04rem; line-height:1.6; margin-top:16px; }
.vendors-orbital .orbit { --d-out:clamp(320px,84vw,560px); --d-in:clamp(196px,54vw,348px); position:relative; width:var(--d-out); height:var(--d-out); margin:46px auto 0; }
.vendors-orbital .sweep { position:absolute; inset:0; margin:auto; width:var(--d-out); height:var(--d-out); border-radius:50%;
  background:conic-gradient(from 0deg, transparent 0deg, rgba(255,75,38,.14) 26deg, transparent 60deg); animation:cx-spin 7s linear infinite; pointer-events:none; mask:radial-gradient(circle, #000 56%, transparent 72%); }
.vendors-orbital .ring { position:absolute; inset:0; margin:auto; border-radius:50%; border:1px dashed rgba(255,75,38,.16); }
.vendors-orbital .ring-out { --R:calc(var(--d-out)/2); width:var(--d-out); height:var(--d-out); animation:cx-spin 48s linear infinite; }
.vendors-orbital .ring-in { --R:calc(var(--d-in)/2); width:var(--d-in); height:var(--d-in); border-color:rgba(54,210,230,.16); animation:cx-spin 38s linear infinite reverse; }
@keyframes cx-spin { to { transform:rotate(360deg); } }
.vendors-orbital .spoke { position:absolute; left:50%; bottom:50%; width:1.5px; height:var(--R); transform-origin:bottom center;
  transform:translateX(-50%) rotate(var(--a)); background:linear-gradient(to top, rgba(255,75,38,.30), transparent 78%); opacity:.55; }
.vendors-orbital .ring-in .spoke { background:linear-gradient(to top, rgba(54,210,230,.28), transparent 78%); }
.vendors-orbital .node { position:absolute; top:50%; left:50%; width:0; height:0; transform:rotate(var(--a)) translateY(calc(-1 * var(--R))); }
.vendors-orbital .cancel { position:absolute; top:0; left:0; }
.vendors-orbital .ring-out .cancel { animation:cx-spin 48s linear infinite reverse; }
.vendors-orbital .ring-in .cancel { animation:cx-spin 38s linear infinite; }
.vendors-orbital .up { position:absolute; top:0; left:0; transform:rotate(var(--na)); }
.vendors-orbital .chip { position:absolute; top:0; left:0; width:132px; height:60px; transform:translate(-50%,-50%); border-radius:14px; display:grid; place-items:center; cursor:pointer; overflow:hidden; padding:7px;
  border:1px solid var(--line-2); box-shadow:0 16px 36px -20px rgba(0,0,0,.9); transition:transform .35s var(--ease),border-color .3s,box-shadow .3s; }
.vendors-orbital .chip.light { border-color:rgba(0,0,0,.16); }
.vendors-orbital .ring-in .chip { width:112px; height:52px; border-radius:12px; }
.vendors-orbital .chip img { width:100%; height:100%; object-fit:contain; display:block; }
.vendors-orbital .chip .wm { font-family:var(--font); font-weight:800; font-size:1.04rem; letter-spacing:-.01em; color:#fff; white-space:nowrap; }
.vendors-orbital .ring-in .chip .wm { font-size:.92rem; }
.vendors-orbital .chip::after { content:""; position:absolute; inset:0; border-radius:inherit; box-shadow:inset 0 0 0 2px rgba(255,75,38,0); transition:box-shadow .35s; pointer-events:none; }
.vendors-orbital .chip:hover { transform:translate(-50%,-50%) scale(1.14); border-color:rgba(255,75,38,.7); box-shadow:0 22px 50px -18px rgba(255,75,38,.6); }
.vendors-orbital .ring-in .chip:hover { border-color:rgba(54,210,230,.7); box-shadow:0 22px 50px -18px rgba(54,210,230,.5); }
.vendors-orbital .chip:hover::after { box-shadow:inset 0 0 0 2px rgba(255,75,38,.5); }
.vendors-orbital .tip { position:absolute; bottom:calc(100% + 12px); left:50%; transform:translateX(-50%) translateY(6px); white-space:nowrap; background:rgba(8,12,14,.96); border:1px solid var(--line-2); border-radius:12px; padding:9px 14px;
  opacity:0; pointer-events:none; transition:opacity .28s var(--ease),transform .28s var(--ease); z-index:30; box-shadow:0 18px 40px -14px rgba(0,0,0,.8); text-align:center; }
.vendors-orbital .tip b { display:block; font-size:.9rem; font-weight:700; letter-spacing:-.01em; color:var(--text); }
.vendors-orbital .tip i { display:block; font-style:normal; font-family:var(--mono); font-size:.66rem; letter-spacing:.06em; color:var(--brand-2); margin-top:3px; }
.vendors-orbital .ring-in .tip i { color:var(--teal); }
.vendors-orbital .tip::after { content:""; position:absolute; top:100%; left:50%; transform:translateX(-50%); border:6px solid transparent; border-top-color:var(--line-2); }
.vendors-orbital .chip:hover .tip { opacity:1; transform:translateX(-50%) translateY(0); }
.vendors-orbital .orbit:has(.chip:hover) .ring-out,
.vendors-orbital .orbit:has(.chip:hover) .ring-in,
.vendors-orbital .orbit:has(.chip:hover) .cancel,
.vendors-orbital .orbit:has(.chip:hover) .sweep { animation-play-state:paused; }
.vendors-orbital .core { position:absolute; inset:0; margin:auto; width:128px; height:128px; border-radius:30px; display:grid; place-items:center; z-index:5;
  background:radial-gradient(circle at 50% 35%, rgba(255,75,38,.3), rgba(18,20,25,.95) 70%); border:1px solid rgba(255,75,38,.4); box-shadow:0 0 60px -8px rgba(255,75,38,.5), inset 0 0 30px rgba(255,75,38,.18); }
.vendors-orbital .core::before, .vendors-orbital .core::after { content:""; position:absolute; inset:0; margin:auto; border-radius:50%; border:1px solid rgba(255,75,38,.3); animation:cx-halo 3.4s ease-out infinite; }
.vendors-orbital .core::after { animation-delay:1.7s; }
@keyframes cx-halo { 0%{width:120px;height:120px;opacity:.7;} 100%{width:230px;height:230px;opacity:0;} }
.vendors-orbital .core .mk { width:54px; height:54px; position:relative; z-index:2; }
.vendors-orbital .core .lbl { position:absolute; bottom:-30px; left:50%; transform:translateX(-50%); font-family:var(--mono); font-size:.64rem; letter-spacing:.24em; text-transform:uppercase; color:var(--dim); white-space:nowrap; }
.vendors-orbital .foot { display:flex; justify-content:center; gap:26px; flex-wrap:wrap; margin-top:64px; }
.vendors-orbital .foot .it { display:inline-flex; align-items:center; gap:9px; font-family:var(--mono); font-size:.74rem; letter-spacing:.1em; text-transform:uppercase; color:var(--dim); }
.vendors-orbital .foot .it b { color:var(--text); font-weight:600; }
.vendors-orbital .foot .d { width:8px; height:8px; border-radius:50%; background:var(--green); box-shadow:0 0 10px var(--green); animation:cx-pulse 2s infinite; }
.vendors-orbital .foot .d.o { background:var(--brand); box-shadow:0 0 10px var(--brand); }

@keyframes cx-pulse { 0%,100%{opacity:1;} 50%{opacity:.35;} }

/* desktop = marquee, mobile = orbital */
.vendors-orbital { display:none; }
@media (max-width:768px) {
  .vendors-marquee { display:none; }
  .vendors-orbital { display:block; }
}

@media (prefers-reduced-motion: reduce) {
  .console-bar .live .pulse, .console .radar .sweep, .console .radar .blip,
  .sky-sec .sweep, .sky-sec .sky-readout .sh .dot,
  .vendors-marquee .track, .vendors-marquee .count .pulse,
  .vendors-orbital .ring-out, .vendors-orbital .ring-in, .vendors-orbital .cancel,
  .vendors-orbital .sweep, .vendors-orbital .core::before, .vendors-orbital .core::after, .vendors-orbital .foot .d {
    animation:none !important;
  }
  .sky-sec .tower { opacity:1 !important; transform:none !important; }
}
