/* styles.css — optional extraction */

:root {
  --blue: #259cd9;
  --ink: #0b0b0f;
}

/* Smoother type rendering */
html { -webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale; }

/* Typography baseline */
body {
  font-family: 'Poppins', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  letter-spacing: 0.01em;
  line-height: 1.7;
}
p, li {
  letter-spacing: 0.01em;
}
h1, h2, h3, h4, h5, h6 {
  letter-spacing: 0.005em;
}

/* Lighten overall weight (Poppins can feel heavy at default Tailwind weights) */
.font-black { font-weight: 800 !important; }
.font-bold { font-weight: 600 !important; }
.font-semibold { font-weight: 500 !important; }

/* Gradient noise-ish background (lightweight, no images) */
.bg-ambient {
  background:
    radial-gradient(1200px 500px at 20% 10%, rgba(37,156,217,0.16), transparent 55%),
    radial-gradient(900px 500px at 85% 20%, rgba(37,156,217,0.12), transparent 55%),
    radial-gradient(900px 600px at 40% 85%, rgba(0,0,0,0.10), transparent 55%),
    linear-gradient(to bottom, rgba(255,255,255,1), rgba(255,255,255,1));
}

/* Subtle grid */
.bg-grid {
  background-image:
    linear-gradient(to right, rgba(11,11,15,0.05) 1px, transparent 1px),
    linear-gradient(to bottom, rgba(11,11,15,0.05) 1px, transparent 1px);
  background-size: 64px 64px;
  mask-image: radial-gradient(closest-side at 50% 35%, rgba(0,0,0,0.95), transparent 85%);
}

/* Focus rings */
.focus-ring:focus { outline: none; box-shadow: 0 0 0 4px rgba(37,156,217,0.25); }

/* Better scroll offset for anchors */
section { scroll-margin-top: 84px; }

/* Nice selection */
::selection { background: rgba(37,156,217,0.25); }

/* Gentle motion helpers */
.card-raise {
  transition: transform 200ms ease, box-shadow 200ms ease, opacity 200ms ease;
}
.card-raise:hover {
  transform: translateY(-6px);
  box-shadow: 0 18px 50px rgba(37,156,217,0.14);
}
.btn-glow {
  transition: transform 160ms ease, box-shadow 200ms ease, opacity 140ms ease, background-color 140ms ease, color 140ms ease;
}
.btn-glow:hover {
  transform: translateY(-2px);
  box-shadow: 0 14px 35px rgba(11,11,15,0.12);
}
.fade-slide {
  animation: fade-slide-in 480ms ease forwards;
}
@keyframes fade-slide-in {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: translateY(0); }
}
