/* Vision demo section (SiteQuilt) — loaded only on /modules/vision-existing-cameras */
.vd{background:radial-gradient(1200px 600px at 80% -10%,rgba(241,145,42,.18),transparent 60%),radial-gradient(900px 500px at -10% 110%,rgba(56,189,248,.10),transparent 60%),var(--navy-deep)}
.vd .section-head h2{color:var(--on-dark)}
.vd .eyebrow{color:var(--accent)}
.vd-console{display:grid;grid-template-columns:1.35fr 1fr;gap:20px;align-items:stretch}
.vd-panel{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.10);border-radius:var(--radius);box-shadow:var(--shadow-lg);overflow:hidden}
.vd-bar{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);font-size:.85rem;color:var(--on-dark-muted)}
.vd-bar b{color:var(--on-dark);font-weight:700}
.vd-live{display:inline-flex;align-items:center;gap:8px;font-weight:700;color:#4ade80;font-size:.78rem;letter-spacing:.04em;text-transform:uppercase}
.vd-live::before{content:"";width:9px;height:9px;border-radius:50%;background:#4ade80;box-shadow:0 0 0 0 rgba(74,222,128,.7);animation:vd-pulse 1.8s infinite}
.vd-scene{position:relative;aspect-ratio:16/10;background:linear-gradient(160deg,#1c2a3f 0%,#0f1b2c 55%,#0a1422 100%);overflow:hidden}
.vd-scene::before{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.035) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.035) 1px,transparent 1px);background-size:32px 32px}
.vd-scan{position:absolute;left:0;right:0;height:2px;top:0;background:linear-gradient(90deg,transparent,rgba(241,145,42,.9),transparent);box-shadow:0 0 18px rgba(241,145,42,.7);animation:vd-scan 4.5s linear infinite}
.vd-zone{position:absolute;border:2px dashed rgba(56,189,248,.75);background:rgba(56,189,248,.07);border-radius:10px}
.vd-zone>span{position:absolute;top:-1px;left:-1px;transform:translateY(-100%);background:rgba(56,189,248,.9);color:#04111f;font-size:.7rem;font-weight:800;padding:3px 8px;border-radius:6px 6px 0 0;white-space:nowrap}
.vd-z1{left:5%;top:14%;width:44%;height:52%}
.vd-z2{left:55%;top:14%;width:40%;height:34%}
.vd-z3{left:55%;top:62%;width:40%;height:28%;border-color:rgba(248,113,113,.85);background:rgba(248,113,113,.08)}
.vd-z3>span{background:rgba(248,113,113,.95)}
.vd-slots{position:absolute;inset:14% 6% 10%;display:grid;grid-template-columns:repeat(4,1fr);gap:6px}
.vd-slots i{border-radius:6px;background:rgba(241,145,42,.55);border:1px solid rgba(255,255,255,.18)}
.vd-slots i.e{background:transparent;border:2px solid #f87171;animation:vd-blink 1.6s infinite}
.vd-box{position:absolute;border:2px solid #4ade80;border-radius:6px;animation:vd-in .6s both}
.vd-box>span{position:absolute;left:-2px;bottom:100%;margin-bottom:2px;background:#4ade80;color:#05210f;font-size:.68rem;font-weight:800;padding:2px 6px;border-radius:4px;white-space:nowrap}
.vd-b1{left:11%;top:26%;width:30%;height:32%;animation-delay:.4s}
.vd-b2{left:61%;top:70%;width:20%;height:14%;border-color:#f87171;animation-delay:1.2s}
.vd-b2>span{background:#f87171;color:#2a0606;bottom:auto;top:100%;margin:2px 0 0}
.vd-tag{position:absolute;right:10px;bottom:10px;font-size:.68rem;font-weight:700;color:#fff;background:rgba(241,145,42,.92);padding:4px 8px;border-radius:6px}
.vd-feed{display:flex;flex-direction:column}
.vd-list{list-style:none;margin:0;padding:8px 10px;display:flex;flex-direction:column;gap:8px;flex:1}
.vd-ev{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);border-left:4px solid #94a3b8;animation:vd-in .5s both}
.vd-ev:nth-child(1){animation-delay:.3s}.vd-ev:nth-child(2){animation-delay:.8s}.vd-ev:nth-child(3){animation-delay:1.3s}.vd-ev:nth-child(4){animation-delay:1.8s}.vd-ev:nth-child(5){animation-delay:2.4s}
.vd-ev time{font-variant-numeric:tabular-nums;color:var(--on-dark-muted);font-size:.8rem;grid-row:span 2;padding-top:2px}
.vd-ev b{color:var(--on-dark);font-size:.92rem}
.vd-ev code{font-size:.68rem;color:#93c5fd;background:none;padding:0;letter-spacing:.02em}
.vd-ev.m{border-left-color:#facc15}.vd-ev.h{border-left-color:#fb923c}.vd-ev.c{border-left-color:#f87171;background:rgba(248,113,113,.10)}
.vd-wa{margin:0 10px 10px;padding:10px 12px;border-radius:12px;background:rgba(74,222,128,.12);border:1px solid rgba(74,222,128,.35);color:#bbf7d0;font-size:.84rem;animation:vd-in .5s 3s both}
.vd-acts{display:flex;gap:8px;flex-wrap:wrap;padding:0 10px 12px}
.vd-acts span{font-size:.75rem;font-weight:700;padding:6px 10px;border-radius:999px;border:1px solid rgba(255,255,255,.18);color:var(--on-dark)}
.vd-acts span:first-child{background:var(--accent);border-color:var(--accent);color:#1b0f02}
.vd-health{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.vd-health div{flex:1 1 130px;padding:12px 14px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08)}
.vd-health small{display:block;color:var(--on-dark-muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}
.vd-health strong{color:var(--on-dark);font-size:1.25rem}
.vd-health .ok{color:#4ade80}
.vd-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:44px 0 0;padding:0;list-style:none;counter-reset:vd}
.vd-flow li{position:relative;padding:18px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);color:var(--on-dark-muted);font-size:.9rem;counter-increment:vd}
.vd-flow li::before{content:counter(vd);display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--accent);color:#1b0f02;font-weight:800;margin-bottom:10px}
.vd-flow li b{display:block;color:var(--on-dark);margin-bottom:4px}
.vd-flow li:not(:last-child)::after{content:"→";position:absolute;right:-13px;top:50%;transform:translateY(-50%);color:var(--accent);font-weight:800}
.vd-caps{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:28px}
.vd-cap{padding:20px;border-radius:14px;background:linear-gradient(180deg,rgba(255,255,255,.06),rgba(255,255,255,.02));border:1px solid rgba(255,255,255,.10)}
.vd-cap h3{color:var(--on-dark);font-size:1.02rem;margin:0 0 6px}
.vd-cap p{margin:0;font-size:.9rem;color:var(--on-dark-muted)}
.vd-custom{margin-top:34px;display:grid;grid-template-columns:1.4fr 1fr;gap:24px;align-items:center;padding:28px;border-radius:var(--radius);background:linear-gradient(120deg,rgba(241,145,42,.22),rgba(241,145,42,.06));border:1px solid rgba(241,145,42,.45)}
.vd-custom h3{color:var(--on-dark);font-size:1.5rem;margin:0 0 8px}
.vd-custom p{margin:0 0 12px;color:var(--on-dark-muted)}
.vd-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0;padding:0;list-style:none}
.vd-chips li{font-size:.8rem;padding:6px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--on-dark)}
.vd-custom .hero-ctas{justify-content:flex-end;margin:0}
.vd-fine{margin:18px 0 0;font-size:.78rem;color:var(--on-dark-muted);text-align:center}
@keyframes vd-scan{0%{top:0}100%{top:100%}}
@keyframes vd-pulse{0%{box-shadow:0 0 0 0 rgba(74,222,128,.7)}70%{box-shadow:0 0 0 10px rgba(74,222,128,0)}100%{box-shadow:0 0 0 0 rgba(74,222,128,0)}}
@keyframes vd-blink{50%{opacity:.35}}
@keyframes vd-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media (max-width:900px){.vd-console,.vd-custom{grid-template-columns:1fr}.vd-flow{grid-template-columns:1fr 1fr}.vd-flow li::after{display:none}.vd-caps{grid-template-columns:1fr}.vd-custom .hero-ctas{justify-content:flex-start}}
@media (prefers-reduced-motion:reduce){.vd *,.vd *::before{animation:none!important}}
.vd-b1::after{content:"";position:absolute;inset:14% 22%;border-radius:50%;background:radial-gradient(circle at 35% 40%,#c0392b 0 7%,transparent 8%),radial-gradient(circle at 62% 58%,#c0392b 0 7%,transparent 8%),radial-gradient(circle at 58% 30%,#2e7d32 0 5%,transparent 6%),radial-gradient(circle at 38% 66%,#f4d03f 0 6%,transparent 7%),radial-gradient(circle,#f5c26b 0 62%,#c8813a 63% 72%,transparent 73%);box-shadow:0 0 0 6px rgba(255,255,255,.10)}
.vd-b2::after{content:"";position:absolute;right:-30%;top:-40%;width:22%;height:180%;background:linear-gradient(90deg,rgba(203,213,225,.35),rgba(203,213,225,.12));transform:skewY(-12deg);border-radius:3px}
.vd-slots i:not(.e){background:radial-gradient(circle at 50% 55%,#f5c26b 0 45%,#c8813a 46% 55%,rgba(241,145,42,.25) 56%)}
.vd-console>.vd-panel:first-child{display:flex;flex-direction:column}.vd-console>.vd-panel:first-child .vd-scene{flex:1;aspect-ratio:auto;min-height:320px}
.vd-video{margin:0 0 20px}
.vd-video video{display:block;width:100%;height:auto;aspect-ratio:16/9;background:#07111f}
.vd-video .vd-bar span:last-child{color:var(--accent);font-weight:700}
.sq-fiscal-note{margin:28px auto 0;max-width:900px;font-weight:600}
