*{margin:0;padding:0;box-sizing:border-box}

html{scroll-behavior:smooth}

body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--sans);
  line-height:1.7;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
  cursor:auto;
}
body.has-custom-cursor{ cursor:none; }

@media(max-width:900px){body{cursor:auto}}

::selection{background:var(--cyan);color:#050507}

.wrap{
  max-width:1180px;margin:0 auto;padding:0 28px;
  position:relative;z-index:2;
}

h2{
  font-size:clamp(26px,3.6vw,40px);
  font-weight:800;letter-spacing:-.035em;
  line-height:1.22;margin-bottom:14px;
}

.grad{
  background:linear-gradient(100deg,var(--cyan) 0%,var(--violet) 50%,var(--magenta) 100%);
  -webkit-background-clip:text;background-clip:text;color:transparent;
}

.btn{
  display:inline-flex;align-items:center;gap:9px;
  padding:13px 26px;border-radius:11px;
  font-size:14.5px;font-weight:600;
  text-decoration:none;transition:.3s var(--ease);
  border:1px solid transparent;font-family:inherit;cursor:none;
}
.btn-p{
  background:linear-gradient(135deg,var(--cyan),var(--violet));
  color:#050507;
  box-shadow:0 8px 34px -10px rgba(0,245,196,.6);
}
.btn-p:hover{transform:translateY(-3px);box-shadow:0 14px 44px -10px rgba(0,245,196,.8)}
.btn-g{border-color:var(--line-hi);color:var(--text);background:rgba(255,255,255,.02)}
.btn-g:hover{border-color:var(--cyan);color:var(--cyan);transform:translateY(-3px)}
.btn .arw{transition:transform .3s var(--ease)}
.btn:hover .arw{transform:translateX(4px)}