/* Minimal, fast, Ultrahuman-inspired (but distinct) styling.
   No frameworks, no blocking JS, <4kb gzipped. */
:root{
  --bg:#0b0b0c;
  --bg-soft:#141416;
  --fg:#f5f5f5;
  --muted:#a1a1aa;
  --accent:#75f97f;     /* green — distinct from Ultrahuman's brand */
  --accent-fg:#0b0b0c;
  --border:#222226;
  --radius:14px;
  --max:1120px;
  --font: -apple-system,BlinkMacSystemFont,"Inter","Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:var(--bg);color:var(--fg);font-family:var(--font);-webkit-font-smoothing:antialiased;line-height:1.6}
img{max-width:100%;height:auto;display:block}
a{color:var(--accent);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:var(--max);margin:0 auto;padding:0 20px}

/* Nav */
.nav{position:sticky;top:0;z-index:50;background:rgba(11,11,12,.85);backdrop-filter:blur(10px);border-bottom:1px solid var(--border)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;max-width:var(--max);margin:0 auto}
.logo{font-weight:800;letter-spacing:-.02em;font-size:20px;color:var(--fg)}
.logo span{color:var(--accent)}
.nav ul{list-style:none;display:flex;gap:22px;margin:0;padding:0}
.nav ul a{color:var(--fg);font-size:14px;font-weight:500}
.nav ul a:hover{color:var(--accent);text-decoration:none}
.nav .cta{background:var(--accent);color:var(--accent-fg);padding:8px 14px;border-radius:999px;font-weight:600;font-size:14px}
.nav .cta:hover{text-decoration:none;opacity:.9}

/* Hero */
.hero{padding:72px 0 48px;text-align:center;border-bottom:1px solid var(--border)}
.hero h1{font-size:clamp(32px,5vw,56px);line-height:1.1;letter-spacing:-.03em;margin:0 0 18px;font-weight:800}
.hero p.lead{font-size:18px;color:var(--muted);max-width:680px;margin:0 auto 28px}
.code-box{display:inline-flex;align-items:center;gap:12px;background:var(--bg-soft);border:1px dashed var(--accent);border-radius:var(--radius);padding:14px 22px;margin:10px 0 22px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:18px}
.code-box strong{color:var(--accent);letter-spacing:.1em}
.btn{display:inline-block;background:var(--accent);color:var(--accent-fg);padding:16px 28px;border-radius:999px;font-weight:700;font-size:16px;box-shadow: 0 0 15px transparent;transition: all .25s ease;}
.btn:hover{transform:translateY(-1px);text-decoration:none;box-shadow:0 0 15px var(--accent);}
.btn.secondary{background:transparent;color:var(--fg);border:1px solid var(--border)}
.small{font-size:13px;color:var(--muted);margin-top:14px}

/* Sections */
section{padding:64px 0;border-bottom:1px solid var(--border)}
section h2{font-size:clamp(26px,3.5vw,38px);letter-spacing:-.02em;margin:0 0 14px;font-weight:800}
section p{color:#d4d4d8}
.grid{display:grid;gap:22px;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));margin-top:28px}
.card{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:22px}
.card h3{margin:0 0 8px;font-size:18px}
.card p{color:var(--muted);font-size:15px;margin:0}

/* Table */
table{width:100%;border-collapse:collapse;margin:24px 0;font-size:15px}
th,td{text-align:left;padding:14px;border-bottom:1px solid var(--border)}
th{color:var(--muted);font-weight:600;font-size:13px;text-transform:uppercase;letter-spacing:.05em}

td:nth-child(4n) {color: var(--accent);font-weight: 800;text-shadow: 0 0 10px var(--accent);background-color: rgba(117, 249, 127, 0.05);}
th:nth-child(n+2), td:nth-child(n+2) {text-align: center;}

