:root{
  --bg:#0b0d12;
  --bg-soft:#121621;
  --text:#c0c8e0;
  --muted:#a7b0c4;
  --primary:#5bb0ff;
  --accent:#4de0c9;
  --card:#111726;
  --shadow:0 6px 30px rgba(0,0,0,.25);
  --radius:14px;
  --maxw:1100px;
}

*{box-sizing:border-box}
html{height:100%}
body{
  margin:0;
  font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,"Helvetica Neue",Arial;
  color:var(--text);
  background:linear-gradient(180deg,var(--bg) 0%, #0f1320 100%);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  min-height:100vh;
  font-size:16px;
  line-height:1.6;
}

a{color:var(--primary); text-decoration:none}
a:hover{opacity:.9}

.wrap{max-width:var(--maxw); margin:0 auto; padding:0 20px}

header{
  position:sticky;
  top:0;
  background:rgba(11,13,18,.85);
  backdrop-filter:blur(10px);
  border-bottom:1px solid rgba(255,255,255,.05);
  z-index:10;
}

.nav{display:flex; align-items:center; justify-content:space-between; height:64px}
.nav .menu-toggle{
  display:none;
  background:none;
  border:none;
  color:var(--text);
  font-size:2rem;
  cursor:pointer;
}

.brand{
  display:inline-flex;
  align-items:center;
  gap:12px;
  font-weight:800;
  letter-spacing:.2px;
  line-height:1;
  white-space:nowrap;
}
.brand-mark{width:2em; height:2em; min-width:36px; color:var(--text); flex:0 0 auto}
.brand-name{font-size:clamp(16px, 1.4rem, 20px); letter-spacing:.3px}

.nav a{color:var(--text); opacity:.85; margin-left:18px}
.nav a.cta{padding:.55rem .9rem; border-radius:10px; background:linear-gradient(135deg,var(--primary),var(--accent)); color:#06101a; font-weight:700}

footer{padding:40px 0; color:var(--muted); border-top:1px solid rgba(255,255,255,.08)}
small a{color:var(--muted); text-decoration:underline}

@media (hover:hover){
  .brand:hover .brand-mark circle{transition:transform .25s ease; transform:translateY(-1px)}
}

@media (max-width:800px){
  .nav nav{
    display:none;
    position:absolute;
    top:64px;
    left:0;
    width:100vw;
    background:var(--bg);
    flex-direction:column;
    align-items:flex-start;
    padding:20px 0 10px 0;
    z-index:100;
  }
  .nav nav.open{display:flex}
  .nav .menu-toggle{display:block}
  .nav a{margin:12px 20px; font-size:1.1rem}
}

@media (max-width:560px){
  .brand-name{font-size:16px}
  .brand-mark{width:1.2em; height:1.2em; min-width:20px}
}

:focus-visible{
  outline:3px solid var(--accent);
  outline-offset:3px;
}
