Ad Armory — Smart QR Codes

*,*::before,*::after{margin:0;padding:0;box-sizing:border-box} :root{ –bg-base:#0c0c0c; –bg-recessed:#111111; –bg-elevated:#161616; –accent-action:#00cdfb; –accent-cta:#007e99; –accent-cta-hover:#009bbe; –accent-atmospheric:#5745ff; –accent-atmospheric-light:#7B6FFF; –text-primary:#ffffff; –text-secondary:#c0c0c0; –text-muted:#8b92b3; –text-dim:#888888; } html{scroll-behavior:smooth} body{ background:var(–bg-base)!important; color:var(–text-secondary)!important; font-family:’Roboto’,sans-serif!important; font-weight:400; font-size:16px; line-height:1.6; -webkit-font-smoothing:antialiased; overflow-x:hidden; min-height:100vh; display:flex; flex-direction:column; margin:0!important; padding:0!important; } .aaqr-page{ max-width:960px; margin:0 auto; padding:0 32px; width:100%; flex:1; display:flex; flex-direction:column; } .aaqr-logo-bar{ padding:48px 0 0; display:flex; justify-content:center; } .aaqr-logo-bar svg{height:100px;width:auto} .aaqr-hero{ padding:56px 0 0; text-align:center; } .aaqr-hero__eyebrow{ color:rgba(0,205,251,0.6); font-size:clamp(13px,1vw,14px); font-weight:700; text-transform:uppercase; letter-spacing:3px; margin-bottom:15px; } .aaqr-hero__title{ font-size:clamp(2rem, 6vw, 3.5rem); font-weight:500; color:var(–text-primary); line-height:1.12; margin-bottom:24px; max-width:680px; margin-left:auto; margin-right:auto; } .aaqr-hero__sub{ font-size:clamp(16px, 2vw, 18px); color:var(–text-secondary); max-width:480px; margin:0 auto 44px; line-height:1.65; } .aaqr-btn-cta{ display:inline-flex; align-items:center; gap:10px; font-family:’Roboto’,sans-serif; font-size:16px; font-weight:500; color:#fff!important; background:var(–accent-cta); padding:14px 36px; border-radius:5px; border:none; cursor:pointer; transition:background 0.2s; text-decoration:none!important; } .aaqr-btn-cta:hover{background:var(–accent-cta-hover);color:#fff!important} .aaqr-btn-cta svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round} .aaqr-hero__note{ display:block; margin-top:18px; font-size:13px; color:var(–text-dim); } .aaqr-showcase{ margin-top:64px; display:flex; justify-content:center; } .aaqr-qr-scene{ position:relative; width:360px; height:360px; } .aaqr-qr-scene__grid{ width:360px;height:360px; display:grid; grid-template-columns:repeat(13,1fr); grid-template-rows:repeat(13,1fr); gap:3px; opacity:0.45; border-radius:10px; mask-image:radial-gradient(ellipse 65% 65% at 50% 50%, black 35%, transparent 100%); -webkit-mask-image:radial-gradient(ellipse 65% 65% at 50% 50%, black 35%, transparent 100%); } .aaqr-qr-scene__grid span{ border-radius:2px; animation:aaqrPulse 4s ease-in-out infinite; } .aaqr-qr-scene__center{ position:absolute; top:50%;left:50%; transform:translate(-50%,-50%); width:76px;height:76px; background:var(–bg-elevated); border-radius:10px; display:flex;align-items:center;justify-content:center; border:1px solid rgba(255,255,255,0.06); z-index:2; } .aaqr-qr-scene__center svg{width:44px;height:44px} @keyframes aaqrPulse{ 0%,100%{opacity:0.25} 50%{opacity:0.85} } .aaqr-callouts{ margin-top:72px; padding-bottom:80px; display:flex; justify-content:center; gap:40px; flex-wrap:wrap; } .aaqr-callout{ display:flex; align-items:center; gap:10px; } .aaqr-callout__icon{ width:28px;height:28px; flex-shrink:0; display:flex;align-items:center;justify-content:center; } .aaqr-callout__icon svg{ width:16px;height:16px; stroke:var(–accent-action); fill:none; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; opacity:0.6; } .aaqr-callout__text{ font-size:14px; color:var(–text-dim); white-space:nowrap; } .aaqr-footer{ border-top:1px solid rgba(255,255,255,0.04); padding:28px 32px; display:flex; align-items:center; justify-content:space-between; max-width:960px; margin:auto auto 0; width:100%; } .aaqr-footer__brand{ font-size:13px; color:var(–text-dim); } .aaqr-footer__links{display:flex;gap:24px} .aaqr-footer__link{ font-size:13px; color:var(–text-dim)!important; text-decoration:none!important; transition:color 0.2s; } .aaqr-footer__link:hover{color:var(–text-secondary)!important} @media(max-width:700px){ .aaqr-callouts{flex-direction:column;align-items:center;gap:20px} .aaqr-qr-scene,.aaqr-qr-scene__grid{width:280px;height:280px} .aaqr-qr-scene__center{width:64px;height:64px} .aaqr-qr-scene__center svg{width:36px;height:36px} .aaqr-logo-bar svg{height:80px} } @media(max-width:520px){ .aaqr-page{padding:0 20px} .aaqr-btn-cta{width:100%;justify-content:center} .aaqr-footer{flex-direction:column;gap:16px;text-align:center;padding:28px 20px} .aaqr-footer__links{justify-content:center} }
Smart QR Codes

Every scan tells a story

Dynamic QR codes that track, redirect, and adapt — built for brands that actually care where their traffic comes from

Create Your First Code Free to start — no credit card required
Dynamic redirects
Geo + device analytics
Fully custom styling
(function(){ var grid = document.getElementById(‘aaqrGrid’); if(!grid) return; var size = 13; var total = size * size; var corners = []; var pat = [ [0,0],[0,1],[0,2],[0,3],[0,4],[1,0],[1,4],[2,0],[2,4],[3,0],[3,4],[4,0],[4,1],[4,2],[4,3],[4,4] ]; pat.forEach(function(p){ corners.push(p[0]+’,’+p[1]); corners.push(p[0]+’,’+(size-1-p[1])); corners.push((size-1-p[0])+’,’+p[1]); }); var cornerSet = {}; corners.forEach(function(c){ cornerSet[c] = true; }); for(var i=0;i=5 && r=5 && c 0.38); span.style.background = show ? (isCorner ? ‘rgba(0,205,251,0.3)’ : ‘rgba(255,255,255,0.1)’) : ‘transparent’; span.style.animationDelay = (Math.random()*3.5).toFixed(1)+’s’; grid.appendChild(span); } })();