/* VantaPoint — secure, minimal, dark theme */
:root{
  --bg:#0b0f14;
  --panel:#0e141b;
  --grid:#101720;
  --fg:#e7edf6;
  --muted:#9fb3c8;
  --accent:#4cc9f0;
  --card:#0f1620;
  --card-border:rgba(255,255,255,.08);
  --shadow:0 10px 30px rgba(0,0,0,.45)
}
*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial;
  color:var(--fg);
  background: radial-gradient(900px 600px at -10% -20%, #112132, transparent 60%),
              linear-gradient(180deg, var(--bg), #0b1219 60%);
  overflow-x:hidden;
}
a{color:var(--accent);text-decoration:none}
.section{padding:4rem 1rem;max-width:1100px;margin:0 auto}
.site-header{
  position:sticky;top:0;z-index:10;
  display:flex;align-items:center;justify-content:space-between;
  padding:.9rem 1rem;background:rgba(0,0,0,.4);backdrop-filter: blur(6px); border-bottom:1px solid var(--card-border)
}
.brand{display:flex;gap:.6rem;align-items:center;font-weight:700;letter-spacing:.2px}
.site-header nav a{margin-left:1rem;opacity:.9}
.hero{padding:7rem 1rem 4rem;max-width:1100px;margin:0 auto;text-align:center}
.hero h1{font-size: clamp(2rem, 4vw + .5rem, 3.2rem);margin:.2rem 0 1rem}
.hero p{max-width:800px;margin:0 auto 1.5rem;opacity:.95;line-height:1.5}
.accent{color:var(--accent)}
.btn{display:inline-block;padding:.85rem 1.15rem;border-radius:999px;border:1px solid var(--card-border);box-shadow:var(--shadow)}
.btn.primary{background:linear-gradient(180deg,#1d3a52,#13283a);color:white;border-color:transparent}
.btn.ghost{background:transparent}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-top:1.5rem}
.card{background:var(--card);border:1px solid var(--card-border);border-radius:16px;padding:1rem;box-shadow:var(--shadow)}
.pill-list{display:flex;gap:.6rem;flex-wrap:wrap;list-style:none;padding:0;margin:1rem 0 0}
.pill-list li{padding:.55rem .9rem;border:1px solid var(--card-border);border-radius:999px;background:rgba(255,255,255,.03)}
.site-footer{padding:2rem 1rem;text-align:center;opacity:.8}
.tiny{opacity:.7;font-size:.85rem}

/* background grid */
.bg-grid{
  position:fixed; inset:0; z-index:-1;
  background-image: linear-gradient(to right, rgba(255,255,255,.05) 1px, transparent 1px),
                    linear-gradient(to bottom, rgba(255,255,255,.05) 1px, transparent 1px);
  background-size: 48px 48px, 48px 48px;
  mask-image: radial-gradient(700px 500px at 10% 10%, #000 60%, transparent);
  opacity:.35;
}


/* Accessibility: skip link */
.skip{position:absolute;left:-9999px;top:auto;width:1px;height:1px;overflow:hidden}
.skip:focus{left:1rem;top:1rem;width:auto;height:auto;z-index:9999;background:#000;color:#fff;padding:.5rem .75rem;border-radius:8px}
.footer-links{display:flex;gap:1rem;justify-content:center;margin-top:.75rem;opacity:.9}
.footer-links a{opacity:1}


/* Signup form */
.signup-form{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;margin-top:1rem}
.signup-form input[type="email"]{min-width:260px;padding:.8rem 1rem;border-radius:12px;border:1px solid var(--card-border);background:rgba(255,255,255,.06);color:var(--fg)}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
