/* Gizmo Network Manager product page. Loaded after site.css; uses its colour variables. */
:root{--gz:#3ddc6a;--gz-d:#1f9d48;--glow1:rgba(61,220,106,.22);--glow2:rgba(232,185,49,.14);--ic:#cfd8e6;--ic2:#8fa1bf;--scr:#2fcf5a;--ring:rgba(61,220,106,.22);--shadow:0 18px 40px rgba(0,0,0,.45)}
@media (prefers-color-scheme:light){:root{--gz:#1f8f3d;--gz-d:#176f2f;--glow1:rgba(47,170,80,.2);--glow2:rgba(232,185,49,.22);--ic:#8d9bb2;--ic2:#5f6f89;--scr:#2fb455;--ring:rgba(31,143,61,.25);--shadow:0 16px 34px rgba(60,50,10,.18)}}

.gnm h1{font-size:2.7rem;letter-spacing:-.01em}
.gnm .grad{color:var(--gold);background:linear-gradient(95deg,var(--gold) 10%,var(--gz) 90%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}
.gnm h2{font-size:1.5rem;margin:56px 0 14px}
.gnm h2 small{display:block;font-size:.8rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gz);margin-bottom:4px}
.eyebrow{display:inline-block;font-size:.78rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gz);border:1px solid var(--gz-d);border-radius:999px;padding:2px 12px;margin:0 0 14px}

/* hero */
.stage-hero{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:18px;padding:34px 30px 26px;
  background:radial-gradient(110% 90% at 88% 6%,var(--glow1),transparent 60%),radial-gradient(90% 80% at 0% 100%,var(--glow2),transparent 55%),var(--panel)}
.stage-hero .cols{display:grid;grid-template-columns:1fr 1.08fr;gap:20px;align-items:center}
.stage-hero .lead{max-width:44ch}
.art{position:relative}
.art svg{width:100%;height:auto;display:block;overflow:visible}
.art .robot{position:absolute;right:-4px;bottom:-6px;width:30%;max-width:140px;border-radius:10px;border:3px solid var(--gold);box-shadow:var(--shadow);transform:rotate(3deg);background:#fff}
.art .robot img{display:block;width:100%;height:auto;border-radius:6px}

/* hero drawing (inline SVG) */
.ring{fill:none;stroke:var(--ring);stroke-width:1.2}
.link{stroke:var(--gz);stroke-width:2.4;stroke-linecap:round;fill:none;opacity:.8;stroke-dasharray:3 9;animation:flow 1.6s linear infinite}
.link.slow{opacity:.35;animation:none;stroke-dasharray:none}
.plat{fill:var(--scr);fill-opacity:.2;stroke:var(--gz);stroke-width:2}
.ic{fill:var(--ic)}.ic2{fill:var(--ic2)}.scr{fill:var(--scr)}.gold{fill:var(--gold)}
.globe{fill:#2c78d6}.gl{fill:none;stroke:#bcd9ff;stroke-width:1.4}
.ok{fill:var(--gz-d);stroke:#fff;stroke-width:1.5}.warn{fill:#e8892f;stroke:#fff;stroke-width:1.5}
.tick{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lbl{fill:var(--muted);font:600 15px system-ui,sans-serif;text-anchor:middle}
.bob{animation:bob 6s ease-in-out infinite}
.pulse{fill:none;stroke:var(--gz);stroke-width:2;transform-box:fill-box;transform-origin:center;animation:pulse 3.6s ease-out infinite}
@keyframes flow{to{stroke-dashoffset:-24}}
@keyframes bob{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes pulse{0%{transform:scale(.4);opacity:.9}100%{transform:scale(2.4);opacity:0}}

/* window frame around screenshots */
.shot{position:relative;border:1px solid var(--line);border-radius:12px;background:var(--shot);padding:0;overflow:hidden;box-shadow:var(--shadow)}
.shot::before{content:"";display:block;height:22px;background:var(--panel);border-bottom:1px solid var(--line);
  background-image:radial-gradient(circle,#e5534b 4px,transparent 5px),radial-gradient(circle,#e8b931 4px,transparent 5px),radial-gradient(circle,#3ddc6a 4px,transparent 5px);
  background-size:18px 22px,18px 22px,18px 22px;background-position:8px 0,26px 0,44px 0;background-repeat:no-repeat}
.shot img{display:block;width:100%;height:auto}
.shot.tilt{transition:transform .4s ease,box-shadow .4s ease}
.shot.tilt:hover{transform:translateY(-4px) scale(1.01)}
.shot-cap{margin:8px 2px 0;color:var(--muted);font-size:.86rem}
.slideshow.tall .stage{aspect-ratio:9/7;max-height:78vh}

/* feature rows */
.feat{display:grid;grid-template-columns:1fr 1.15fr;gap:30px;align-items:center;margin:30px 0}
.feat.rev{grid-template-columns:1.15fr 1fr}
.feat.rev .txt{order:2}
.feat h3{font-size:1.3rem;color:var(--text);margin:0 0 8px}
.feat p{color:var(--muted);margin:0 0 10px}
.feat ul{margin:8px 0 0;padding:0;list-style:none}
.feat li{position:relative;padding-left:26px;margin:6px 0;color:var(--text)}
.feat li::before{content:"";position:absolute;left:2px;top:.5em;width:12px;height:7px;border-left:2.5px solid var(--gz);border-bottom:2.5px solid var(--gz);transform:rotate(-45deg)}
.stack{position:relative;padding-bottom:16%}
.stack .shot.b{position:absolute;width:56%;right:-8px;bottom:0;border:2px solid var(--gold-d)}
.grid.three{grid-template-columns:repeat(3,1fr)}

/* steps */
.steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:14px;counter-reset:s;margin-top:10px}
.step{position:relative;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:22px 18px 16px;counter-increment:s}
.step::before{content:counter(s);position:absolute;top:-16px;left:16px;width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,var(--gold),var(--gz));color:#10200f;font-weight:800;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 12px rgba(0,0,0,.3)}
.step h3{color:var(--text)}
.step p{margin:0;color:var(--muted);font-size:.94rem}

/* safety cards */
.gnm .card h3{color:var(--gz)}
.card.glow{position:relative;overflow:hidden}
.card.glow::after{content:"";position:absolute;inset:auto -30% -60% auto;width:70%;height:90%;background:radial-gradient(circle,var(--glow1),transparent 70%);pointer-events:none}

/* now / next */
.two{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.tick-list,.todo-list{margin:8px 0 0;padding:0;list-style:none}
.tick-list li,.todo-list li{position:relative;padding-left:26px;margin:7px 0}
.tick-list li::before{content:"";position:absolute;left:2px;top:.5em;width:12px;height:7px;border-left:2.5px solid var(--gz);border-bottom:2.5px solid var(--gz);transform:rotate(-45deg)}
.todo-list li::before{content:"";position:absolute;left:2px;top:.45em;width:11px;height:11px;border:2px dashed var(--gold-d);border-radius:50%}
.panel-box h3{font-size:1.1rem}

/* FAQ */
details{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:2px 16px;margin:0 0 10px}
summary{cursor:pointer;font-weight:700;padding:12px 0;list-style:none;position:relative;padding-right:26px}
summary::-webkit-details-marker{display:none}
summary::after{content:"+";position:absolute;right:2px;top:9px;color:var(--gold);font-size:1.3rem;font-weight:700}
details[open] summary::after{content:"\2013"}
details p{margin:0 0 14px;color:var(--muted)}
summary:focus-visible{outline:2px solid var(--gold);outline-offset:2px;border-radius:6px}

/* soft scroll reveal (only when the script runs) */
.rv .reveal{opacity:0;transform:translateY(20px);transition:opacity .6s ease,transform .6s ease}
.rv .reveal.in{opacity:1;transform:none}

@media (max-width:760px){
 .gnm h1{font-size:2.1rem}
 .stage-hero{padding:24px 18px 20px}
 .stage-hero .cols,.feat,.feat.rev,.two{grid-template-columns:1fr}
 .feat.rev .txt{order:0}
 .grid.three{grid-template-columns:1fr}
 .stack{padding-bottom:22%}
 .art .robot{width:30%;right:0}
}
@media (prefers-reduced-motion:reduce){
 .link,.bob,.pulse{animation:none}
 .rv .reveal{opacity:1;transform:none;transition:none}
 .shot.tilt{transition:none}.shot.tilt:hover{transform:none}
}
