*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
html { font-size: 16px; scroll-behavior: smooth; }
body {
  font-family: var(--font-primary);
  color: var(--text-main);
  background-color: var(--bg-light);
  line-height: var(--lh-body);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
img { max-width: 100%; height: auto; display: block; border-radius: var(--radius-sm); }
a { text-decoration: none; color: inherit; transition: var(--transition); }
ul, ol { list-style: none; }
button { border: none; cursor: pointer; background: none; font-family: inherit; }

h1, h2, h3, h4, h5, h6 {
  font-weight: var(--weight-bold);
  line-height: var(--lh-heading);
  color: var(--text-main);
}
p { color: var(--text-muted); }

/* Local Fonts (Copied from app-website for security) */
@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: url('../fonts/intel-400.ttf') format('truetype');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url('../fonts/intel-500.ttf') format('truetype');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url('../fonts/intel-600.ttf') format('truetype');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 700;
  font-display: swap;
  src: url('../fonts/intel-700.ttf') format('truetype');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 800;
  font-display: swap;
  src: url('../fonts/intel-800.ttf') format('truetype');
}

@font-face {
  font-family: 'Inter';
  font-style: normal;
  font-weight: 900;
  font-display: swap;
  src: url('../fonts/intel-900.ttf') format('truetype');
}

/* Container */
.container {
  width: 100%;
  max-width: var(--container-max);
  margin: 0 auto;
  padding: 0 var(--space-6);
}

/* Typography Utilities */
.text-center { text-align: center; }
.section-title { font-size: var(--text-section); font-weight: var(--weight-bold); margin-bottom: var(--space-4); }
.section-subtitle { font-size: var(--text-sub); color: var(--text-muted); margin-bottom: var(--space-12); max-width: 700px; margin-inline: auto; }

/* Gradient Text */
.text-gradient {
  background: var(--primary-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}
