/* Impulsive Software — site styles */
:root{
  --ink:#0B1020;        /* page background */
  --panel:#121933;      /* raised surfaces */
  --line:#232C4D;       /* hairlines */
  --volt:#7C5CFF;       /* electric violet accent */
  --spark:#38D6FF;      /* cyan spark */
  --text:#F2F4FA;       /* warm white */
  --dim:#8B93A7;        /* muted slate */
  --maxw:880px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{
  background:var(--ink);color:var(--text);
  font:16px/1.65 "Inter",-apple-system,"Segoe UI",Roboto,sans-serif;
  -webkit-font-smoothing:antialiased;
}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}

/* header / nav */
header.site{border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;gap:28px;padding:20px 0}
.brand{font-family:"Sora",sans-serif;font-weight:700;font-size:19px;letter-spacing:.2px;
  color:var(--text);text-decoration:none;display:flex;align-items:center;gap:10px}
.brand .bolt{color:var(--volt)}
.nav nav{margin-left:auto;display:flex;gap:22px}
.nav a.link{color:var(--dim);text-decoration:none;font-size:14.5px}
.nav a.link:hover,.nav a.link:focus{color:var(--text)}
.nav a.link[aria-current="page"]{color:var(--spark)}

/* impulse waveform divider */
.impulse{display:block;width:100%;height:36px;margin:8px 0}
.impulse path{stroke:var(--volt);stroke-width:2;fill:none;opacity:.9}
.impulse .base{stroke:var(--line);opacity:1}

/* hero */
.hero{padding:72px 0 40px}
.eyebrow{font-family:"JetBrains Mono",monospace;font-size:12.5px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--spark)}
h1{font-family:"Sora",sans-serif;font-weight:700;font-size:clamp(34px,6vw,54px);
  line-height:1.08;margin:14px 0 18px;letter-spacing:-.5px}
h1 .volt{color:var(--volt)}
.lede{color:var(--dim);font-size:18px;max-width:56ch}

/* sections */
section{padding:44px 0}
h2{font-family:"Sora",sans-serif;font-weight:600;font-size:26px;margin-bottom:8px}
.sub{color:var(--dim);margin-bottom:26px}
h3{font-family:"Sora",sans-serif;font-weight:600;font-size:18px;margin:26px 0 8px}
p{margin:10px 0}
a{color:var(--spark)}
a:focus-visible{outline:2px solid var(--volt);outline-offset:3px;border-radius:2px}
ul{margin:10px 0 10px 22px}
li{margin:6px 0}

/* app card */
.card{background:var(--panel);border:1px solid var(--line);border-radius:14px;
  padding:26px 28px;display:flex;gap:22px;align-items:flex-start;flex-wrap:wrap}
.card .tag{font-family:"JetBrains Mono",monospace;font-size:11.5px;letter-spacing:.12em;
  text-transform:uppercase;color:var(--ink);background:var(--spark);
  border-radius:5px;padding:3px 8px;display:inline-block;margin-bottom:10px}
.card h3{margin:0 0 6px;font-size:21px}
.card p{color:var(--dim)}
.card .body{flex:1;min-width:260px}
.soon{border-style:dashed;opacity:.85}
.soon .tag{background:var(--volt);color:var(--text)}

/* policy page */
.policy h2{margin-top:38px;font-size:22px}
.policy .meta{font-family:"JetBrains Mono",monospace;font-size:12.5px;color:var(--dim);margin-top:6px}
.notice{background:var(--panel);border-left:3px solid var(--volt);border-radius:8px;
  padding:14px 18px;margin:20px 0;color:var(--text)}
.policy table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px}
.policy th{color:var(--spark);text-align:left;font-weight:600;padding:8px 10px;border-bottom:1px solid var(--line)}
.policy td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top;color:var(--text)}
.policy td:first-child{white-space:nowrap;color:var(--dim)}

/* footer */
footer.site{border-top:1px solid var(--line);margin-top:56px;padding:28px 0 40px;
  color:var(--dim);font-size:13.5px}
footer .cols{display:flex;gap:24px;flex-wrap:wrap;justify-content:space-between}
footer a{color:var(--dim)}
footer a:hover{color:var(--text)}

@media (max-width:560px){
  .nav{flex-wrap:wrap;gap:14px}
  .nav nav{margin-left:0;width:100%;gap:16px}
  .hero{padding:52px 0 30px}
}
