:root{--black:#181425;--ink:#262b44;--charcoal:#3a4466;--slate:#5a6988;--gray:#8b9bb4;
--silver:#c0cbdc;--amber:#feae34;--yellow:#fee761;--cyan:#2ce8f5;--lime:#63c74d;--blue:#0099db;--red:#e43b44;
--deep:#100d1c;--card:#1e1a30}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{background:var(--black);color:var(--silver);font-family:'VT323',monospace;font-size:22px;line-height:1.55;
background-image:radial-gradient(1100px 500px at 70% -100px,rgba(0,153,219,.14),transparent 60%),
radial-gradient(800px 420px at 12% 30%,rgba(44,232,245,.05),transparent 55%)}
h1,h2,h3,.btn,nav a,.overline,.navcta{font-family:'Press Start 2P',monospace;line-height:1.65}
h1{font-size:clamp(24px,4.4vw,40px);color:#fff;letter-spacing:.5px}
h1 .hl{color:var(--amber)}
h2{font-size:clamp(15px,2.2vw,20px);color:var(--cyan);margin:56px 0 18px}
h3{font-size:12px;color:var(--yellow);margin:26px 0 10px}
p{margin:12px 0;color:var(--silver)}
a{color:var(--cyan)}
.wrap{max-width:1080px;margin:0 auto;padding:0 22px}
.overline{font-size:10px;color:var(--cyan);letter-spacing:2px;margin-bottom:16px}
/* nav */
header{position:sticky;top:0;z-index:50;background:rgba(24,20,37,.86);backdrop-filter:blur(10px);
border-bottom:2px solid var(--charcoal);padding:10px 0}
header .wrap{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
header img{width:40px;height:40px;border-radius:9px;image-rendering:pixelated}
.brand{font-family:'Press Start 2P';font-size:13px;color:var(--amber);text-decoration:none}
nav{margin-left:auto;display:flex;gap:4px;flex-wrap:wrap;align-items:center}
nav a{font-size:9px;color:var(--gray);text-decoration:none;padding:9px 10px;border:2px solid transparent}
nav a:hover{color:var(--yellow);border-color:var(--charcoal);background:var(--ink)}
.navcta{font-size:9px;color:var(--black);background:var(--lime);padding:10px 12px;text-decoration:none;
border:2px solid var(--black);box-shadow:0 3px 0 #3e8948;margin-left:6px}
.navcta:hover{transform:translateY(-1px)}
/* buttons */
.btn{display:inline-block;background:var(--lime);color:var(--black);text-decoration:none;
font-size:11px;padding:16px 24px;border:3px solid var(--black);
box-shadow:0 5px 0 #3e8948,0 9px 0 rgba(0,0,0,.55);margin:16px 10px 0 0;transition:transform .08s}
.btn:hover{transform:translateY(-2px)}
.btn:active{transform:translateY(3px);box-shadow:0 2px 0 #3e8948,0 5px 0 rgba(0,0,0,.55)}
.btn.alt{background:var(--amber);box-shadow:0 5px 0 #b8802a,0 9px 0 rgba(0,0,0,.55)}
.btn.ghost{background:var(--ink);color:var(--silver);box-shadow:0 5px 0 #14121f,0 9px 0 rgba(0,0,0,.4);border-color:var(--charcoal)}
/* hero */
.hero{padding:72px 0 30px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:44px;align-items:center}
.hero p.tag{font-size:23px;color:var(--gray);max-width:520px;margin:20px 0 4px}
.stats{display:flex;gap:26px;flex-wrap:wrap;margin-top:30px}
.stat .n{font-family:'Press Start 2P';font-size:16px;color:var(--yellow)}
.stat .l{font-size:17px;color:var(--slate);margin-top:6px;text-transform:uppercase;letter-spacing:1px}
/* phone mockups */
.phones{position:relative;min-height:560px}
.phone{width:250px;border:5px solid var(--charcoal);outline:4px solid var(--deep);background:var(--deep);
border-radius:26px;overflow:hidden;box-shadow:0 30px 70px rgba(0,0,0,.6)}
.phone img{display:block;width:100%;height:auto;image-rendering:auto}
.phone.front{position:absolute;right:8px;top:0;z-index:2;animation:float 7s ease-in-out infinite}
.phone.back{position:absolute;right:190px;top:76px;transform:rotate(-7deg) scale(.86);opacity:.55;
filter:saturate(.85) brightness(.75)}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-14px)}}
@media (prefers-reduced-motion:reduce){.phone.front{animation:none}}
/* ticker divider */
.ticker{border-block:2px solid var(--charcoal);background:var(--ink);padding:13px 0;margin:44px 0 8px;overflow:hidden;white-space:nowrap}
.ticker span{font-family:'Press Start 2P';font-size:10px;color:var(--gray);letter-spacing:1px}
.ticker .dot{color:var(--amber);margin:0 14px}
/* feature rows */
.feature{display:grid;grid-template-columns:1fr 300px;gap:40px;align-items:center;
background:var(--card);border:3px solid var(--charcoal);outline:3px solid var(--deep);
padding:30px 34px;margin:26px 0}
.feature.flip{grid-template-columns:300px 1fr}
.feature.flip .copy{order:2}
.feature .shotwrap{justify-self:center}
.feature .shot,.shot{width:100%;max-width:280px;height:auto;border:4px solid var(--charcoal);outline:3px solid var(--deep);display:block}
.feature h2{margin-top:0}
.feature ul{margin:12px 0 4px 24px}
.feature li{margin:7px 0;color:var(--gray)}
.feature li b{color:var(--silver);font-weight:normal}
/* gallery */
.gallery{display:flex;gap:18px;overflow-x:auto;padding:8px 2px 20px;scroll-snap-type:x mandatory}
.gallery img{width:220px;height:auto;flex:0 0 auto;border:4px solid var(--charcoal);outline:3px solid var(--deep);
scroll-snap-align:start;transition:transform .15s}
.gallery img:hover{transform:translateY(-6px)}
/* panels & misc (legacy classes used across subpages) */
.panel{background:var(--ink);border:4px solid var(--charcoal);outline:3px solid var(--deep);padding:24px;margin:24px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:22px;margin:26px 0}
.pix{image-rendering:pixelated}
ul{margin:10px 0 10px 26px}li{margin:7px 0}
.kicker{color:var(--lime);font-size:20px}
table{border-collapse:collapse;width:100%;margin:14px 0;font-size:20px}
td,th{border:2px solid var(--charcoal);padding:8px 10px;text-align:left}th{color:var(--amber)}
.dither{height:12px;background:conic-gradient(var(--black) 90deg,var(--ink) 90deg 180deg,var(--black) 180deg 270deg,var(--ink) 270deg) 0 0/12px 12px}
/* cta band */
.band{text-align:center;background:linear-gradient(180deg,var(--ink),var(--card));
border:3px solid var(--charcoal);outline:3px solid var(--deep);padding:44px 26px;margin:60px 0 20px}
.band h2{margin-top:0}
/* footer */
footer{border-top:2px solid var(--charcoal);margin-top:70px;padding:34px 0;font-size:19px;color:var(--slate);background:var(--deep)}
footer a{color:var(--gray);text-decoration:none}
footer a:hover{color:var(--yellow)}
footer .cols{display:flex;gap:40px;flex-wrap:wrap;justify-content:space-between}
@media (max-width:860px){
  .hero-grid{grid-template-columns:1fr}
  .phones{min-height:520px;margin-top:10px}
  .phone.front{right:calc(50% - 210px)}
  .phone.back{right:auto;left:calc(50% - 30px)}
  .feature,.feature.flip{grid-template-columns:1fr}
  .feature.flip .copy{order:0}
}
