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

html ,body {
  background-color: var(--bg-main);
  color: var(--text-primary);
  font-family: var(--font-main);
  line-height: 1.6;
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
  width: 100vw;
}

a { text-decoration: none; color: inherit; }
.text-center { text-align: center; }
.w-full { width: 100%; }

.container {
  max-width: 1100px;
  margin: 0 auto;
  padding: 0 24px;
}

.section { padding: 100px 0; }
.bg-surface { background-color: var(--bg-surface); }

/* Glassmorphism Utility */
.glass-panel {
  background: var(--bg-glass);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  border: 1px solid var(--border-glass);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-glass);
}

/* Typography */
.section-title { font-size: 2.5rem; font-weight: 600; margin-bottom: 16px; letter-spacing: -0.02em; }
.section-sub { color: var(--text-secondary); font-size: 1.1rem; max-width: 600px; margin: 0 auto 40px; }
.gradient-text {
  background: linear-gradient(135deg, var(--accent-teal), var(--accent-blue));
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* Buttons */
.btn-primary {
  display: inline-block;
  background: var(--accent-teal);
  color: #000;
  padding: 12px 28px;
  border-radius: var(--radius-pill);
  font-weight: 600;
  transition: transform 0.2s, opacity 0.2s;
  border: none;
  cursor: pointer;
}
.btn-primary:hover { opacity: 0.9; transform: translateY(-2px); }
