:root{
  --bg:#0a0c08;
  --bg-raised:#13160e;
  --bg-deep:#000e04;
  --line:rgba(245,246,239,0.11);
  --line-strong:rgba(245,246,239,0.22);
  --ink:#f5f6ef;
  --ink-dim:#a4a690;
  --ink-faint:#6f7263;
  --accent:#ddff42;
  --accent-soft:#ebfd82;
  --accent-deep:#9cab75;
  --accent-ink:#0d1006;
  --measure:65ch;
  --shell: min(1180px, 100% - 3rem);
}

*{box-sizing:border-box;}
html{color-scheme:dark; scroll-behavior:smooth; scroll-padding-top:6rem;}
@media (prefers-reduced-motion:reduce){ html{scroll-behavior:auto;} }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'DM Sans', system-ui, -apple-system, sans-serif;
  -webkit-font-smoothing:antialiased;
  line-height:1.5;
}
img{max-width:100%;display:block;}

h1,h2,h3{
  font-family:'Archivo','Arial Narrow',sans-serif;
  font-stretch:expanded;
  font-weight:800;
  line-height:1.04;
  letter-spacing:-0.01em;
  margin:0;
  text-wrap:balance;
}

p{margin:0;}

a{color:inherit;}

.logo{
  display:inline-flex;
  align-items:center;
  text-decoration:none;
  color:var(--ink);
}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:0.5rem;
  border-radius:999px;
  padding:0.85rem 1.6rem;
  font-family:'DM Sans',sans-serif;
  font-weight:700;
  font-size:0.95rem;
  text-decoration:none;
  border:1.5px solid transparent;
  cursor:pointer;
  transition:transform .18s ease, border-color .18s ease, background .18s ease, color .18s ease;
  white-space:nowrap;
}
.btn-primary{
  background:var(--accent);
  color:var(--accent-ink);
}
.btn-primary:hover{background:var(--accent-soft); transform:translateY(-1px);}
.btn-outline{
  border-color:var(--line-strong);
  color:var(--ink);
  background:transparent;
}
.btn-outline:hover{border-color:var(--accent); color:var(--accent); transform:translateY(-1px);}
