:root{--gs1-blue:#002c6c;--gs1-blue-700:#00408a;--gs1-orange:#f26334;--gs1-orange-600:#d9501f;--text:#2b3445;--text-muted:#5c6678;--heading:#001a40;--bg:#fff;--bg-soft:#f4f6fb;--bg-blue-soft:#eaf0fa;--border:#dde3ec;--green:#1f9d57;--green-bg:#e7f6ee;--amber:#b5750a;--amber-bg:#fdf3e0;--red:#c0392b;--red-bg:#fdecea;--radius:14px;--radius-sm:10px;--shadow-sm:0 1px 2px #001a400f, 0 2px 8px #001a400d;--shadow-md:0 10px 30px #001a401a;--maxw:1080px;--sans:"Inter", system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, "SF Mono", Menlo, Consolas, monospace;font-family:var(--sans);color:var(--text);background:var(--bg);text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.55}*{box-sizing:border-box}body{background:var(--bg);margin:0}a{color:var(--gs1-blue-700);text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3{color:var(--heading);letter-spacing:-.02em;margin:0;font-weight:800;line-height:1.15}p{margin:0}.container{width:var(--maxw);max-width:100%;margin:0 auto;padding:0 24px}.btn{cursor:pointer;border:1px solid #0000;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:12px 22px;font-family:inherit;font-size:16px;font-weight:600;transition:background .15s,transform 50ms,border-color .15s;display:inline-flex}.btn:active{transform:translateY(1px)}.btn-primary{background:var(--gs1-orange);color:#fff}.btn-primary:hover{background:var(--gs1-orange-600);text-decoration:none}.btn-ghost{color:var(--gs1-blue);border-color:var(--border);background:#fff}.btn-ghost:hover{background:var(--bg-soft);text-decoration:none}.app{flex-direction:column;min-height:100svh;display:flex}.app-main{flex:1}.site-header{z-index:20;-webkit-backdrop-filter:saturate(180%)blur(8px);backdrop-filter:saturate(180%)blur(8px);border-bottom:1px solid var(--border);background:#ffffffeb;position:sticky;top:0}.site-header .container{justify-content:space-between;align-items:center;height:64px;display:flex}.brand{color:var(--heading);align-items:center;gap:10px;font-weight:800;display:inline-flex}.brand:hover{text-decoration:none}.brand-logo{background:var(--gs1-blue);color:#fff;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;font-size:15px;font-weight:800;display:inline-flex}.brand-sub{color:var(--text-muted);font-size:13px;font-weight:500}.header-nav{align-items:center;gap:22px;display:flex}.header-nav a{color:var(--text);font-size:15px;font-weight:500}.site-footer{border-top:1px solid var(--border);background:var(--bg-soft);color:var(--text-muted);margin-top:64px;padding:28px 0;font-size:14px}.site-footer .container{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.hero{background:linear-gradient(160deg, var(--gs1-blue) 0%, #013a8c 60%, var(--gs1-blue-700) 100%);color:#fff;padding:72px 0 80px}.hero .container{grid-template-columns:1.1fr .9fr;align-items:center;gap:48px;display:grid}.hero h1{color:#fff;margin-bottom:18px;font-size:46px}.hero p.lead{color:#d7e1f2;max-width:36ch;margin-bottom:28px;font-size:19px}.eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--gs1-orange);background:#f2633424;border-radius:999px;margin-bottom:18px;padding:6px 12px;font-size:13px;font-weight:700;display:inline-block}.hero-art{justify-content:center;display:flex}.qr-card{text-align:center;color:var(--heading);background:#fff;border-radius:22px;width:268px;padding:22px 22px 20px;box-shadow:0 24px 60px #00103052}.qr-card-head{letter-spacing:.08em;text-transform:uppercase;color:var(--gs1-blue-700);justify-content:center;align-items:center;gap:8px;margin-bottom:16px;font-size:12px;font-weight:700;display:flex}.qr-dot{background:var(--gs1-orange);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #f263342e}.qr-wrap{margin:0 auto;display:block;position:relative}.qr-wrap svg{display:block}.qr-badge{background:var(--gs1-blue);color:#fff;letter-spacing:.02em;border-radius:10px;justify-content:center;align-items:center;width:42px;height:42px;font-size:14px;font-weight:800;display:flex;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 5px #fff}.qr-caption{color:var(--text-muted);margin-top:16px;font-size:13px;font-weight:500}.qr-url{font-family:var(--mono);color:var(--gs1-blue-700);word-break:break-all;margin-top:6px;font-size:12px}.lookup{flex-wrap:wrap;gap:10px;display:flex}.lookup input{min-width:0;font-family:var(--mono);color:#fff;background:#ffffff1f;border:1px solid #fff6;border-radius:999px;flex:1;padding:13px 16px;font-size:16px}.lookup input::placeholder{color:#fff9}.lookup input:focus{outline:2px solid var(--gs1-orange)}.lookup .hint{color:#c2cfe6;width:100%;font-size:13px}.lookup .hint.error{color:#ffd1c5}.section{padding:64px 0}.section-soft{background:var(--bg-soft)}.section-head{text-align:center;max-width:60ch;margin:0 auto 40px}.section-head h2{margin-bottom:12px;font-size:32px}.section-head p{color:var(--text-muted);font-size:17px}.grid{gap:22px;display:grid}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-2{grid-template-columns:repeat(2,1fr)}.card{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);background:#fff;padding:26px}.card h3{margin-bottom:8px;font-size:19px}.card p{color:var(--text-muted);font-size:15px}.card .icon{background:var(--bg-blue-soft);width:44px;height:44px;color:var(--gs1-blue);border-radius:10px;justify-content:center;align-items:center;margin-bottom:14px;display:inline-flex}.steps{counter-reset:step;grid-template-columns:repeat(3,1fr);gap:22px;display:grid}.step{padding-left:56px;position:relative}.step:before{counter-increment:step;content:counter(step);background:var(--gs1-orange);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:800;display:flex;position:absolute;top:0;left:0}.step h3{margin-bottom:6px;font-size:17px}.step p{color:var(--text-muted);font-size:15px}.resolve{padding:40px 0 0}.banner{border-radius:var(--radius-sm);margin-bottom:24px;padding:12px 16px;font-size:14px}.banner-info{background:var(--amber-bg);color:var(--amber);border:1px solid #f0dcb0}.product{grid-template-columns:320px 1fr;align-items:start;gap:40px;display:grid}.product-image{aspect-ratio:1;object-fit:cover;border-radius:var(--radius);border:1px solid var(--border);background:var(--bg-soft);width:100%}.product-image-placeholder{color:var(--text-muted);justify-content:center;align-items:center;display:flex}.product h1{margin-bottom:6px;font-size:30px}.gtin-pill{font-family:var(--mono);background:var(--bg-blue-soft);color:var(--gs1-blue);border-radius:999px;align-items:center;gap:8px;margin:10px 0 18px;padding:6px 12px;font-size:14px;display:inline-flex}.product .desc{color:var(--text-muted);margin-bottom:24px;font-size:16px}.attrs{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(2,1fr);gap:0;display:grid;overflow:hidden}.attr{border-bottom:1px solid var(--border);padding:14px 18px}.attr:nth-child(odd){border-right:1px solid var(--border)}.attr .label{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:12px;font-weight:600}.attr .value{color:var(--heading);font-size:16px;font-weight:600}.status-badge{border-radius:999px;align-items:center;gap:6px;padding:4px 10px;font-size:13px;font-weight:700;display:inline-flex}.status-active{background:var(--green-bg);color:var(--green)}.status-other{background:var(--amber-bg);color:var(--amber)}.verified{color:var(--green);align-items:center;gap:8px;margin-bottom:16px;font-size:14px;font-weight:700;display:inline-flex}.state{text-align:center;max-width:48ch;margin:0 auto;padding:72px 0}.state .state-icon{margin-bottom:12px;font-size:40px}.state h1{margin-bottom:10px;font-size:26px}.state p{color:var(--text-muted);margin-bottom:22px}.sk{background:linear-gradient(90deg,#eef1f6 25%,#e3e8f0 37%,#eef1f6 63%) 0 0/400% 100%;border-radius:8px;animation:1.4s infinite sk}@keyframes sk{0%{background-position:100%}to{background-position:0}}@media (width<=900px){.hero .container{grid-template-columns:1fr;gap:32px}.grid-3,.steps,.grid-2,.product{grid-template-columns:1fr}.product-image{max-width:280px}.header-nav{display:none}}
