/* XRainier portal: dark, neon cyan to violet (from the emblem), thin grid lines, glass panels. */
:root{--bg:#04060e;--bg2:#070b1a;--panel:rgba(14,22,48,.55);--line:rgba(120,170,255,.16);--line2:rgba(120,170,255,.32);--txt:#e7ecfb;--mut:#8d98b8;
 --cy:#22e1ff;--vi:#a855f7;--pk:#f472b6;--am:#fbbf24;--grad:linear-gradient(90deg,var(--cy),var(--vi));--r:14px;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--txt);font:16px/1.6 "Inter","Segoe UI",-apple-system,BlinkMacSystemFont,Roboto,sans-serif;-webkit-font-smoothing:antialiased;overflow-x:hidden}
img{max-width:100%;display:block}a{color:var(--cy);text-decoration:none}a:hover{color:#7df0ff}
.wrap{max-width:var(--max);margin:0 auto;padding:0 22px}
.mono{font-family:"JetBrains Mono",ui-monospace,"Cascadia Code",Consolas,monospace}
.orb{font-family:"Orbitron","Segoe UI",sans-serif;letter-spacing:.06em}
/* background: grid + glow, fixed behind everything */
body:before{content:"";position:fixed;inset:0;z-index:-2;background:
 radial-gradient(900px 520px at 85% -10%,rgba(168,85,247,.22),transparent 60%),radial-gradient(800px 480px at -10% 20%,rgba(34,225,255,.14),transparent 60%),
 linear-gradient(rgba(120,170,255,.05) 1px,transparent 1px) 0 0/48px 48px,linear-gradient(90deg,rgba(120,170,255,.05) 1px,transparent 1px) 0 0/48px 48px,var(--bg)}
/* navigation */
.nav{position:sticky;top:0;z-index:50;backdrop-filter:blur(14px) saturate(1.3);-webkit-backdrop-filter:blur(14px) saturate(1.3);background:rgba(4,6,14,.62);border-bottom:1px solid var(--line)}
.nav .wrap{display:flex;align-items:center;gap:22px;height:64px}
.logo{display:flex;align-items:center;gap:10px;color:var(--txt);font-weight:800}.logo img{width:34px;height:auto;filter:drop-shadow(0 0 8px rgba(34,225,255,.45))}
.logo span{font-family:"Orbitron",sans-serif;font-size:19px;letter-spacing:.14em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.links{display:flex;gap:4px;margin-left:auto}.links a{color:#c3cce6;padding:8px 12px;border-radius:8px;font-size:15px}.links a:hover,.links a.on{color:#fff;background:rgba(120,170,255,.1)}
.menu{display:none;margin-left:auto;background:none;border:1px solid var(--line2);color:var(--txt);border-radius:8px;width:40px;height:38px;font-size:18px;cursor:pointer}
@media(max-width:820px){.menu{display:block}.links{display:none;position:absolute;top:64px;left:0;right:0;flex-direction:column;padding:10px 16px 16px;background:rgba(4,6,14,.96);border-bottom:1px solid var(--line)}.links.open{display:flex}.nav .btn{display:none}}
/* buttons: square-ish with a light shadow */
.btn{display:inline-flex;align-items:center;gap:9px;padding:11px 20px;border-radius:6px;font-weight:700;font-size:15px;border:1px solid transparent;cursor:pointer;transition:transform .15s,box-shadow .15s,background .15s;box-shadow:0 2px 6px rgba(0,0,0,.35)}
.btn.pri{background:var(--grad);color:#05060f}.btn.pri:hover{color:#05060f;transform:translateY(-1px);box-shadow:0 6px 24px rgba(34,225,255,.35)}
.btn.ghost{background:rgba(255,255,255,.04);border-color:var(--line2);color:var(--txt)}.btn.ghost:hover{border-color:var(--cy);color:#fff}
.btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
/* sections */
section{padding:96px 0;position:relative}
.kick{display:inline-flex;align-items:center;gap:8px;font:600 12px/1 "JetBrains Mono",ui-monospace,Consolas,monospace;letter-spacing:.18em;text-transform:uppercase;color:var(--cy)}
.kick:before{content:"";width:22px;height:1px;background:var(--cy);box-shadow:0 0 8px var(--cy)}
h1,h2,h3{line-height:1.15;margin:0}
h1{font-size:clamp(40px,6.4vw,78px);font-weight:800;letter-spacing:-.02em}
h2{font-size:clamp(30px,4vw,46px);font-weight:800;letter-spacing:-.01em;margin:14px 0 14px}
h3{font-size:20px;font-weight:700}
.lead{font-size:clamp(17px,1.6vw,20px);color:#b9c3df;max-width:640px}
.grad{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.corner{position:relative}.corner:after{content:"";position:absolute;right:-1px;top:-1px;width:26px;height:26px;border-top:2px solid var(--cy);border-right:2px solid var(--cy);border-top-right-radius:var(--r);opacity:.8}
/* hero */
.hero{padding:110px 0 80px;overflow:hidden}
.hero .wrap{display:grid;grid-template-columns:1.1fr .9fr;gap:40px;align-items:center}
@media(max-width:920px){.hero .wrap{grid-template-columns:1fr}.radar{max-width:420px;margin:0 auto}}
.hero p.lead{margin:22px 0 32px}.cta{display:flex;gap:12px;flex-wrap:wrap}
.glitch{position:relative;display:inline-block}
.glitch:after{content:attr(data-t);position:absolute;left:2px;top:0;color:var(--pk);mix-blend-mode:screen;clip-path:inset(0 0 0 0);opacity:.0;animation:gl 7s infinite steps(1)}
@keyframes gl{0%,92%,100%{opacity:0;transform:none}93%{opacity:.7;transform:translate(-3px,1px);clip-path:inset(20% 0 55% 0)}95%{opacity:.6;transform:translate(3px,-1px);clip-path:inset(60% 0 10% 0)}97%{opacity:0}}
.term{margin-top:30px;font:13px/1.7 "JetBrains Mono",ui-monospace,Consolas,monospace;color:#8fe9ff;opacity:.85}.term b{color:#fff;font-weight:600}.caret{display:inline-block;width:8px;height:15px;background:var(--cy);vertical-align:-2px;animation:blink 1s steps(1) infinite}@keyframes blink{50%{opacity:0}}
/* animated radar */
.radar{position:relative;aspect-ratio:1;width:100%;border-radius:50%;background:radial-gradient(circle,rgba(34,225,255,.08),rgba(4,6,14,.2) 70%);border:1px solid var(--line2);box-shadow:0 0 80px rgba(34,225,255,.12),inset 0 0 60px rgba(168,85,247,.12)}
.radar i.ring{position:absolute;border:1px solid rgba(34,225,255,.18);border-radius:50%}
.radar i.r1{inset:12%}.radar i.r2{inset:25%}.radar i.r3{inset:38%}
.radar i.x{position:absolute;left:50%;top:0;bottom:0;width:1px;background:rgba(34,225,255,.15)}.radar i.y{position:absolute;top:50%;left:0;right:0;height:1px;background:rgba(34,225,255,.15)}
.radar .sweep{position:absolute;inset:0;border-radius:50%;background:conic-gradient(from 0deg,rgba(34,225,255,.0) 0deg,rgba(34,225,255,.0) 300deg,rgba(34,225,255,.35) 358deg,rgba(34,225,255,.0) 360deg);animation:spin 5s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.blip{position:absolute;width:10px;height:10px;margin:-5px;border-radius:50%;background:var(--cy);box-shadow:0 0 12px var(--cy);animation:ping 5s infinite}
.blip.v{background:var(--vi);box-shadow:0 0 12px var(--vi)}.blip.a{background:var(--am);box-shadow:0 0 12px var(--am)}
.blip small{position:absolute;left:14px;top:-6px;white-space:nowrap;font:11px "JetBrains Mono",ui-monospace,monospace;color:#cfe9ff;opacity:.85}
@keyframes ping{0%,100%{opacity:.35;transform:scale(.8)}10%{opacity:1;transform:scale(1.2)}40%{opacity:.8;transform:scale(1)}}
.radar .center{position:absolute;left:50%;top:50%;width:62px;margin:-36px 0 0 -31px;filter:drop-shadow(0 0 10px rgba(34,225,255,.6))}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
/* products */
.grid{display:grid;gap:20px}.g3{grid-template-columns:repeat(3,1fr)}.g2{grid-template-columns:repeat(2,1fr)}
@media(max-width:920px){.g3{grid-template-columns:1fr 1fr}}@media(max-width:620px){.g3,.g2{grid-template-columns:1fr}}
.prod{padding:26px;display:flex;flex-direction:column;gap:14px;min-height:320px;transition:transform .2s,border-color .2s,box-shadow .2s;color:var(--txt)}
.prod:hover{transform:translateY(-4px);border-color:var(--line2);box-shadow:0 18px 50px rgba(0,0,0,.45),0 0 0 1px rgba(34,225,255,.15);color:var(--txt)}
.prod .ic{width:64px;height:64px;border-radius:16px;box-shadow:0 8px 26px rgba(0,120,215,.45)}
.prod p{color:var(--mut);margin:0;flex:1}.prod .more{font-weight:700;color:var(--cy)}
.tags{display:flex;gap:6px;flex-wrap:wrap}.tag{font:600 11px/1 "JetBrains Mono",ui-monospace,monospace;letter-spacing:.06em;padding:6px 8px;border-radius:5px;border:1px solid var(--line2);color:#c9d6f5}
.tag.live{border-color:rgba(74,222,128,.55);color:#86efac}.tag.live:before{content:"● ";color:#4ade80}
.prod.soon{border-style:dashed;align-items:flex-start}.prod.soon .ic{display:flex;align-items:center;justify-content:center;background:rgba(120,170,255,.06);box-shadow:none;border:1px dashed var(--line2);font-size:26px}
/* feature rows (product page) */
.feat{display:grid;grid-template-columns:1fr 1.15fr;gap:54px;align-items:center;padding:56px 0;border-top:1px solid var(--line)}
.feat:nth-of-type(even){grid-template-columns:1.15fr 1fr}.feat:nth-of-type(even) .txt{order:2}
@media(max-width:920px){.feat,.feat:nth-of-type(even){grid-template-columns:1fr;gap:26px}.feat:nth-of-type(even) .txt{order:0}}
.feat ul{list-style:none;padding:0;margin:18px 0 0;display:grid;gap:10px}.feat li{display:flex;gap:10px;color:#c6cfe8}.feat li:before{content:"▹";color:var(--cy);flex:none}
.badge{display:inline-block;font:700 11px/1 "JetBrains Mono",ui-monospace,monospace;padding:5px 7px;border-radius:4px;background:rgba(251,191,36,.15);color:var(--am);border:1px solid rgba(251,191,36,.4);margin-left:8px;vertical-align:3px}
.badge.new{background:rgba(34,225,255,.12);color:var(--cy);border-color:rgba(34,225,255,.45)}
/* screenshots: device-like frame; missing shots show a clean placeholder */
.shot{position:relative;border-radius:12px;overflow:hidden;border:1px solid var(--line2);background:linear-gradient(135deg,#0a1230,#170d33);box-shadow:0 24px 60px rgba(0,0,0,.55),0 0 0 1px rgba(34,225,255,.08);aspect-ratio:16/10;cursor:zoom-in}
.shot.phone{aspect-ratio:9/19.5;max-width:300px;margin:0 auto;border-radius:34px;border:6px solid #1b2440}
.shot img{width:100%;height:100%;object-fit:cover;object-position:top}
.shot .bar{position:absolute;top:0;left:0;right:0;height:26px;background:rgba(4,6,14,.75);display:flex;align-items:center;gap:6px;padding:0 10px;z-index:1}.shot .bar i{width:9px;height:9px;border-radius:50%;background:#334}
.shot.phone .bar{display:none}.shot:not(.phone) img{padding-top:26px;background:#060b1a}
.shot .ph{position:absolute;inset:0;display:none;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#9fb0d8;font:13px "JetBrains Mono",ui-monospace,monospace;text-align:center;padding:20px}
.shot .ph b{font:600 15px "Inter","Segoe UI",sans-serif;color:#dfe7ff}.shot .ph .em{font-size:38px}
.shot.missing{cursor:default}.shot.missing img{display:none}.shot.missing .ph{display:flex}
.shot figcaption{position:absolute;left:0;right:0;bottom:0;padding:10px 14px;background:linear-gradient(transparent,rgba(4,6,14,.9));font-size:13px;color:#dbe4ff}
.gallery{grid-template-columns:repeat(3,1fr)}@media(max-width:920px){.gallery{grid-template-columns:1fr 1fr}}@media(max-width:560px){.gallery{grid-template-columns:1fr}}
/* lightbox */
.lb{position:fixed;inset:0;z-index:100;background:rgba(2,4,10,.92);display:none;align-items:center;justify-content:center;padding:30px;cursor:zoom-out}.lb.on{display:flex}
.lb img{max-width:min(1400px,96vw);max-height:88vh;border-radius:10px;border:1px solid var(--line2);box-shadow:0 30px 90px rgba(0,0,0,.7)}
.lb p{position:absolute;bottom:18px;left:0;right:0;text-align:center;color:#cbd5f0;font-size:14px}
/* pricing */
.price{padding:30px}.price .amt{font-size:42px;font-weight:800}.price .amt small{font-size:16px;color:var(--mut);font-weight:500}
.price ul{list-style:none;padding:0;margin:18px 0 24px;display:grid;gap:9px}.price li{display:flex;gap:10px;color:#c6cfe8}.price li:before{content:"✓";color:#4ade80;font-weight:800}
.price.pro{border-color:rgba(168,85,247,.5);box-shadow:0 0 0 1px rgba(168,85,247,.25),0 20px 60px rgba(168,85,247,.15)}
/* misc */
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:var(--r);overflow:hidden}
.stats div{background:rgba(7,11,26,.85);padding:22px}.stats b{display:block;font:800 28px "Orbitron",sans-serif;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.stats span{color:var(--mut);font-size:14px}
@media(max-width:720px){.stats{grid-template-columns:1fr 1fr}}
.contact{padding:34px;display:grid;grid-template-columns:1fr auto;gap:20px;align-items:center}@media(max-width:720px){.contact{grid-template-columns:1fr}}
.mail{font:600 17px "JetBrains Mono",ui-monospace,monospace}
footer{border-top:1px solid var(--line);padding:34px 0 46px;color:var(--mut);font-size:14px}footer .wrap{display:flex;gap:20px;flex-wrap:wrap;align-items:center}footer a{color:#aab6d8}footer .sp{flex:1}
.reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}.reveal.in{opacity:1;transform:none}
.phero{padding:90px 0 40px;position:relative}
.phero .bg{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(4,6,14,.2),var(--bg) 92%),url(../img/sky-hero.jpg) center/cover;opacity:.55;mask-image:linear-gradient(#000 55%,transparent)}
.appid{display:flex;align-items:center;gap:18px;margin-bottom:22px}.appid img{width:84px;height:84px;border-radius:20px;box-shadow:0 12px 34px rgba(0,120,215,.5)}
.subnav{position:sticky;top:64px;z-index:40;background:rgba(4,6,14,.75);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
.subnav .wrap{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none;height:48px;align-items:center}.subnav a{white-space:nowrap;color:#aab6d8;font-size:14px;padding:6px 12px;border-radius:6px}.subnav a:hover,.subnav a.on{color:#fff;background:rgba(120,170,255,.1)}
