/* ================================================
   BASE — Reset, Variables, Body, Grid, Orbs, Cursor
   ================================================ */

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

:root {
  --bg:           #0a0a0a;
  --bg2:          #0f0f0f;
  --primary:      #0d4a2f;
  --accent:       #22c55e;
  --accent-light: #4ade80;
  --accent-dark:  #16a34a;
  --text:         #ffffff;
  --muted:        #a1a1aa;
  --border:       rgba(255, 255, 255, 0.07);
  --glass:        rgba(255, 255, 255, 0.03);
}

html {
  scroll-behavior: smooth;
}

body {
  font-family: 'Inter', sans-serif;
  background: var(--bg);
  color: var(--text);
  overflow-x: hidden;
  cursor: none;
}

a {
  text-decoration: none;
  color: inherit;
}

/* ── Background grid overlay ── */
body::before {
  content: '';
  position: fixed;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.025) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.025) 1px, transparent 1px);
  background-size: 52px 52px;
}

/* ── Floating ambient orbs ── */
.orb {
  position: fixed;
  border-radius: 50%;
  filter: blur(90px);
  pointer-events: none;
  z-index: 0;
  animation: orb-drift 9s ease-in-out infinite;
}

.orb1 {
  width: 500px;
  height: 500px;
  top: -120px;
  right: -120px;
  background: radial-gradient(circle, rgba(13, 74, 47, 0.45) 0%, transparent 70%);
  animation-delay: 0s;
}

.orb2 {
  width: 350px;
  height: 350px;
  bottom: 15%;
  left: -80px;
  background: radial-gradient(circle, rgba(34, 197, 94, 0.12) 0%, transparent 70%);
  animation-delay: -4s;
}

.orb3 {
  width: 450px;
  height: 450px;
  top: 45%;
  left: 38%;
  background: radial-gradient(circle, rgba(13, 74, 47, 0.18) 0%, transparent 70%);
  animation-delay: -7s;
}

/* ── Custom cursor ── */
#cur {
  position: fixed;
  top: 0;
  left: 0;
  width: 18px;
  height: 18px;
  border: 2px solid var(--accent);
  border-radius: 50%;
  pointer-events: none;
  z-index: 99999;
  transform: translate(-50%, -50%);
  transition: transform 0.15s ease, border-color 0.2s ease, background 0.2s ease;
}

#cur-glow {
  position: fixed;
  top: 0;
  left: 0;
  width: 300px;
  height: 300px;
  background: radial-gradient(circle, rgba(34, 197, 94, 0.07) 0%, transparent 65%);
  border-radius: 50%;
  pointer-events: none;
  z-index: 99998;
  transform: translate(-50%, -50%);
  transition: transform 0.35s ease;
}
