:root{
  --bg:#161718;
  --panel:#1b1d1f;
  --line:rgba(255,255,255,.09);
  --text:#d7d9dc;
  --muted:#9fa4aa;
  --soft:#7f858c;
  --accent:#a84444;

  /* typography (smaller, calmer) */
  --fs-title:clamp(28px, 3.5vw, 42px);
  --fs-body:14px;
  --fs-small:12px;

  /* spacing */
  --pad-main:18px;
  --pad-section:20px;
  --gap:10px;

  /* layout */
  --max:1080px;
}

*{box-sizing:border-box}

html,body{
  margin:0;
  padding:0;
  background:#161718;
  color:var(--text);
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;
}

.shell{
  width:min(var(--max), calc(100vw - 20px));
  margin:0 auto;
  padding:16px 0 28px;
}

.topbar{
  display:flex;
  justify-content:space-between;
  font-size:var(--fs-small);
  color:var(--soft);
  margin-bottom:10px;
}

.hero{
  border:1px solid var(--line);
  border-radius:20px;
  background:var(--panel);
  padding:18px;
  margin-bottom:14px;
}

.eyebrow{
  font-size:var(--fs-small);
  letter-spacing:.18em;
  color:var(--muted);
  margin-bottom:8px;
}

h1{
  margin:0 0 8px 0;
  font-size:var(--fs-title);
  line-height:1.05;
}

.lede{
  font-size:14px;
  margin-bottom:6px;
}

.sub{
  font-size:var(--fs-body);
  color:var(--muted);
  margin-bottom:10px;
}

.actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-bottom:10px;
}

.btn{
  padding:5px 9px; background:rgba(255,255,255,.015);
  border-radius:11px;
  border:1px solid var(--line);
  font-size:12px;
}

.btn.primary{ background:transparent; border:1px solid rgba(255,255,255,.10); color:#dddfe2;
  background:var(--accent);
  color:#dddfe2;
  border:1px solid rgba(255,255,255,.10);
}

.btn.ghost{
  opacity:.78;
}

.flow,.signal{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  font-size:11px;
  color:var(--soft);
  margin-top:6px;
}

.flow span,.signal span{
  padding:3px 8px;
  border:1px solid var(--line);
  border-radius:999px; letter-spacing:.01em;
}

.grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-bottom:10px;
}

.card,.panel{
  border:1px solid var(--line);
  border-radius:16px;
  padding:14px;
  background:#1c1e20;
}

.card h2,.panel h2{
  font-size:11px;
  letter-spacing:.14em;
  color:var(--muted);
  margin-bottom:6px;
}

.card p,.panel p{
  font-size:var(--fs-body);
  color:var(--muted);
}

.mini-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:8px;
}

.mini{
  border:1px solid var(--line);
  border-radius:14px;
  padding:11px;
}

.mini h3{
  font-size:11px;
  margin-bottom:4px;
}

.mini p{
  font-size:var(--fs-small);
  color:var(--muted);
}

.system-mark{
  text-align:center;
  margin-top:10px;
  font-size:11px;
  color:var(--soft);
}

.footer-note{
  text-align:center;
  font-size:12px;
  color:var(--soft);
  margin-top:10px;
}

@media (max-width:800px){
  .grid,.mini-grid{
    grid-template-columns:1fr;
  }
}


.protocol-line{
  font-size:12px;
  color:var(--soft);
  letter-spacing:.02em;
  margin-bottom:10px;
}

.protocol-line span{
  opacity:.55;
  padding:0 8px;
}


.qball-orb{
  position:absolute;
  top:40px;
  right:40px;
  width:180px;
  height:180px;
  pointer-events:none;
  background:radial-gradient(circle at 40% 40%, rgba(255,255,255,.06), rgba(255,255,255,0) 60%);
  opacity:.25;
}