/* FAQ */
details{background:var(--bg-soft);border:1px solid var(--border);border-radius:var(--radius);padding:18px 22px;margin-bottom:12px}
details summary{cursor:pointer;font-weight:600;font-size:17px;list-style:none}
details[open] summary{margin-bottom:10px}
details p{color:#d4d4d8;margin:6px 0 0}

/* Prose */
.prose{max-width:760px;margin:0 auto}
.prose h2{margin-top:48px}
.prose h3{margin-top:32px;font-size:20px}
.prose ul{padding-left:20px}
.prose li{margin:6px 0;color:#d4d4d8}
.prose blockquote{border-left:3px solid var(--accent);padding:6px 18px;margin:24px 0;color:var(--muted);font-style:italic}

/* Footer */
footer{padding:40px 0;color:var(--muted);font-size:14px;text-align:center}
footer a{color:var(--muted)}
.disclosure{max-width:720px;margin:16px auto 0;font-size:12px;opacity:.8}

/* ── Colormesh backgrounds ─────────────────────────────────────────────── */
/* Mimics the soft radial-gradient colour orbs used throughout the
   Ultrahuman app UI. Each variant is a unique combination of blended
   radial gradients sitting on top of the base dark bg. */

.mesh-green {
  position: relative;
  overflow: hidden;
}
.mesh-green::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 100% at 15% 20%, rgb(117 249 127 / 29%) 0%, transparent 65%),
    radial-gradient(ellipse 50% 100% at 85% 80%, rgb(50 110 220 / 13%) 0%, transparent 60%),
    radial-gradient(ellipse 40% 40% at 50% 50%, rgb(255 100 245 / 15%) 0%, transparent 70%);
  z-index: 0;
}
.mesh-green > * { position: relative; z-index: 1; }

.mesh-amber {
  position: relative;
  overflow: hidden;
}
.mesh-amber::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 65% 55% at 80% 15%,  rgba(255,180,50,.20)  0%, transparent 60%),
    radial-gradient(ellipse 55% 50% at 10% 85%,  rgba(200,100,30,.14)  0%, transparent 60%),
    radial-gradient(ellipse 40% 35% at 45% 45%,  rgba(240,140,40,.08)  0%, transparent 65%);
  z-index: 0;
}
.mesh-amber > * { position: relative; z-index: 1; }

.mesh-dual {
  position: relative;
  overflow: hidden;
}
.mesh-dual::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 60% 50% at 5%  25%,  rgba(117,249,127,.16) 0%, transparent 60%),
    radial-gradient(ellipse 50% 55% at 90% 70%,  rgba(80,160,255,.12)  0%, transparent 55%),
    radial-gradient(ellipse 35% 40% at 55% 90%,  rgba(200,80,255,.07)  0%, transparent 60%);
  z-index: 0;
}
.mesh-dual > * { position: relative; z-index: 1; }

.mesh-blue {
  position: relative;
  overflow: hidden;
}
.mesh-blue::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(ellipse 70% 100% at 20% 10%,  rgba(80,160,255,.15)  0%, transparent 60%),
    radial-gradient(ellipse 50% 100% at 80% 85%,  rgba(40,220,200,.12)  0%, transparent 55%),
    radial-gradient(ellipse 38% 100% at 50% 50%,  rgba(100,100,255,.07) 0%, transparent 65%);
  z-index: 0;
}
.mesh-blue > * { position: relative; z-index: 1; }

/* ── End Colormesh ─────────────────────────────────────────────────────── */

/* ── Mobile hamburger nav ──────────────────────────────────────────────── */
.nav-toggle{
  display:none;
  background:none;
  border:none;
  cursor:pointer;
  padding:6px;
  color:var(--fg);
  flex-direction:column;
  gap:5px;
}
.nav-toggle span{
  display:block;
  width:22px;
  height:2px;
  background:var(--fg);
  border-radius:2px;
  transition:transform .2s ease, opacity .2s ease;
}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* Responsive */
@media(max-width:640px){
  .nav-toggle{display:flex}
  .nav ul{
    display:none;
    position:absolute;
    top:100%;
    left:0;right:0;
    background:var(--bg);
    border-bottom:1px solid var(--border);
    flex-direction:column;
    gap:0;
    padding:8px 0;
  }
  .nav ul.open{display:flex}
  .nav ul li a{display:block;padding:12px 20px;font-size:16px}
  .hero{padding:54px 0 36px}
  section{padding:48px 0}
}
