{"product_id":"sgp-flock-camera","title":"SGP Flock Camera","description":"\u003cstyle\u003e\n\/* ===== SGP FLOCK · product description (scoped under .sgpf, self-contained, no JS) ===== *\/\n.sgpf{\n  --bg:#05080a; --panel:#0a1317; --panel-2:#0c1a1e;\n  --line:rgba(90,255,178,.20); --line-2:rgba(90,255,178,.09);\n  --fg:#d8f7ea; --dim:#77a294; --dimmer:#4a6a60;\n  --green:#39ff9e; --amber:#ffb000; --cyan:#33e1ff; --red:#ff5a63; --violet:#c99bff;\n  --mono:ui-monospace,\"SFMono-Regular\",\"JetBrains Mono\",Menlo,Consolas,monospace;\n  --sans:\"Helvetica Neue\",Helvetica,Arial,system-ui,sans-serif;\n  all:initial; display:block; box-sizing:border-box;\n  font-family:var(--sans); color:var(--fg); line-height:1.6;\n  background:var(--bg);\n  max-width:900px; margin:0 auto; padding:0;\n  border-radius:2px;\n}\n.sgpf *{box-sizing:border-box; margin:0; padding:0; font-family:inherit}\n.sgpf .frame{\n  position:relative; overflow:hidden;\n  background:\n    radial-gradient(120% 80% at 50% -10%, rgba(57,255,158,.06), transparent 60%),\n    linear-gradient(180deg,#060a0c,#05080a);\n  border:1px solid var(--line);\n  padding:clamp(26px,5vw,54px) clamp(20px,4.5vw,50px);\n}\n\/* faint grid + scanlines *\/\n.sgpf .frame::before{\n  content:\"\"; position:absolute; inset:0; pointer-events:none; opacity:.5;\n  background:\n    linear-gradient(var(--line-2) 1px,transparent 1px) 0 0\/44px 44px,\n    linear-gradient(90deg,var(--line-2) 1px,transparent 1px) 0 0\/44px 44px;\n  -webkit-mask-image:radial-gradient(120% 90% at 50% 30%,#000 55%,transparent);\n          mask-image:radial-gradient(120% 90% at 50% 30%,#000 55%,transparent);\n}\n.sgpf .frame::after{\n  content:\"\"; position:absolute; inset:0; pointer-events:none; opacity:.35; mix-blend-mode:overlay;\n  background:repeating-linear-gradient(0deg,transparent 0 2px,rgba(0,0,0,.5) 2px 3px);\n}\n\/* corner brackets *\/\n.sgpf .br{position:absolute; width:20px; height:20px; border:1px solid var(--green); opacity:.6; z-index:3}\n.sgpf .br.tl{top:9px; left:9px; border-right:0; border-bottom:0}\n.sgpf .br.tr{top:9px; right:9px; border-left:0; border-bottom:0}\n.sgpf .br.bl{bottom:9px; left:9px; border-right:0; border-top:0}\n.sgpf .br.br2{bottom:9px; right:9px; border-left:0; border-top:0}\n\n.sgpf .in{position:relative; z-index:2}\n\n\/* ---- hero ---- *\/\n.sgpf .hero{position:relative; text-align:center; padding-bottom:22px; margin-bottom:30px; border-bottom:1px solid var(--line-2)}\n.sgpf .eyebrow{font-family:var(--mono); font-size:11px; letter-spacing:.32em; color:var(--dim); text-transform:uppercase}\n.sgpf .wm{font-family:var(--sans); font-weight:800; font-size:clamp(40px,9vw,74px); line-height:.95;\n  letter-spacing:.06em; margin:14px 0 6px; text-wrap:balance}\n.sgpf .wm .sgp{\n  background:linear-gradient(180deg,#f7fafb 0%,#c6d2d4 40%,#78878a 56%,#f0f4f5 72%,#96a5a7 100%);\n  -webkit-background-clip:text; background-clip:text; -webkit-text-fill-color:transparent; color:transparent;\n  filter:drop-shadow(0 1px 0 rgba(0,0,0,.6));\n}\n.sgpf .wm .flock{color:var(--green); text-shadow:0 0 18px rgba(57,255,158,.45); animation:sgpf-pulse 3.4s ease-in-out infinite}\n.sgpf .tagline{font-size:clamp(15px,2.4vw,19px); color:var(--fg); max-width:34ch; margin:0 auto 18px; text-wrap:balance}\n.sgpf .chip{display:inline-flex; align-items:center; gap:9px; font-family:var(--mono); font-size:11px; letter-spacing:.18em;\n  color:var(--green); border:1px solid var(--line); border-radius:999px; padding:6px 14px; background:rgba(57,255,158,.05)}\n.sgpf .chip .dot{width:7px; height:7px; border-radius:50%; background:var(--green); box-shadow:0 0 8px var(--green); animation:sgpf-blink 1.4s steps(2) infinite}\n.sgpf .scan{position:absolute; left:0; right:0; top:0; height:2px;\n  background:linear-gradient(90deg,transparent,var(--green),transparent); opacity:.5; animation:sgpf-scan 5.5s linear infinite}\n\n.sgpf .intro{color:var(--dim); font-size:15px; max-width:62ch; margin:0 auto 30px; text-align:center}\n.sgpf .intro b{color:var(--fg); font-weight:600}\n\n\/* ---- feature grid ---- *\/\n.sgpf .grid{display:grid; grid-template-columns:repeat(2,1fr); gap:12px}\n.sgpf .mod{position:relative; background:linear-gradient(180deg,rgba(12,26,30,.75),rgba(10,19,23,.55));\n  border:1px solid var(--line-2); border-left:2px solid var(--c,var(--green)); padding:16px 17px;\n  transition:border-color .18s ease, transform .18s ease, box-shadow .18s ease;\n  opacity:0; transform:translateY(14px); animation:sgpf-rise .6s ease forwards}\n.sgpf .mod:hover{transform:translateY(-3px); border-color:var(--c,var(--green));\n  box-shadow:0 8px 26px rgba(0,0,0,.5), 0 0 0 1px rgba(57,255,158,.08) inset}\n.sgpf .mod .tag{display:inline-block; font-family:var(--mono); font-size:10px; letter-spacing:.2em;\n  color:var(--c,var(--green)); border:1px solid currentColor; border-radius:2px; padding:2px 7px; margin-bottom:9px}\n.sgpf .mod h3{font-family:var(--sans); font-weight:700; font-size:16px; letter-spacing:.01em; color:var(--fg); margin-bottom:5px}\n.sgpf .mod p{font-size:13.5px; line-height:1.55; color:var(--dim)}\n.sgpf .mod:nth-child(1){animation-delay:.05s} .sgpf .mod:nth-child(2){animation-delay:.11s}\n.sgpf .mod:nth-child(3){animation-delay:.17s} .sgpf .mod:nth-child(4){animation-delay:.23s}\n.sgpf .mod:nth-child(5){animation-delay:.29s} .sgpf .mod:nth-child(6){animation-delay:.35s}\n.sgpf .mod:nth-child(7){animation-delay:.41s} .sgpf .mod:nth-child(8){animation-delay:.47s}\n\n\/* ---- included + note ---- *\/\n.sgpf .strip{margin-top:14px; display:flex; flex-wrap:wrap; align-items:center; gap:10px 16px;\n  background:rgba(57,255,158,.05); border:1px solid var(--line); padding:14px 18px}\n.sgpf .strip .k{font-family:var(--mono); font-size:10px; letter-spacing:.2em; color:var(--green)}\n.sgpf .strip .v{font-size:14px; color:var(--fg)}\n.sgpf .plat{display:flex; gap:8px; flex-wrap:wrap; margin-left:auto}\n.sgpf .plat span{font-family:var(--mono); font-size:11px; letter-spacing:.08em; color:var(--dim); border:1px solid var(--line-2); padding:3px 9px}\n\n.sgpf .note{margin-top:14px; border:1px dashed var(--line); border-radius:2px; padding:14px 18px; background:rgba(255,255,255,.012)}\n.sgpf .note .lbl{font-family:var(--mono); font-size:10px; letter-spacing:.24em; color:var(--dim); display:block; margin-bottom:6px}\n.sgpf .note p{font-size:12.5px; line-height:1.6; color:var(--dim)}\n.sgpf .note b{color:var(--fg); font-weight:600}\n\n@keyframes sgpf-rise{to{opacity:1; transform:none}}\n@keyframes sgpf-pulse{0%,100%{text-shadow:0 0 16px rgba(57,255,158,.35)} 50%{text-shadow:0 0 26px rgba(57,255,158,.7)}}\n@keyframes sgpf-blink{50%{opacity:.2}}\n@keyframes sgpf-scan{0%{top:0} 100%{top:100%}}\n\n@media (max-width:620px){\n  .sgpf .grid{grid-template-columns:1fr}\n  .sgpf .plat{margin-left:0; width:100%}\n}\n@media (prefers-reduced-motion:reduce){\n  .sgpf *{animation:none!important; transition:none!important}\n  .sgpf .mod{opacity:1; transform:none}\n  .sgpf .scan{display:none}\n}\n\u003c\/style\u003e\n\n\u003cdiv class=\"sgpf\"\u003e\n  \u003cdiv class=\"frame\"\u003e\n    \u003cspan class=\"br tl\"\u003e\u003c\/span\u003e\u003cspan class=\"br tr\"\u003e\u003c\/span\u003e\u003cspan class=\"br bl\"\u003e\u003c\/span\u003e\u003cspan class=\"br br2\"\u003e\u003c\/span\u003e\n    \u003cdiv class=\"in\"\u003e\n\n      \u003cheader class=\"hero\"\u003e\n        \u003cdiv class=\"scan\"\u003e\u003c\/div\u003e\n        \u003cdiv class=\"eyebrow\"\u003eOpen-Data · Surveillance-Awareness Platform\u003c\/div\u003e\n        \u003ch2 class=\"wm\"\u003e\n\u003cspan class=\"sgp\"\u003eSGP\u003c\/span\u003e \u003cspan class=\"flock\"\u003eFLOCK\u003c\/span\u003e\n\u003c\/h2\u003e\n        \u003cp class=\"tagline\"\u003eTurn public, open data into a real-time awareness dashboard.\u003c\/p\u003e\n        \u003cspan class=\"chip\"\u003e\u003cspan class=\"dot\"\u003e\u003c\/span\u003eLive data · No API keys · No subscriptions to third parties\u003c\/span\u003e\n      \u003c\/header\u003e\n\n      \u003cp class=\"intro\"\u003eSGP FLOCK maps the \u003cb\u003epublicly available world\u003c\/b\u003e onto one clean, tactical dashboard — publicly-documented cameras, officially-public live webcams, and on-device AI vision, all from \u003cb\u003eopen sources\u003c\/b\u003e. Built for privacy-conscious people, researchers, journalists, students and developers.\u003c\/p\u003e\n\n      \u003cdiv class=\"grid\"\u003e\n        \u003carticle class=\"mod\" style=\"--c:var(--amber)\"\u003e\n          \u003cspan class=\"tag\"\u003eMAP\u003c\/span\u003e\n          \u003ch3\u003eGlobal open-data camera map\u003c\/h3\u003e\n          \u003cp\u003eInteractive world map of publicly-documented CCTV \u0026amp; camera locations from open community databases. Search any city on Earth.\u003c\/p\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"mod\" style=\"--c:var(--red)\"\u003e\n          \u003cspan class=\"tag\"\u003eINTEL\u003c\/span\u003e\n          \u003ch3\u003eDetails \u0026amp; real addresses\u003c\/h3\u003e\n          \u003cp\u003eSee each mapped camera's type, facing direction and street address — including publicly-mapped ALPR (number-plate reader) points.\u003c\/p\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"mod\" style=\"--c:var(--cyan)\"\u003e\n          \u003cspan class=\"tag\"\u003eLIVE\u003c\/span\u003e\n          \u003ch3\u003eLocation awareness mode\u003c\/h3\u003e\n          \u003cp\u003eOptional GPS mode shows which nearby mapped public cameras are around you — an easy way to understand a place's surveillance footprint.\u003c\/p\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"mod\" style=\"--c:var(--green)\"\u003e\n          \u003cspan class=\"tag\"\u003eFEED\u003c\/span\u003e\n          \u003ch3\u003eThousands of public live webcams\u003c\/h3\u003e\n          \u003cp\u003eWatch officially-published live traffic \u0026amp; city cameras released by transport departments across the U.S., Canada and London.\u003c\/p\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"mod\" style=\"--c:var(--violet)\"\u003e\n          \u003cspan class=\"tag\"\u003eA.I.\u003c\/span\u003e\n          \u003ch3\u003eReal-time neural vision\u003c\/h3\u003e\n          \u003cp\u003eAn in-browser neural network detects vehicles \u0026amp; pedestrians in public feeds live — anonymous object detection, no identification — a hands-on computer-vision showcase.\u003c\/p\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"mod\" style=\"--c:var(--cyan)\"\u003e\n          \u003cspan class=\"tag\"\u003eCIVIC\u003c\/span\u003e\n          \u003ch3\u003ePublic services layer\u003c\/h3\u003e\n          \u003cp\u003eOverlay open-data points of interest, such as emergency services and public institutions, right on the map.\u003c\/p\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"mod\" style=\"--c:var(--amber)\"\u003e\n          \u003cspan class=\"tag\"\u003eVIZ\u003c\/span\u003e\n          \u003ch3\u003eHeatmap \u0026amp; vision modes\u003c\/h3\u003e\n          \u003cp\u003eCoverage-density heatmap, plus standard, night-vision and thermal-style display modes for a true tactical view.\u003c\/p\u003e\n        \u003c\/article\u003e\n        \u003carticle class=\"mod\" style=\"--c:var(--green)\"\u003e\n          \u003cspan class=\"tag\"\u003eAPPS\u003c\/span\u003e\n          \u003ch3\u003eRuns everywhere\u003c\/h3\u003e\n          \u003cp\u003eAny modern web browser, plus dedicated native apps for macOS and Windows. Android coming soon.\u003c\/p\u003e\n        \u003c\/article\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"strip\"\u003e\n        \u003cspan class=\"k\"\u003eINCLUDED\u003c\/span\u003e\n        \u003cspan class=\"v\"\u003eFull access to the SGP FLOCK web app \u0026amp; desktop apps — always kept up to date.\u003c\/span\u003e\n        \u003cspan class=\"plat\"\u003e\u003cspan\u003eWEB\u003c\/span\u003e\u003cspan\u003emacOS\u003c\/span\u003e\u003cspan\u003eWINDOWS\u003c\/span\u003e\u003c\/span\u003e\n      \u003c\/div\u003e\n\n      \u003cdiv class=\"note\"\u003e\n        \u003cspan class=\"lbl\"\u003eResponsible use · Open data\u003c\/span\u003e\n        \u003cp\u003eSGP FLOCK uses only \u003cb\u003epublicly available, openly-licensed\u003c\/b\u003e map data and public camera feeds that communities and authorities have chosen to publish. It does \u003cb\u003enot\u003c\/b\u003e access private systems, does \u003cb\u003enot\u003c\/b\u003e provide any credentials, and is intended for privacy education, transparency, research and awareness.\u003c\/p\u003e\n      \u003c\/div\u003e\n\n    \u003c\/div\u003e\n  \u003c\/div\u003e\n\u003c\/div\u003e","brand":"sgpstore","offers":[{"title":"Default Title","offer_id":58178566881612,"sku":null,"price":19.0,"currency_code":"EUR","in_stock":true}],"thumbnail_url":"\/\/cdn.shopify.com\/s\/files\/1\/1057\/9807\/4700\/files\/IMG-1450.png?v=1784684313","url":"https:\/\/sgpstore.net\/products\/sgp-flock-camera","provider":"sgpstore","version":"1.0","type":"link"}