/* PixCloudo - custom styles layered on Bootstrap 5.3 */
@font-face{font-family:"Big Shoulders Display";font-weight:700;font-display:swap;src:url(../fonts/big-shoulders-display-latin-700-normal.woff2) format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-weight:800;font-display:swap;src:url(../fonts/big-shoulders-display-latin-800-normal.woff2) format("woff2")}
@font-face{font-family:"Big Shoulders Display";font-weight:900;font-display:swap;src:url(../fonts/big-shoulders-display-latin-900-normal.woff2) format("woff2")}
@font-face{font-family:"Manrope";font-weight:200 800;font-display:swap;src:url(../fonts/manrope-latin-wght-normal.woff2) format("woff2")}

:root{
  --navy:#050817;--midnight:#0b1026;--ink:#11183a;
  --electric:#009cff;--cyan:#00d9ff;--royal:#174bff;--violet:#652eff;--purple:#8b20ff;--magenta:#d600f5;--pink:#ff00d4;
  --muted:#aab5d0;
  --font-display:"Big Shoulders Display","Arial Narrow",Impact,sans-serif;
  --ease:cubic-bezier(.16,1,.3,1);
  --bs-body-bg:#050817;--bs-body-color:#fff;--bs-body-font-family:"Manrope",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --bs-border-color:rgba(170,181,208,.16);
}
html{scroll-behavior:smooth;scroll-padding-top:5.5rem;-webkit-text-size-adjust:100%}
body{background:var(--navy);color:#fff;font-family:var(--bs-body-font-family);line-height:1.6;overflow-x:hidden;-webkit-font-smoothing:antialiased}
::selection{background:var(--purple);color:#fff}
:focus-visible{outline:3px solid var(--cyan)!important;outline-offset:3px;border-radius:6px;box-shadow:none!important}
button{cursor:pointer}button:disabled{cursor:not-allowed}
img{max-width:100%}
a{color:inherit;text-decoration:none}
ul,ol{list-style:none;margin:0;padding:0}
h1,h2,h3,h4,p{margin:0}
.text-muted-px{color:var(--muted)!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* ---------- typography ---------- */
.disp{font-family:var(--font-display);font-weight:900;line-height:.86;letter-spacing:-.005em;text-transform:uppercase}
.disp-md{font-size:clamp(2.4rem,6.2vw,5rem)}
.disp-lg{font-size:clamp(3rem,8.4vw,7.25rem)}
.disp-xl{font-size:clamp(3.4rem,10.5vw,9.5rem)}
.fs-d1{font-size:1.5rem}.fs-d2{font-size:1.9rem}.fs-d3{font-size:2.2rem}.fs-d4{font-size:2.6rem}
.grad,.grad-cool,.grad-warm{-webkit-background-clip:text;background-clip:text;color:transparent;-webkit-text-fill-color:transparent}
.grad{background-image:linear-gradient(95deg,#009cff 0%,#652eff 45%,#ff00d4 100%);padding-right:.04em}
.grad-cool{background-image:linear-gradient(95deg,#00d9ff 0%,#009cff 40%,#7a5bff 100%)}
.grad-warm{background-image:linear-gradient(95deg,#8b5bff 0%,#d600f5 55%,#ff00d4 100%);padding-right:.04em}
.grad-bg{background-image:linear-gradient(110deg,#009cff,#652eff 55%,#d600f5)}
.lead-px{max-width:34rem;color:var(--muted);font-size:1rem;line-height:1.7}
@media(min-width:576px){.lead-px{font-size:1.125rem}}
.kicker{font-size:.75rem;font-weight:800;letter-spacing:.18em;color:var(--muted);text-transform:uppercase}

/* ---------- layout ---------- */
.sec{position:relative;overflow:hidden;padding:5rem 0;background:var(--navy)}
.sec.tone-mid{background:var(--midnight)}
@media(min-width:576px){.sec{padding:7rem 0}.sec-xl{padding:8rem 0}}
.wrap{max-width:88rem;margin:0 auto;padding:0 1.25rem;position:relative}
@media(min-width:576px){.wrap{padding:0 2rem}}
@media(min-width:992px){.wrap{padding:0 3rem}}
.ambient{position:absolute;inset:0;pointer-events:none}
.mt-6px{margin-top:1.5rem}.mt-7px{margin-top:3rem}.mt-8px{margin-top:4rem}
.dots-grid{background-image:radial-gradient(rgba(170,181,208,.22) 1px,transparent 1px);background-size:22px 22px}
.lines-grid{background-image:linear-gradient(rgba(170,181,208,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(170,181,208,.07) 1px,transparent 1px);background-size:44px 44px}

.pt-pt{border-left:2px solid rgba(101,46,255,.7);padding-left:.75rem;height:100%}

/* ---------- reveal ---------- */
.js .rv{opacity:0;transform:translateY(28px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
.js .rv.in{opacity:1;transform:none}
.rv-d1{transition-delay:.08s!important}.rv-d2{transition-delay:.16s!important}.rv-d3{transition-delay:.24s!important}
.rv-d4{transition-delay:.32s!important}.rv-d5{transition-delay:.4s!important}

/* ---------- buttons / chips ---------- */
.btn-px{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3rem;padding:0 1.5rem;border-radius:999px;border:1px solid transparent;font-weight:800;font-size:.875rem;letter-spacing:.02em;transition:all .3s;color:#fff;background:none;text-align:center}
.btn-px.primary{background-image:linear-gradient(110deg,#009cff,#652eff 55%,#d600f5);box-shadow:0 10px 40px -10px rgba(139,32,255,.8)}
.btn-px.primary:hover{transform:translateY(-2px);box-shadow:0 14px 50px -8px rgba(255,0,212,.7);color:#fff}
.btn-px.ghost{border-color:rgba(255,255,255,.25)}
.btn-px.ghost:hover{border-color:var(--cyan);color:var(--cyan)}
.btn-px.light{background:#fff;color:var(--navy)}.btn-px.light:hover{background:var(--cyan);color:var(--navy)}
.btn-px.sm{min-height:2.5rem;padding:0 1.25rem}
.chip{min-height:2.5rem;padding:0 1rem;border-radius:999px;border:1px solid rgba(255,255,255,.15);background:transparent;color:var(--muted);font-weight:700;font-size:.875rem;transition:all .25s;display:inline-flex;align-items:center}
.chip:hover{color:#fff}
.chip[aria-pressed=true],.chip[aria-selected=true],.chip[aria-checked=true]{background-image:linear-gradient(110deg,#009cff,#652eff 55%,#d600f5);border-color:transparent;color:#fff}
.chip.cy[aria-pressed=true]{background:rgba(0,217,255,.15);border-color:var(--cyan);color:var(--cyan)}
.chip-static{display:inline-flex;align-items:center;padding:.4rem 1rem;border:1px solid rgba(255,255,255,.15);border-radius:999px;font-size:.875rem;font-weight:600}
.badge-sample{display:inline-flex;align-items:center;gap:.375rem;border:1px solid rgba(252,211,77,.4);background:rgba(252,211,77,.1);color:#fde68a;border-radius:999px;padding:.25rem .65rem;font-size:11px;font-weight:700;white-space:nowrap}
.badge-sample::before{content:"";width:6px;height:6px;border-radius:50%;background:#fcd34d}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%}
.dot.online{background:#34d399}.dot.offline{background:#fb7185}.dot.syncing{background:var(--cyan)}.dot.idle{background:#fcd34d}
.st-online{color:#6ee7b7}.st-offline{color:#fda4af}.st-syncing{color:var(--cyan)}.st-idle{color:#fde68a}

/* ---------- surfaces ---------- */
.glass{background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.025));border:1px solid rgba(170,181,208,.16);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border-radius:1.5rem;padding:1rem}
.gborder{border:1px solid transparent;border-radius:1.5rem;padding:1rem;background:linear-gradient(var(--midnight),var(--midnight)) padding-box,linear-gradient(135deg,rgba(0,156,255,.7),rgba(139,32,255,.5),rgba(255,0,212,.7)) border-box}
.panel-soft{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.04);border-radius:1rem;padding:1rem}
@media(min-width:576px){.glass,.gborder{padding:1.5rem}}
.table-px{width:100%;font-size:.875rem;text-align:left;border-collapse:collapse}
.table-px th{font-size:.75rem;color:var(--muted);font-weight:700;padding-bottom:.5rem}
.table-px td{padding:.65rem .75rem .65rem 0;border-top:1px solid rgba(255,255,255,.1)}
.scroll-x{overflow-x:auto;scrollbar-width:none}.scroll-x::-webkit-scrollbar{display:none}

/* ---------- screens (CSS-built signage displays) ---------- */
.scr{container-type:inline-size;width:100%}
.scr-frame{position:relative;border-radius:2.4cqw;background:#02030b;padding:1.3cqw;box-shadow:0 1.5cqw 5cqw -1cqw rgba(0,0,0,.7);outline:1px solid rgba(255,255,255,.15)}
.scr-view{position:relative;aspect-ratio:16/9;overflow:hidden;border-radius:1.4cqw;color:#fff}
.scr-view>.sc{position:absolute;inset:0;padding:5cqw}
.scr .t{font-family:var(--font-display);font-weight:900;line-height:.86;text-transform:uppercase}
.scr .lab{font-size:2.6cqw;font-weight:700;letter-spacing:.14em;color:rgba(255,255,255,.8)}
.scr-dim{position:absolute;inset:0;background:rgba(5,8,23,.6)}
.scr-ov{position:absolute;inset:0}

/* ---------- navigation ---------- */
.px-header{position:fixed;inset:0 0 auto 0;z-index:1040;padding-top:env(safe-area-inset-top)}
.px-nav{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:calc(100% - 1.5rem);max-width:88rem;margin:.75rem auto 0;padding:.5rem .75rem;border-radius:1rem;border:1px solid transparent;transition:all .5s}
@media(min-width:576px){.px-nav{width:calc(100% - 3rem)}}
.px-header.scrolled .px-nav,.px-header.open .px-nav{border-color:rgba(255,255,255,.1);background:rgba(5,8,23,.8);box-shadow:0 20px 60px -30px rgba(101,46,255,.8);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}
.logo-badge{display:inline-flex;align-items:center;background:#fff;border-radius:.75rem;padding:.375rem .75rem;box-shadow:0 8px 30px -12px rgba(0,156,255,.6)}
.logo-badge img{height:2rem;width:auto;display:block}
@media(min-width:576px){.logo-badge img{height:2.25rem}}
.logo-badge.big img{height:3rem}
.nav-links{display:none;align-items:center;gap:.25rem}
.nav-links a{padding:.5rem .875rem;border-radius:999px;font-size:.875rem;font-weight:600;color:var(--muted);transition:.2s}
.nav-links a:hover{background:rgba(255,255,255,.08);color:#fff}
.nav-cta{display:none}
.menu-btn{display:grid;place-items:center;width:2.75rem;height:2.75rem;border-radius:.75rem;border:1px solid rgba(255,255,255,.15);background:none;color:#fff}
.menu-btn:hover{border-color:var(--cyan)}
@media(min-width:992px){.nav-links{display:flex}.nav-cta{display:block}.menu-btn{display:none}}
#mobile-menu{width:calc(100% - 1.5rem);max-width:36rem;margin:.5rem auto 0;border-radius:1rem;border:1px solid rgba(255,255,255,.1);background:rgba(5,8,23,.96);backdrop-filter:blur(18px);padding:.75rem}
@media(min-width:576px){#mobile-menu{width:calc(100% - 3rem)}}
@media(min-width:992px){#mobile-menu{display:none!important}}
#mobile-menu a.m-link{display:flex;align-items:center;min-height:3rem;padding:0 1rem;border-radius:.75rem;font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:1.9rem;letter-spacing:.02em}
#mobile-menu a.m-link:hover{background:rgba(255,255,255,.08)}
.skip{position:fixed;left:.75rem;top:.75rem;z-index:2000;transform:translateY(-6rem);background:#fff;color:var(--navy);border-radius:999px;padding:.5rem 1rem;font-weight:800;font-size:.875rem;transition:transform .2s}
.skip:focus{transform:none}
#cursor-glow{position:fixed;left:0;top:0;z-index:1;width:600px;height:600px;border-radius:50%;pointer-events:none;opacity:0;mix-blend-mode:screen;transition:opacity .7s;background:radial-gradient(circle,rgba(101,46,255,.22) 0%,rgba(0,156,255,.08) 40%,transparent 68%)}

/* ---------- hero ---------- */
.hero{position:relative;isolation:isolate;overflow:hidden;background:var(--navy)}
.hero-inner{position:relative;display:flex;flex-direction:column;justify-content:center;min-height:100svh;max-width:96rem;margin:0 auto;padding:7rem 1.25rem 6rem}
@media(min-width:576px){.hero-inner{padding-left:2rem;padding-right:2rem}}
@media(min-width:992px){.hero-inner{padding:6rem 3rem 6rem}}
.hero-label{display:inline-flex;align-items:center;gap:.65rem;margin-bottom:1.25rem;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.05);border-radius:999px;padding:.4rem 1rem;font-size:11px;font-weight:800;letter-spacing:.22em;color:var(--cyan)}
@media(min-width:576px){.hero-label{font-size:.75rem}}
.live-dot{position:relative;display:inline-flex;width:8px;height:8px}
.live-dot::before,.live-dot::after{content:"";position:absolute;inset:0;border-radius:50%;background:var(--cyan)}
.live-dot::before{animation:pulse-ring 2.4s ease-out infinite}
.hero h1{font-size:clamp(3.4rem,18vw,5.5rem);filter:drop-shadow(0 6px 28px rgba(5,8,23,.9));position:relative;z-index:2}
@media(min-width:576px){.hero h1{font-size:clamp(5rem,16vw,9rem)}}
@media(min-width:992px){.hero h1{font-size:clamp(7rem,10.3vw,12.5rem)}}
.hline{display:block;overflow:hidden;padding:.02em 0 .04em}
.hline>span{display:block;width:fit-content;transform:translateY(108%);animation:rise 1s var(--ease) forwards}
.hline:nth-child(1)>span{animation-delay:.1s}.hline:nth-child(2)>span{animation-delay:.24s}.hline:nth-child(3)>span{animation-delay:.38s}
@keyframes rise{to{transform:none}}
.hero-copy{position:relative;z-index:2;max-width:36rem;margin-top:2rem;opacity:0;animation:fadeup .8s .9s forwards}
@keyframes fadeup{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.hero-copy p{color:var(--muted);font-size:1rem;line-height:1.7}
@media(min-width:576px){.hero-copy p{font-size:1.125rem}}
.hero-net{order:3;margin-top:2.5rem;position:relative;z-index:0}
@media(min-width:992px){.hero-net{position:absolute;top:0;bottom:0;right:0;width:58%;margin:0}}
@media(min-width:1200px){.hero-net{width:54%}}
.hero-text{order:1;position:relative;z-index:2}
@media(min-width:992px){.hero-text{pointer-events:none}.hero-copy{pointer-events:auto}}
.scroll-cue{position:absolute;bottom:1.5rem;left:1.25rem;z-index:3;display:flex;align-items:center;gap:.75rem;font-size:.75rem;font-weight:700;letter-spacing:.2em;color:var(--muted)}
.scroll-cue:hover{color:#fff}
@media(min-width:576px){.scroll-cue{left:2rem}}@media(min-width:992px){.scroll-cue{left:3rem}}
.scroll-cue .bar{position:relative;display:block;width:1px;height:3rem;overflow:hidden;background:rgba(255,255,255,.2)}
.scroll-cue .bar i{position:absolute;inset:0;background:linear-gradient(180deg,var(--cyan),var(--pink));animation:cue 2.2s var(--ease) infinite}
.hero-cap{position:absolute;bottom:1.5rem;right:1.25rem;z-index:3;display:none;font-size:11px;font-weight:600;color:rgba(170,181,208,.7)}
@media(min-width:768px){.hero-cap{display:block}}@media(min-width:992px){.hero-cap{right:3rem}}

/* network */
.net{position:relative;width:100%;aspect-ratio:1/1}
@media(min-width:576px){.net{aspect-ratio:5/4}}
@media(min-width:992px){.net{aspect-ratio:auto;height:100%;padding:6rem 0}}
.net>svg{position:absolute;inset:0;width:100%;height:100%}
.net-hub{position:absolute;z-index:10;width:30%;left:50%;top:50%;transform:translate(-50%,-50%)}
@media(min-width:576px){.net-hub{width:26%}}
.net-hub .ring{position:absolute;inset:0;border-radius:1.5rem;border:1px solid rgba(0,217,255,.6);animation:pulse-ring 2.4s ease-out infinite}
.net-hub .ring.r2{border-color:rgba(255,0,212,.5);animation-delay:1.2s}
.hub-card{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;aspect-ratio:1/1;border-radius:1.5rem;background:rgba(11,16,38,.9);border:1px solid rgba(170,181,208,.16);box-shadow:0 0 80px -10px rgba(139,32,255,.9)}
.hub-card img{height:46%;width:auto}
.hub-card p{margin-top:7%;font-family:var(--font-display);font-weight:900;text-transform:uppercase;line-height:1;font-size:clamp(.8rem,1.9vw,1.55rem)}
.hub-card .bars{display:flex;gap:4px;margin-top:6%}.hub-card .bars i{width:12px;height:4px;border-radius:9px;background:linear-gradient(90deg,#009cff,#ff00d4)}
.net-node{position:absolute;z-index:5;transition:transform .35s ease-out}
.net-node .drift{animation:drift 7s ease-in-out infinite}
.net-node .tag{position:absolute;bottom:-8px;left:50%;transform:translateX(-50%);display:none;white-space:nowrap;border:1px solid rgba(255,255,255,.15);background:rgba(5,8,23,.9);border-radius:999px;padding:2px 10px;font-size:10px;font-weight:700;color:var(--muted)}
@media(min-width:576px){.net-node .tag{display:block}}
.net-node.m-hide{display:none}@media(min-width:576px){.net-node.m-hide{display:block}}
.net-node.d-hide{}@media(min-width:992px){.net-node.d-hide{display:none}.net-node.dimlg .drift{opacity:.6}}
.flow-line{stroke-dasharray:5 9;animation:flow 1.6s linear infinite}
.flow-line-slow{stroke-dasharray:3 8;animation:flow 2.6s linear infinite}
@keyframes flow{to{stroke-dashoffset:-28}}
@keyframes pulse-ring{0%{transform:scale(.8);opacity:.7}100%{transform:scale(2.4);opacity:0}}
.net-hub .ring{animation-name:pulse-ring-box}
@keyframes pulse-ring-box{0%{transform:scale(1);opacity:.7}100%{transform:scale(1.5);opacity:0}}
@keyframes drift{0%,100%{transform:translateY(0)}50%{transform:translateY(-7px)}}
@keyframes cue{0%{transform:translateY(-100%)}60%,100%{transform:translateY(100%)}}

/* ---------- dashboard preview ---------- */
.dash{overflow:hidden;border-radius:1.6rem;border:1px solid rgba(255,255,255,.15);background:#080c20;box-shadow:0 40px 120px -30px rgba(101,46,255,.7)}
.dash-chrome{display:flex;align-items:center;gap:.75rem;border-bottom:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);padding:.6rem 1rem}
.dash-chrome .lights{display:flex;gap:6px}.dash-chrome .lights i{width:10px;height:10px;border-radius:50%}
.dash-chrome .ttl{flex:1;min-width:0;text-align:center;font-size:11px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dash-body{display:flex;flex-direction:column;min-height:26rem}
@media(min-width:992px){.dash-body{flex-direction:row}}
.dash-tabs{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;padding:.5rem;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}
.dash-tabs::-webkit-scrollbar{display:none}
@media(min-width:992px){.dash-tabs{width:13rem;flex-direction:column;border-bottom:0;border-right:1px solid rgba(255,255,255,.1);padding:.75rem}}
.dash-tab{display:flex;align-items:center;gap:.65rem;min-height:2.5rem;flex-shrink:0;padding:0 .75rem;border-radius:.5rem;border:0;background:none;color:var(--muted);font-size:.875rem;font-weight:700;text-align:left;transition:.2s}
.dash-tab:hover{background:rgba(255,255,255,.08);color:#fff}
.dash-tab[aria-selected=true]{background-image:linear-gradient(110deg,#009cff,#652eff 55%,#d600f5);color:#fff}
.dash-main{flex:1;min-width:0;padding:1rem}
@media(min-width:576px){.dash-main{padding:1.25rem}}
.stat{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.05);border-radius:.75rem;padding:.75rem}
.stat b{display:block;font-family:var(--font-display);font-weight:900;font-size:2.25rem;line-height:1}
.stat span{font-size:.75rem;font-weight:600;color:var(--muted)}
.row-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;background:rgba(255,255,255,.04);border-radius:.5rem;padding:.5rem .75rem;font-size:.875rem}

/* ---------- feature bits ---------- */
.tile{display:block;width:100%;text-align:left;border:0;background:none;color:inherit;border-radius:1rem;padding:.4rem;transition:.3s}
.tile:hover{background:rgba(255,255,255,.05)}
.tile[aria-pressed=true]{background:rgba(255,255,255,.08);box-shadow:0 0 0 2px var(--cyan)}
.tile.sel[aria-pressed=true]{background:rgba(0,217,255,.1)}
.tile.dimmed:not([aria-pressed=true]){opacity:.65}.tile.dimmed:hover{opacity:1}
.tile .nm{display:block;margin-top:.4rem;padding:0 .25rem;font-weight:700;font-size:.75rem}
.tile .sub{display:block;padding:0 .25rem;font-size:11px;color:var(--muted)}
.check-list li{display:flex;gap:.75rem;align-items:flex-start;font-size:.875rem;font-weight:600;margin-bottom:.65rem}
.check-list li svg{flex-shrink:0;margin-top:3px;color:var(--cyan)}
.bar-track{height:6px;border-radius:9px;background:rgba(255,255,255,.15);overflow:hidden}
.bar-fill{height:100%;border-radius:9px;background-image:linear-gradient(110deg,#009cff,#652eff 55%,#d600f5);transition:width .2s linear}
.icon-btn{display:grid;place-items:center;width:2rem;height:2rem;border-radius:.4rem;border:1px solid rgba(255,255,255,.15);background:none;color:var(--muted)}
.icon-btn:hover:not(:disabled){color:#fff}.icon-btn:disabled{opacity:.3}
.search{min-height:2.75rem;width:100%;border-radius:.75rem;border:1px solid rgba(255,255,255,.15);background:rgba(5,8,23,.7);padding:0 .75rem 0 2.25rem;color:#fff;font-size:.875rem}
.search::placeholder{color:rgba(170,181,208,.7)}.search:focus{border-color:var(--cyan);background:rgba(5,8,23,.7);color:#fff}
.note-warn{display:flex;gap:1rem;border:1px solid rgba(252,211,77,.4);background:rgba(252,211,77,.07);border-radius:1rem;padding:1.25rem}
.pl-item{display:flex;align-items:center;gap:.75rem;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);border-radius:.75rem;padding:.5rem;transition:.2s}
.pl-item.now{border-color:rgba(0,217,255,.7);background:rgba(0,217,255,.1)}
.sched-row{display:flex;align-items:center;gap:.5rem}
.sched-track{position:relative;height:2rem;flex:1;border-radius:.5rem;background:rgba(255,255,255,.05)}
.sched-track .gl{position:absolute;top:0;bottom:0;width:1px;background:rgba(255,255,255,.08)}
.sched-blk{position:absolute;top:4px;bottom:4px;border:0;border-radius:6px;opacity:.8;transition:.2s}
.sched-blk:hover{opacity:1}.sched-blk[aria-pressed=true]{opacity:1;box-shadow:0 0 0 2px #fff}
.blk-card{text-align:left;width:100%;border:1px solid rgba(255,255,255,.1);border-radius:1rem;background:none;color:inherit;padding:1rem;transition:.2s}
.blk-card:hover{border-color:rgba(255,255,255,.3)}.blk-card[aria-pressed=true]{border-color:rgba(255,255,255,.6)}
.assign-card{border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.03);border-radius:1rem;padding:.75rem;transition:.2s;height:100%}
.assign-card.has{border-color:rgba(0,217,255,.6);background:rgba(0,217,255,.06)}
.prio{display:flex;align-items:center;gap:.5rem;background:rgba(255,255,255,.05);border-radius:.5rem;padding:.35rem .6rem;font-size:.875rem;margin-bottom:.4rem}
.prio .n{display:grid;place-items:center;width:1.5rem;height:1.5rem;border-radius:.4rem;font-size:11px;font-weight:800;background-image:linear-gradient(110deg,#009cff,#652eff 55%,#d600f5)}
.btn-small-line{min-height:2.5rem;border-radius:999px;border:1px solid rgba(0,217,255,.6);color:var(--cyan);background:none;padding:0 .75rem;font-size:.75rem;font-weight:800}
.btn-small-line:hover{background:rgba(0,217,255,.1)}.btn-small-line.rm{border-color:rgba(253,164,175,.5);color:#fecdd3}.btn-small-line.rm:hover{background:rgba(253,164,175,.1)}
.loc-card{display:flex;gap:.75rem;border:1px solid rgba(255,255,255,.1);background:rgba(11,16,38,.9);border-radius:1rem;padding:.75rem;height:100%}
.sync-step{border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:.75rem;transition:.3s;height:100%}
.sync-step.on{border-color:rgba(0,217,255,.6);background:rgba(0,217,255,.1)}
.sync-step b{display:block;font-family:var(--font-display);font-weight:900;font-size:1.9rem;line-height:1.1;color:var(--muted)}
.sync-step.on b{color:var(--cyan)}
.dev-box{border:1px solid rgba(255,255,255,.1);border-radius:1rem;padding:.5rem;transition:.3s;height:100%}
.dev-box.waiting{border-color:rgba(253,164,175,.5)}.dev-box.updated{border-color:rgba(0,217,255,.6)}
.btn-line{display:inline-flex;align-items:center;gap:.5rem;min-height:2.75rem;padding:0 1.25rem;border-radius:999px;border:1px solid rgba(255,255,255,.2);background:none;color:#fff;font-weight:700;font-size:.875rem}
.btn-line:hover{border-color:var(--cyan)}

/* offline */
.off-sec{background:#04061a}
.tone-ok{border-color:rgba(52,211,153,.5)!important;background:rgba(52,211,153,.1);color:#a7f3d0}
.tone-bad{border-color:rgba(251,113,133,.6)!important;background:rgba(251,113,133,.1);color:#fecdd3}
.tone-warn{border-color:rgba(252,211,77,.6)!important;background:rgba(252,211,77,.1);color:#fef3c7}
.tone-info{border-color:rgba(0,217,255,.6)!important;background:rgba(0,217,255,.1);color:var(--cyan)}
.stage{height:100%;width:100%;text-align:left;border:1px solid rgba(255,255,255,.1);border-radius:.75rem;padding:.75rem;background:none;color:var(--muted);transition:.2s}
.stage:hover{border-color:rgba(255,255,255,.3)}
.stage b{display:block;font-family:var(--font-display);font-weight:900;font-size:1.9rem;line-height:1.1}
.stage span{display:block;font-size:.875rem;font-weight:800;line-height:1.2}
.stage[aria-current=step]{color:inherit}
.stat-pill{display:inline-flex;align-items:center;gap:.5rem;border:1px solid;border-radius:999px;padding:.25rem .75rem;font-size:.75rem;font-weight:800}
.abcde{height:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);border-radius:1rem;padding:1rem;display:flex;flex-direction:column}
.abcde .k{font-family:var(--font-display);font-weight:900;font-size:2.25rem;line-height:1;color:var(--muted)}
.abcde .tg{border:1px solid;border-radius:999px;padding:.25rem .65rem;font-size:11px;font-weight:800}
.cond{border-bottom:1px solid rgba(255,255,255,.12)}
.cond:first-child{border-top:1px solid rgba(255,255,255,.12)}
.cond-btn{display:flex;width:100%;align-items:flex-start;gap:1rem;padding:1.25rem 0;background:none;border:0;color:#fff;text-align:left}
.cond-btn .n{width:1.5rem;flex-shrink:0;font-family:var(--font-display);font-weight:900;font-size:1.9rem;line-height:1.1;color:var(--violet)}
.cond-btn .tx{flex:1;font-size:1rem;font-weight:700;line-height:1.4}
@media(min-width:576px){.cond-btn .tx{font-size:1.125rem}}
.cond-btn .chev{flex-shrink:0;margin-top:4px;color:var(--muted);transition:transform .3s}
.cond-btn[aria-expanded=true] .chev{transform:rotate(180deg);color:var(--cyan)}
.cond-note{padding:0 0 1.25rem 2.5rem;font-size:.9rem;line-height:1.7;color:var(--muted)}
@media(min-width:576px){.cond-note{font-size:1rem}}

/* industries */
.spot{position:relative;min-height:26rem;overflow:hidden;border-radius:2rem;border:1px solid rgba(255,255,255,.15);padding:1.5rem}
@media(min-width:576px){.spot{padding:2.25rem}}
@media(min-width:992px){.spot{min-height:34rem}}
.spot .shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(5,8,23,.9),rgba(5,8,23,.3) 60%,rgba(5,8,23,.1))}
.spot-in{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:2rem;min-height:22rem;animation:fadeup .4s}
@media(min-width:992px){.spot-in{min-height:28rem}}
.spot-screen{margin:0 auto;width:88%;max-width:36rem;transform:rotate(-2deg);filter:drop-shadow(0 30px 60px rgba(5,8,23,.7))}
@media(min-width:576px){.spot-screen{width:70%}}
.ind-tab{display:flex;align-items:center;gap:1rem;min-height:3.5rem;width:100%;text-align:left;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.03);border-radius:1rem;padding:0 1rem;color:#fff;transition:.2s}
.ind-tab:hover{background:rgba(255,255,255,.07)}
.ind-tab[aria-selected=true]{background-image:linear-gradient(110deg,#009cff,#652eff 55%,#d600f5);border-color:transparent}
.ind-tab .scr{width:2.5rem;flex-shrink:0}
.ind-tab span.nm{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:1.9rem;line-height:1}

/* how it works */
.steps{position:relative;display:grid;gap:2.5rem;margin-top:4rem}
@media(min-width:992px){.steps{grid-template-columns:repeat(6,1fr);gap:1.5rem}}
.step{position:relative;padding-left:3rem}
@media(min-width:992px){.step{padding-left:0}}
.step .num{position:absolute;left:0;top:4px;display:grid;place-items:center;width:2.25rem;height:2.25rem;border-radius:50%;border:2px solid var(--violet);background:var(--navy);font-family:var(--font-display);font-weight:900;font-size:1.25rem}
@media(min-width:992px){.step .num{position:relative;top:auto;width:4.2rem;height:4.2rem;font-size:2.25rem}.step h3{margin-top:1.25rem;font-size:2.6rem!important}}
.step h3{font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:2.25rem;line-height:.9}
.rail-h,.rail-v{position:absolute;background:rgba(255,255,255,.12)}
.rail-h{display:none;left:0;right:0;top:2.1rem;height:1px}
.rail-h i{position:absolute;left:0;right:0;top:-.5px;height:2px;background-image:linear-gradient(110deg,#009cff,#652eff 55%,#d600f5);transform-origin:left;transform:scaleX(0);transition:transform 1.8s ease-out}
.rail-v{left:1.05rem;top:.75rem;bottom:.75rem;width:1px}
.rail-v i{position:absolute;left:-.5px;top:0;bottom:0;width:2px;background:linear-gradient(180deg,#009cff,#ff00d4);transform-origin:top;transform:scaleY(0);transition:transform 1.8s ease-out}
.steps.go .rail-h i{transform:scaleX(1)}.steps.go .rail-v i{transform:scaleY(1)}
@media(min-width:992px){.rail-h{display:block}.rail-v{display:none}}

/* CTA */
.cta{position:relative;overflow:hidden;padding:5rem 0;background:linear-gradient(115deg,#174bff 0%,#652eff 42%,#d600f5 80%,#ff00d4 100%)}
@media(min-width:576px){.cta{padding:7rem 0}}
.cta::before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 0%,rgba(0,217,255,.45),transparent 55%)}
.cta .big{max-width:64rem;font-family:var(--font-display);font-weight:900;line-height:.86;text-transform:uppercase;font-size:clamp(3rem,9vw,8rem)}
.cta .big span{color:var(--navy)}
.btn-px.on-grad{border-color:rgba(255,255,255,.6)}.btn-px.on-grad:hover{border-color:#fff;color:#fff}

/* contact + footer */
.c-card{display:flex;flex-direction:column;justify-content:space-between;min-height:6rem;height:100%;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);border-radius:1rem;padding:1rem;transition:.25s}
.c-card:hover{border-color:var(--cyan);background:rgba(255,255,255,.08)}
.c-card small{display:block;font-size:.75rem;font-weight:700;color:var(--muted)}
.c-card strong{display:block;font-weight:800;word-break:break-word}
.fld{display:block;font-size:.875rem;font-weight:700;margin-top:1rem}
.fld .form-control{margin-top:.4rem;min-height:3rem;background:rgba(5,8,23,.7);border:1px solid rgba(255,255,255,.18);border-radius:.75rem;color:#fff;padding:0 1rem}
.fld textarea.form-control{padding:.75rem 1rem}
.fld .form-control:focus{border-color:var(--cyan);background:rgba(5,8,23,.7);color:#fff}
.fld .form-control.is-bad{border-color:#fb7185}
.fld .err{display:block;margin-top:.25rem;font-size:.75rem;font-weight:600;color:#fda4af}
footer.px-footer{position:relative;overflow:hidden;background:var(--navy);padding-top:5rem}
footer.px-footer::before{content:"";position:absolute;left:0;right:0;bottom:0;height:66%;pointer-events:none;background:radial-gradient(ellipse at 50% 100%,rgba(139,32,255,.35),transparent 65%)}
.f-h{margin-bottom:1rem;font-size:.75rem;font-weight:800;letter-spacing:.18em;color:var(--muted)}
.f-a{display:inline-flex;align-items:center;min-height:2rem;font-size:.875rem;font-weight:600;color:rgba(255,255,255,.85);transition:.2s}
.f-a:hover{color:var(--cyan)}
.f-big{margin-top:4rem;font-family:var(--font-display);font-weight:900;text-transform:uppercase;font-size:clamp(3.2rem,12.5vw,13rem);line-height:.85;user-select:none}
.f-bottom{margin-top:2.5rem;display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;border-top:1px solid rgba(255,255,255,.12);padding:1.5rem 0;padding-bottom:max(1.5rem,env(safe-area-inset-bottom));font-size:.75rem;color:var(--muted)}
address{margin:0}

@media(prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .flow-line,.flow-line-slow{stroke-dasharray:none}
  .js .rv{opacity:1;transform:none}
  .hline>span{transform:none}.hero-copy{opacity:1}
}

/* ---------- responsive guards ---------- */
.steps>*{min-width:0}
@media(max-width:575.98px){.wrap .row.g-5,.wrap .row.g-4{--bs-gutter-x:1.5rem}}
@media(min-width:992px) and (max-width:1199.98px){.step h3{font-size:2rem!important}}
.row>*{min-width:0}
