/* ─── RESET ─────────────────────────────────────────────── */
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { scroll-behavior: smooth; }

/* ─── TOKENS ─────────────────────────────────────────────── */
:root {
  --bg:       #09090b;
  --s1:       #111114;
  --s2:       #18181d;
  --s3:       #222228;
  --border:   rgba(255,255,255,0.055);
  --border2:  rgba(196,181,253,0.14);
  --lav:      #C4B5FD;
  --lav2:     #A78BFA;
  --purple:   #7C3AED;
  --white:    #FAFAF9;
  --soft:     #A1A1AA;
  --muted:    #52525B;
  --beige:    #E8E0D5;
  --r:        14px;
  --r2:       20px;
}

/* ─── BASE ───────────────────────────────────────────────── */
body {
  background: var(--bg);
  color: var(--white);
  font-family: 'Plus Jakarta Sans', sans-serif;
  font-size: 16px;
  line-height: 1.6;
  min-height: 100vh;
  overflow-x: hidden;
  cursor: none;
}

/* ─── CUSTOM CURSOR ──────────────────────────────────────── */
#cur      { width:8px;height:8px;background:var(--lav);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9999;will-change:transform; }
#cur-ring { width:30px;height:30px;border:1px solid rgba(196,181,253,.3);border-radius:50%;position:fixed;top:0;left:0;pointer-events:none;z-index:9998;transition:width .2s,height .2s,border-color .2s; }
body.hov #cur-ring { width:44px;height:44px;border-color:rgba(196,181,253,.55); }
@media(max-width:768px){ body{cursor:auto} #cur,#cur-ring{display:none} }

/* ─── NOISE ──────────────────────────────────────────────── */
.noise {
  position:fixed;inset:0;pointer-events:none;z-index:1;opacity:.022;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
  background-size:180px 180px;
}

/* ─── NAV ────────────────────────────────────────────────── */
nav {
  position:fixed;top:0;left:0;right:0;z-index:300;
  height:66px;
  display:flex;align-items:center;justify-content:space-between;
  padding:0 48px;
  background:rgba(9,9,11,.82);
  backdrop-filter:blur(24px) saturate(1.5);
  border-bottom:1px solid var(--border);
}
.nav-logo img {
  height:32px;
  mix-blend-mode:screen;
  filter:brightness(1.2) contrast(1.05);
}
.nav-links { display:flex;align-items:center;gap:6px; }
.nav-links a {
  font-size:12px;font-weight:500;letter-spacing:.05em;
  color:var(--soft);text-decoration:none;
  padding:7px 14px;border-radius:100px;
  transition:color .2s,background .2s;
}
.nav-links a:hover { color:var(--white);background:rgba(255,255,255,.05); }
.nav-links a.active { color:var(--lav); }
.nav-cta {
  font-size:12px;font-weight:600;letter-spacing:.04em;
  color:var(--bg);background:var(--lav);
  padding:8px 18px;border-radius:100px;
  text-decoration:none;
  transition:background .2s,transform .15s;
}
.nav-cta:hover { background:var(--lav2);transform:translateY(-1px); }

/* ─── FOOTER ─────────────────────────────────────────────── */
footer {
  position:relative;z-index:2;
  border-top:1px solid var(--border);
  padding:40px 48px;
  display:flex;align-items:center;justify-content:space-between;
  flex-wrap:wrap;gap:20px;
}
.foot-logo img { height:26px;mix-blend-mode:screen;filter:brightness(1.2); }
.foot-links { display:flex;gap:20px; }
.foot-links a { font-size:12px;color:var(--muted);text-decoration:none;transition:color .2s; }
.foot-links a:hover { color:var(--lav); }
.foot-copy { font-size:11px;color:var(--muted); }

/* ─── SHARED SECTION WRAPPER ─────────────────────────────── */
.wrap { max-width:1240px;margin:0 auto;padding:0 48px; }
@media(max-width:768px){ nav{padding:0 20px} footer{padding:32px 20px} .wrap{padding:0 20px} }

/* ─── UTIL ───────────────────────────────────────────────── */
.pill-tag {
  display:inline-flex;align-items:center;gap:7px;
  font-size:10px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;
  color:var(--lav);border:1px solid var(--border2);
  background:rgba(196,181,253,.08);
  padding:5px 13px;border-radius:100px;
}
.pill-dot { width:5px;height:5px;background:var(--lav);border-radius:50%;animation:blink 2s ease-in-out infinite; }
@keyframes blink{0%,100%{opacity:1}50%{opacity:.25}}
@keyframes up{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:none}}
@keyframes fadeIn{from{opacity:0}to{opacity:1}}

.section-label {
  font-size:10px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;
  color:var(--lav);margin-bottom:14px;
}
.section-title {
  font-family:'Bebas Neue',sans-serif;
  font-size:clamp(40px,5vw,64px);
  line-height:.95;letter-spacing:.01em;
  color:var(--white);margin-bottom:16px;
}
.section-sub {
  font-size:15px;font-weight:300;color:var(--soft);
  line-height:1.75;max-width:560px;
}

.btn-primary {
  font-size:13px;font-weight:600;letter-spacing:.04em;
  color:var(--bg);background:var(--lav);
  padding:13px 28px;border-radius:100px;
  text-decoration:none;
  transition:background .2s,transform .15s;
  display:inline-flex;
}
.btn-primary:hover{background:var(--lav2);transform:translateY(-2px)}
.btn-outline {
  font-size:13px;font-weight:500;letter-spacing:.04em;
  color:var(--soft);
  border:1px solid var(--border);
  padding:13px 28px;border-radius:100px;
  text-decoration:none;
  transition:border-color .2s,color .2s,transform .15s;
  display:inline-flex;
}
.btn-outline:hover{border-color:var(--lav);color:var(--lav);transform:translateY(-2px)}

/* rule */
.rule { height:1px;background:linear-gradient(90deg,transparent,rgba(196,181,253,.18) 40%,rgba(124,58,237,.3) 50%,rgba(196,181,253,.18) 60%,transparent);margin:0; }
