:root{--ink:#202321;--muted:#505652;--line:#cfcbc2;--green:#247a52;--amber:#a96c17;--red:#b53f38}
.home-page p,.home-page span,.home-page small{overflow-wrap:anywhere}.home-page .hero-text,.home-page .promise>div>p:last-child,.home-page .story-step p,.home-page .feature p,.home-page .camera-copy>p:not(.eyebrow){color:#505652;line-height:1.62}.home-page .dark p,.home-page .story-step p{color:#cbd0cc}.home-page .marker,.home-page .marker-b{background:#fff url("aruco-4x4-1000-0.svg") center/contain no-repeat!important}.home-page .mini-scan div{background:#fff url("aruco-4x4-1000-0.svg") center/contain no-repeat!important}.home-page .scan-sweep{z-index:1}.home-page .marker-pair{z-index:2}.home-page .live-label{z-index:4}.home-page .feature.wide{min-height:340px}.home-page .sync-demo{left:auto;right:34px;top:50%;bottom:auto;width:min(53%,650px);transform:translateY(-18%);grid-template-columns:68px 1fr 68px}.home-page .sync-demo>b{border-radius:18px;font-size:11px}.home-page .device-heading em{white-space:nowrap}.home-page .device-grid b,.home-page .device-grid span{line-height:1.3}.home-page .camera-status{color:#fff}.home-page .story-step.active p{color:#eef0ed}
.generator-page{display:block!important;min-height:100vh!important;padding:0!important;background:#f5f3ed!important}.generator-page .site-header{position:relative!important;width:min(100%,1160px)!important;max-width:none!important;margin:0 auto 18px!important;padding:24px 22px 0!important;background:transparent!important}.generator-page .topbar{min-height:74px!important;padding:11px 14px!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important;background:#fff!important;border:1px solid var(--line)!important;border-radius:18px!important}.generator-page .brand{flex:0 0 auto!important;margin:0!important;color:var(--ink)!important}.generator-page .site-nav{position:static!important;inset:auto!important;z-index:auto!important;margin-left:auto!important;display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:8px!important;background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important}.generator-page .site-nav a{white-space:nowrap!important;color:var(--ink)!important}.generator-page .site-nav [data-language-switch]{flex:0 0 auto!important}.generator-page main{width:min(100%,1160px)!important;max-width:none!important;margin:0 auto!important;padding:12px 22px 80px!important}.generator-page main>section{padding:clamp(22px,5vw,52px)!important}.generator-page .heading{border-color:var(--line)!important}.generator-page .title-panel h1{color:var(--ink)!important}.generator-page label{color:#4c524e!important}.generator-page .controls-feedback{background:#f3f2ee!important;border-color:var(--line)!important}.generator-page .controls-feedback span,.generator-page .status{color:#4e5550!important;line-height:1.5!important}.generator-page .compatibility{color:var(--green)!important}.generator-page .preview-shell{background:#e9e6de!important;border-color:var(--line)!important}.generator-page .site-footer{color:#555b57!important}.generator-page input,.generator-page select{color:var(--ink)!important;background:#fff!important;border-color:var(--line)!important}
@media(max-width:900px){.home-page .sync-demo{position:relative;left:auto;right:auto;top:auto;bottom:auto;width:100%;transform:none;margin-top:50px}.home-page .feature.wide{min-height:auto}.generator-page .topbar{align-items:flex-start!important;flex-direction:column!important}.generator-page .site-nav{margin-left:0!important;width:100%!important;justify-content:flex-start!important;overflow-x:auto!important;padding-bottom:4px!important}}
@media(max-width:600px){.generator-page .site-header,.generator-page main{padding-inline:13px!important}.generator-page .site-nav{gap:5px!important}.generator-page .site-nav a{font-size:11px!important;padding:8px 10px!important}.generator-page .language-switch{display:flex!important}.home-page .sync-demo{grid-template-columns:58px 1fr 58px}.home-page .device-heading{align-items:flex-start;gap:10px}.home-page .device-heading em{white-space:normal;text-align:right}}

/* Geometry corrections: real square generator markers, never stretched or outlined. */
.home-page .marker{aspect-ratio:1!important;border:0!important;background-color:#fff!important}.home-page .marker-pair{grid-template-columns:1fr 1fr!important;align-items:center!important;background:#fff!important;border:0!important;padding:10px!important;gap:10px!important}.home-page .mini-scan{grid-template-columns:repeat(2,minmax(0,190px))!important;justify-content:center!important;align-items:center!important}.home-page .mini-scan div{aspect-ratio:1!important;border:0!important;border-radius:0!important;background-color:#fff!important}.home-page .mini-scan i{z-index:2}.home-page .feature-grid{align-items:stretch}.home-page .feature{min-width:0}.home-page .feature.soft{min-height:370px}.home-page .stock-bars{max-height:112px}.home-page .shelf-feature{min-height:600px}.home-page .shelf-visual{position:absolute;left:34px;right:34px;bottom:34px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px;padding:14px;background:#efeee9;border:1px solid var(--line);border-radius:18px}.home-page .shelf-visual i{height:96px;background:#fff;border:1px solid var(--line);border-radius:12px}.home-page .shelf-visual i:after{content:"Fach";height:100%;display:grid;place-items:center;color:#656b67;font-style:normal;font-size:11px}.home-page .shelf-visual .filled{background:var(--green-soft);border-color:#9ac9af}.home-page .shelf-visual .warning{background:#fff0d4;border-color:#deb876}.home-page .feature.wide{display:grid!important;grid-template-columns:minmax(0,.8fr) minmax(340px,1.2fr)!important;gap:58px!important;align-items:center!important;padding:40px!important;min-height:330px!important}.home-page .feature-copy{min-width:0}.home-page .feature-copy h3{margin-block:13px!important}.home-page .sync-demo{position:relative!important;inset:auto!important;width:100%!important;transform:none!important;grid-template-columns:76px minmax(80px,1fr) 76px!important;margin:0!important}.home-page .sync-demo>b{width:76px!important;aspect-ratio:1!important}.home-page .sync-demo>div{min-width:0}.generator-page .preview-shell{background:#fff!important;background-image:none!important}.generator-page .tape{background:#fff!important;box-shadow:none!important;border:1px solid #e0ddd6!important}.generator-page .marker{background:#fff!important;border:0!important;outline:0!important}.generator-page .marker svg{border:0!important;outline:0!important;box-shadow:none!important}
@media(max-width:900px){.home-page .feature.wide{grid-template-columns:1fr!important;gap:36px!important}.home-page .shelf-feature{min-height:520px}.home-page .shelf-visual{left:25px;right:25px;bottom:25px}.home-page .sync-demo{grid-template-columns:68px minmax(60px,1fr) 68px!important}.home-page .sync-demo>b{width:68px!important}}
@media(max-width:600px){.home-page .mini-scan{grid-template-columns:repeat(2,minmax(0,1fr))!important}.home-page .feature.wide{padding:25px!important}.home-page .shelf-visual{grid-template-columns:repeat(2,1fr)}.home-page .shelf-visual i{height:72px}.home-page .sync-demo{grid-template-columns:58px minmax(35px,1fr) 58px!important}.home-page .sync-demo>b{width:58px!important;font-size:9px!important}}

/* The feature card uses the real generator marker 0 as a VisionGrid double marker. */
.home-page .mini-scan.real-marker-pair{grid-template-columns:minmax(0,190px) auto minmax(0,190px)!important;gap:18px!important;padding:30px!important;background:#efeee9!important;border:1px solid var(--line)!important;border-radius:18px!important}
.home-page .real-marker-pair img{display:block;width:100%;aspect-ratio:1;object-fit:contain;background:#fff;border:0;outline:0;box-shadow:none}
.home-page .real-marker-pair b{z-index:3;align-self:center;padding:8px 11px;border-radius:10px;background:#050505;color:#fff;font-size:15px;line-height:1;white-space:nowrap}
.home-page .real-marker-pair i{display:none!important}
/* Concrete shelf data mirrors the VisionGrid Local preview instead of placeholder slots. */
.home-page .shelf-visual .vg-label{height:96px;min-width:0;display:flex;flex-direction:column;justify-content:center;gap:7px;padding:12px;background:#fff;border:1px solid var(--line);border-radius:12px;font-style:normal}
.home-page .shelf-visual .vg-label strong{display:block;overflow:hidden;color:var(--ink);font-size:12px;line-height:1.25;text-overflow:ellipsis}
.home-page .shelf-visual .vg-label small{color:#777b77;font-size:10px}.home-page .shelf-visual .vg-label.filled{background:var(--green-soft);border-color:#9ac9af}.home-page .shelf-visual .vg-label.warning{background:var(--amber-soft);border-color:#deb876}.home-page .shelf-visual .vg-label.empty{background:#fbe1df;border-color:#e0a09b}
/* Keep the shelf calm: status uses a small dot instead of full coloured cards. */
.home-page .shelf-visual .vg-label,.home-page .shelf-visual .vg-label.filled,.home-page .shelf-visual .vg-label.warning,.home-page .shelf-visual .vg-label.empty{background:#fff!important;border-color:var(--line)!important}
.home-page .shelf-visual .vg-label small{display:flex;align-items:center;gap:6px}
.home-page .shelf-visual .vg-label small:before{content:"";flex:0 0 6px;width:6px;height:6px;border-radius:50%;background:#aeb1ad}
.home-page .shelf-visual .vg-label.filled small:before{background:#5d9b7d}
.home-page .shelf-visual .vg-label.warning small:before{background:#c7903f}
.home-page .shelf-visual .vg-label.empty small:before{background:#c96c66}
/* Compact labels echo the information cards used by the mobile interface. */
.home-page .shelf-visual .vg-label{position:relative;justify-content:flex-start!important;gap:8px!important;padding:15px 14px 18px!important;border-radius:16px!important;box-shadow:0 5px 14px rgba(35,37,36,.055);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease}
.home-page .shelf-visual .vg-label:hover{transform:translateY(-2px);box-shadow:0 9px 22px rgba(35,37,36,.09)}
.home-page .shelf-visual .vg-label strong{min-height:30px;font-size:12px!important;line-height:1.3!important;white-space:normal!important;text-overflow:clip!important}
.home-page .shelf-visual .vg-label small{margin-top:auto;font-weight:650;letter-spacing:.01em}
.home-page .shelf-visual .vg-label:after{content:"";position:absolute;left:14px;right:14px;bottom:9px;height:3px;border-radius:999px;background:#dfe3df}
.home-page .shelf-visual .vg-label.filled:after{right:28%;background:#76aa8f}
.home-page .shelf-visual .vg-label.warning:after{right:55%;background:#cf9a4c}
.home-page .shelf-visual .vg-label.empty:after{right:82%;background:#cd756f}
@media(max-width:600px){.home-page .mini-scan.real-marker-pair{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr)!important;gap:9px!important;padding:18px 12px!important}.home-page .real-marker-pair b{padding:6px 7px;font-size:10px}.home-page .shelf-visual .vg-label{height:72px;padding:8px}.home-page .shelf-visual .vg-label strong{font-size:10px}.home-page .shelf-visual .vg-label small{font-size:8px}}

/* Stock colours match the calm status palette used by VisionGrid Local. */
.home-page .feature.soft,.home-page .connect-feature{background:#fff!important}
.home-page .stock-bars i{background:#dcf3e6!important;border:0!important;box-shadow:none!important}
.home-page .stock-bars i:nth-child(2){background:#fff0c9!important;border:0!important}
.home-page .stock-bars i:nth-child(3){background:#ffdede!important;border:0!important}
/* The Local connection card fills the formerly empty grid cell beside stock. */
.home-page .connect-feature{min-height:370px!important;background:#fff!important}
.home-page .connect-feature .sync-demo{position:absolute!important;left:34px!important;right:34px!important;bottom:38px!important;width:auto!important;margin:0!important;transform:none!important;grid-template-columns:72px minmax(60px,1fr) 72px!important}
.home-page .connect-feature .sync-demo>b{width:72px!important;border-radius:18px!important;font-size:10px!important}
.home-page .connect-feature .sync-demo i{left:0;animation:vgConnectionPingPong 2.25s ease-in-out infinite alternate!important}
@keyframes vgConnectionPingPong{from{left:0}to{left:calc(100% - 13px)}}
@media(max-width:900px){.home-page .connect-feature .sync-demo{left:25px!important;right:25px!important;grid-template-columns:64px minmax(45px,1fr) 64px!important}.home-page .connect-feature .sync-demo>b{width:64px!important}}
@media(max-width:600px){.home-page .connect-feature{min-height:340px!important}.home-page .connect-feature .sync-demo{grid-template-columns:56px minmax(35px,1fr) 56px!important}.home-page .connect-feature .sync-demo>b{width:56px!important;font-size:8px!important}}
